A lightweight, highly-customizable, per-application Windows volume mixer and hotkey manager.
Custom Volume Control is a modern replacement for the default Windows Volume Mixer. It provides fine-grained control over your audio endpoints and running applications, while sitting quietly in your system tray.
Unlike the standard Windows mixer, this app tracks audio sessions individually—meaning it can differentiate between multiple browser tabs (e.g., mute one YouTube tab while keeping Spotify and another browser tab at full volume). It also allows you to bind custom global hotkeys to instantly mute specific applications from anywhere, even while full-screen in a game.
- Per-App Audio Control: Adjust volume or mute individual applications.
- Browser Tab Support: Uniquely identifies audio sessions, allowing you to control multiple tabs of the same browser independently.
- Global Hotkeys: Bind custom keyboard shortcuts (e.g.,
Ctrl+Alt+M) to Mute All, Volume Up, Volume Down, or mute specific apps. - App Pinning: Manually pin an application to your mixer and preset its volume before it even makes a sound.
- Zero-CPU Event Driven: Built using Windows Core Audio API (
IAudioSessionNotification). The app idles at 0% CPU usage because it only wakes up when Windows tells it a new audio session has started. - Audio Testing Suite: Built-in tools to test your output speakers (generates 220Hz, 440Hz, and 880Hz sine waves) and monitor your microphone input levels with a live VU meter.
- Responsive Dark UI: A sleek, scalable PyQt6 interface that looks great on modern desktops.
- System Tray & Auto-Start: Runs silently in the background and can be configured to launch automatically with Windows.
- Go to the Releases page of this repository.
- Download the latest
Volume Control.exe. - Run the executable (no installation or Python required).
- Clone this repository:
git clone https://github.com/Kyra-Code79/Custom-Volume-Control.git cd Custom-Volume-Control - Install the required dependencies:
pip install -r requirements.txt
- Run the application:
python main.py
You can easily compile this project into a single, portable Windows executable using auto-py-to-exe (which uses PyInstaller under the hood).
- Install
auto-py-to-exe:pip install auto-py-to-exe
- Launch the compiler GUI:
python -m auto_py_to_exe
- In the GUI, click Settings (top left) → Import Config From JSON.
- Select the
build_config.jsonfile included in this repository. This automatically configures the packaging options (hides the console, embeds the icon, includes the assets, etc). - Click Convert .PY to .EXE.
- Your standalone application will be generated in the
output/folder!
- Language: Python 3.12
- GUI Framework: PyQt6
- Audio Interfacing:
pycaw(Python Core Audio Windows Library),comtypes - Hardware Testing:
sounddevice,numpy - Global Hotkeys:
keyboard - Process Management:
psutil - Icon Extraction:
pywin32
This project is licensed under the MIT License - see the LICENSE file for details. This means it is entirely open for public use and modification, provided "as is" without warranty.