A Windows system tray application that links two audio devices together, keeping their volumes synchronized proportionally.
- Volume Synchronization: When you change the volume of Device 1, Device 2 automatically matches it
- System Tray Integration: Runs quietly in the background with a system tray icon
- Configuration Persistence: Remembers your device selections between sessions
- Auto-Start: Option to automatically start with Windows
- Easy Device Selection: Simple menu interface to select which devices to link
- Windows 10 or later
- No Python installation needed!
- Windows 10 or later
- Python 3.7 or later
- Visual C++ Build Tools (required for pycaw)
-
Install Visual C++ Build Tools if not already installed:
choco install visualcpp-build-tools
Or download from Microsoft's website
-
Install Python dependencies:
pip install -r requirements.txt
- Run the application:
Or use
python main.py
pythonw.exeto run without a console window:pythonw main.py
Build a standalone executable (see BUILD.md for details):
build.batThen run dist/AudioLink.exe directly - no Python installation needed!
-
The application will appear in your system tray. Right-click the icon to:
- Select Device 1 and Device 2 (bidirectional linking - changes to either device sync to the other)
- Enable/Disable linking
- Enable/Disable auto-start
- Exit the application
-
Once both devices are selected, volume changes on either device will automatically sync to the other proportionally.
The application saves its configuration in config.json in the same directory as the script. This includes:
- Selected device IDs and names
- Linking enabled/disabled state
- Auto-start preference
The application uses the Windows Core Audio API (via pycaw) to:
- Enumerate all available audio devices
- Monitor the volume level of Device 1 every 100ms
- When a volume change is detected, immediately set Device 2 to the same volume level
- Devices not found: If a device is unplugged or unavailable, you'll need to reselect it from the menu
- Volume not syncing: Make sure both devices are selected and linking is enabled (checkmark visible in menu)
- Application won't start: Ensure all dependencies are installed and Visual C++ Build Tools are available
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 Emil Walter