This tool was developed to help with organizing, sorting, and capturing improvised audio recordings. It allows users to listen to audio input from a selected device, visualize it in real-time with a spectrometer, and easily capture short audio snippets with user-defined filenames and durations. It also provides a convenient way to manage saved captures and configure the save directory.
- Device Selection: Easily select an input audio device from a dropdown menu.
- Listening Control: Start and stop audio input listening with a single click.
- Real-Time Visualization: Display audio levels visually using a dynamic spectrometer.
- Audio Capture:
- Capture audio snippets with a custom filename.
- Configure capture duration (1–300 seconds).
- Avoid overwriting existing files with filename validation.
- Save Directory Configuration:
- Choose a directory for saving audio captures.
- Save the configuration persistently across sessions.
- Error Handling: Intuitive error messages and feedback for invalid input or missing configurations.
For the latest '.exe' version, go to the Releases page.
- Python 3.8+
- Required Libraries:
tkinter
: GUI framework (comes pre-installed with Python).sounddevice
: For audio input.numpy
: For numerical operations.wave
: To save audio files in WAV format.
You can install the dependencies with the following command:
pip install -r requirements.txt
- Clone this repository or download the source code.
- Open a terminal and navigate to the project directory.
- Run the application using:
python app.py
- Choose an input device from the dropdown list at the top of the application window.
- Only devices with input capabilities are listed.
- Press Start Listening to begin monitoring the audio input.
- Click the Capture button to open the capture configuration dialog.
- Enter a filename (without the extension). If no filename is provided, the app generates one automatically.
- Specify the duration of the capture (1–300 seconds).
- The file is saved in the configured save directory.
- The current save directory is displayed on the Save Directory button.
- Click the button to change the directory.
- The selection is saved persistently in a
config.txt
file.
- A spectrometer displays the audio input levels in real-time.
- The display is dynamic and sensitive to the audio signal.
.
├── app.py # Main application code
├── config.txt # Configuration file for save directory
├── requirements.txt # List of dependencies
├── LICENSE.md # MIT License
└── README.md # Documentation for the project
- Ensure that your audio input device (e.g., microphone) is connected and enabled.
- Restart the application.
- The app defaults to the current directory if no directory is selected.
- Ensure you have write permissions for the chosen directory.
- Add MIDI support (for input & export).
- Add support for stereo audio input.
- Enhance the spectrometer with frequency domain analysis.
- Implement additional audio file formats (e.g., MP3).
- Add playback functionality for captured files directly within the app.
This project is licensed under the MIT License. See the LICENSE file for details.
Developed with ❤️ by cfrBernard for easier organization and capture of audio improvisations.
Note: A MacOS version will be released in the future.