A simple Windows application for routing audio from input devices to output devices with optional RNNoise noise suppression.
Or visit the Releases Page for more information.
- Route audio from any input device (microphone, line-in) to any output device (speakers, headphones)
- RNNoise neural network noise suppression (optional, configurable)
- System tray integration with minimize to tray
- Command line parameters for automation (
--input,--output,--noise,--autostart,--autohide) - Batch file generation for startup scripts
- Sample rate and channel conversion support
- Simple Win32 interface with keyboard navigation (Tab, Ctrl+S)
- Low-latency audio routing using WASAPI event-driven mode
- Windows 10 or later
- Visual Studio 2019 or later (or MinGW with CMake)
- CMake 3.15 or later
mkdir build
cd build
cmake ..
cmake --build . --config Releasemkdir build
cd build
cmake .. -G "Visual Studio 16 2019"Then open AudioRouter.sln in Visual Studio and build.
You can also use the provided batch file:
build.bat- Launch
AudioRouter.exe - Select your input device (e.g., microphone) from the dropdown
- Select your output device (e.g., speakers or headphones) from the dropdown
- (Optional) Check "Enable Noise Suppression" to reduce background noise
- Click "Start" to begin routing audio (or press Ctrl+S)
- Click "Stop" to stop routing (or press Ctrl+S again)
- Click "Save Settings" to create a batch file for quick startup
AudioRouter.exe --input "Microphone" --output "Speakers" --noise --autostart --autohideParameters:
--input <device>or-i <device>- Select input device by name or index--output <device>or-o <device>- Select output device by name or index--noiseor-n- Enable noise suppression--autostartor-a- Automatically start audio routing--autohideor-h- Launch minimized to system tray
- Minimize the window to send it to the system tray
- Left-click the tray icon to restore the window
- Right-click the tray icon for options (Restore, Exit)
- Tray tooltip shows the current audio routing when active
The application includes full RNNoise neural network noise suppression. RNNoise is automatically downloaded and built during the CMake build process.
How it works:
- Uses the Xiph.org RNNoise library for deep learning-based noise reduction
- Processes audio in 480-sample frames at any sample rate (with automatic resampling)
- Supports mono and stereo input/output with automatic channel conversion
- Maintains low latency while providing effective noise suppression
- main.cpp: Win32 GUI and application entry point
- AudioDeviceManager: Enumerates audio devices using WASAPI
- AudioEngine: Handles audio capture, routing, and playback
- NoiseSuppress: Wrapper for RNNoise noise suppression
This is a simple example application. Feel free to modify and use as needed.