Super simple and fast to use audio recorder, developed for my practice space for my band Naked Soldier Runs on Mac (Linux in the future too, happy for every contribution!) using FFmpeg. The goal of this app is to have a super-fast way to start and stop recordings in my practice space, since setting up a full DAW, entering file names, and target path is annoying and I want to focus on practicing and writing songs. Maybe this app will help you out, too.
Before using SimpleRecorder, ensure you have the following installed on your Mac:
-
Python
Install Python via Homebrew:brew install python
-
Tkinter
Tkinter is required for the graphical interface. Install it with Homebrew:brew install python-tk
-
FFmpeg
FFmpeg is used for audio processing. Install it with Homebrew:brew install ffmpeg
Clone the SimpleRecorder repository to your local machine:
git clone https://github.com/yourusername/SimpleRecorder.git
cd SimpleRecorder-
Run the application:
python simple_recorder.py
-
Follow the on-screen instructions to start recording audio.
You can store default settings for SimpleRecorder in a file named defaultsettings.json. This file allows you to predefine certain parameters, so you don't have to input them every time you use the application. Below is an example of how the file might look:
{
"device_index": "1",
"file_name": "My awesome snake jazz band",
"destination_folder": "/Users/oliver/Desktop",
"record_mode": "stereo",
"mono_channel": 1,
"stereo_pair": "3-4"
}device_index: Specifies the audio input device to use.file_name: The default name for the recorded file.destination_folder: The folder where recordings will be saved.record_mode: Defines the recording mode (monoorstereo).mono_channel: Ifrecord_modeismono, this specifies the channel to record.stereo_pair: Ifrecord_modeisstereo, this specifies the stereo pair to use.
Not all keys need to be populated. For example, if you only want to set the destination_folder and leave other settings to be configured manually, your defaultsettings.json file could look like this:
{
"destination_folder": "/Users/oliver/Desktop"
}When the application runs, it will use the values from defaultsettings.json if they are present. Any missing values will need to be provided manually or will use the application's default settings.
Contributions are welcome! Feel free to submit pull requests for Linux support or any other features.
This project is licensed under the GNU Affero GPL Licens (or how I lovingly call it: Spaghetti alfredo license.). See the LICENSE file for details.