Skip to content

Kyra-Code79/Custom-Volume-Control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔊 Custom Volume Control

A lightweight, highly-customizable, per-application Windows volume mixer and hotkey manager.

Windows 10/11 Python 3.12 PyQt6 MIT License

📖 Description

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.

✨ Features

  • 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.

🚀 Installation & Usage

Option 1: Download Pre-compiled Executable (Easiest)

  1. Go to the Releases page of this repository.
  2. Download the latest Volume Control.exe.
  3. Run the executable (no installation or Python required).

Option 2: Run from source

  1. Clone this repository:
    git clone https://github.com/Kyra-Code79/Custom-Volume-Control.git
    cd Custom-Volume-Control
  2. Install the required dependencies:
    pip install -r requirements.txt
  3. Run the application:
    python main.py

Option 3: Compile to a standalone .exe

You can easily compile this project into a single, portable Windows executable using auto-py-to-exe (which uses PyInstaller under the hood).

  1. Install auto-py-to-exe:
    pip install auto-py-to-exe
  2. Launch the compiler GUI:
    python -m auto_py_to_exe
  3. In the GUI, click Settings (top left) → Import Config From JSON.
  4. Select the build_config.json file included in this repository. This automatically configures the packaging options (hides the console, embeds the icon, includes the assets, etc).
  5. Click Convert .PY to .EXE.
  6. Your standalone application will be generated in the output/ folder!

🛠️ Tech Stack

  • 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

📜 License

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.

About

A lightweight Python/PyQt6 alternative to the Windows Volume Mixer featuring per-session audio routing, hotkey binding, and live audio testing.

Topics

Resources

License

Stars

Watchers

Forks

Languages