MicMaster is a Windows microphone control utility for quick mute control, source switching, hotkeys, and lightweight automation.
- Mute and unmute the active microphone from the app, tray, or hotkey.
- Choose from detected microphone sources and keep that choice across restarts.
- Support
Toggle Mute,Push-to-Talk, andPush-to-Mutehotkey modes. - Record a custom shortcut with a single record/stop button.
- Auto-mute when selected applications are running.
- Scheduled mute windows.
- Desktop and sound notifications.
- Tray menu with direct source switching.
- Settings import/export.
- Startup health checks for missing sources, tray availability, sounds, and hotkey registration issues.
- In-app event history with export support.
- Windows
- Python 3.9+ if running from source. The current packaged build is validated with the repo venv.
- A working microphone input device
Install dependencies from source with:
pip install -r requirements.txtpython MicMaster.pyOr run the package entrypoint directly:
python -m micmasterMicMaster/
|-- MicMaster.py # compatibility launcher
|-- pyproject.toml # package metadata
|-- requirements.txt
|-- micmaster/
| |-- __init__.py
| |-- __main__.py
| |-- app.py
| |-- audio_control.py
| |-- dialogs.py
| |-- hotkeys.py
| |-- main_window.py
| |-- settings_store.py
| |-- threads.py
| |-- tray_support.py
| `-- utils.py
|-- icons/
|-- images/
`-- sounds/
- Launch the app.
- Pick your microphone in
Settings. - Record a hotkey.
- Optional: enable tray mode, auto-mute rules, scheduled mute, or startup.
- Use
Health Checkif a source, hotkey, or tray feature is not behaving correctly.
- Open
Settings. - Use
Export Settingsto save your full profile configuration as JSON. - Use
Import Settingsto restore settings on another machine or after reinstalling.
Imported settings are normalized on load, so stale keys from older versions are removed automatically.
MicMaster runs a health pass on startup and exposes the latest result in the main window. The detailed dialog checks for:
- missing microphone sources
- saved source no longer available
- missing sound assets
- unavailable tray support
- hotkey registration problems
- microphone control interface problems
The main window keeps a rolling history of important actions, including:
- mute and unmute changes
- source changes
- hotkey changes
- automation triggers
- settings import/export
Use Export History to save the current history to a text file.
The repository includes MicMaster.spec for PyInstaller-based Windows builds. Build from the repo root with the project virtual environment:
.\venv\Scripts\python.exe -m PyInstaller --noconfirm --clean MicMaster.specThe packaged executable is written to dist\MicMaster.exe.
The Windows icon is embedded through icons\mic_switch_icon.ico. Keep that file as a multi-size .ico; Windows desktop and taskbar rendering depends on the smaller icon entries. Desktop and startup shortcuts point at the frozen executable icon (MicMaster.exe,0) so they do not depend on PyInstaller's temporary extraction folder.
- Keep Windows behavior stable first.
- Prefer targeted changes over UI churn.
- Validate with
python -m py_compile MicMaster.py micmaster\\app.py micmaster\\main_window.py micmaster\\dialogs.py micmaster\\audio_control.py micmaster\\hotkeys.py micmaster\\settings_store.py micmaster\\tray_support.py micmaster\\threads.py micmaster\\utils.py.