A real-time audio processing application with virtual audio device support for Windows and Linux. This application provides audio enhancement through compression and limiting, with preset configurations for different use cases.
- Real-time Audio Processing: Dynamic range compression and limiting
- Virtual Audio Device: System-level audio routing for Windows and Linux
- Preset Configurations:
- Default: General purpose audio enhancement
- Podcast: Optimized for voice recording
- Streaming: Broadcast-ready audio processing
- VoiceOver: Professional voice work settings
- Cross-platform Support: Windows, Linux, and macOS build scripts
- Installer Generation: Automated installer creation for Windows
├── AudioEngine.cpp/h # Core audio processing engine
├── Compressor.cpp/h # Dynamic range compressor
├── Limiter.cpp/h # Audio limiter
├── VirtualAudioDevice.cpp/h # Cross-platform virtual audio device
├── VirtualAudioDevice_Linux.cpp/h # Linux-specific implementation
├── MainComponent.cpp/h # GUI main component
├── Main.cpp # Application entry point
├── *.preset # Audio processing presets
├── CMakeLists.txt # Build configuration
├── build_*.sh/bat # Platform-specific build scripts
└── docs/ # Documentation
- CMake 3.15 or higher
- C++17 compatible compiler
- Platform-specific audio libraries
./build_windows.bat
./build_linux.sh
./build_macos.sh
- Build the application using the Windows build script
- Run the installer creation script:
./build_installer.bat
- Optionally sign the installer:
./sign_installer.bat
./install.sh
simple_test.bat
- Basic functionality testtest_build.sh
- Build verification testtest_application.cpp
- Unit teststest_installer.bat
- Installer verification
This project is currently under development. The core audio processing components are implemented but the application may not be fully functional. Key areas still in development:
- Virtual audio device integration
- GUI implementation
- Cross-platform compatibility
- Audio routing and device management
See LICENSE.txt
for license information.
This project is in active development. Please refer to the documentation in the docs/
directory for technical specifications and implementation details.