Project status: completed and will not receive further updates.
This project is a complete rewrite of the original Audio.Recorder from Python/PyQt6 to C# / WPF for personal practice. It is published here as a portfolio code sample.
A simple, lightweight audio recorder designed for long-term background monitoring and room recording. It focuses on stability and minimal disk space usage rather than high-fidelity audio.
- Long-term Background Recording: Optimized for continuous use in the background.
- Time-based Splitting: Automatically cuts recordings into chunks (10, 30, 60, or 120 minutes) to keep file sizes manageable.
- Efficient Audio: Saves mono 22kHz WAV files to minimize disk space consumption (powered by NAudio).
- Sound Activity Monitor: A visual indicator changes color when sound is detected in the room.
- Auto-Cleanup: Automatically removes old recordings after a set number of days to prevent disk overflow.
- Mini-Mode: A small, compact window that can stay on top of other applications.
- Simple Gain Control: Boost input volume if the source is quiet.
- Single Executable: Compiles into a single standalone file for easy deployment.
If you don't want to run the source code, you can download the pre-compiled version from the Releases section:
- AudioRecorder.exe: A standalone executable for Windows. Just download and run - no installation required.
- Framework: .NET 8 (WPF)
- Audio Logic: NAudio
- Dialogs: Windows API Code Pack
- Build System: MSBuild with Single-File & Self-Contained publishing
- Select Folder: Choose where you want to save the recordings.
- Set Retention: Use the slider to choose how many days to keep the files.
- Choose Device: Select your microphone from the dropdown list.
- Start: Press the start button. The application will handle the rest, including file splitting and old file removal.
This project is licensed under the MIT License - see the LICENSE file for details.