Skip to content

echolevel/MicLevelGuard

Repository files navigation

MicLevelGuard

Even when you explicitly tell it not to, Windows lets apps mess about with the volume level of your system default recording device (usually your microphone). It's unlikely to ever be fixed, so I wrote this as a nuclear option.

Overview

MicLevelGuard is an unimaginatively named system tray thingy to:

  • watch the default mic endpoint's volume level
  • force the endpoint volume to a user-set level
  • brute-force reapply that level immediately if anything changes it
  • be unobtrusive in the system tray
  • optionally start on Windows boot
  • optionally log what's going on
  • optionally show notifications when an app attempts to fool around with your volume
  • automatically store its settings in an ini file and in the registry, so they're persistent

Notes

  • This controls the Windows default microphone (ie recording device) level, not ASIO hardware gain.
  • It follows the DEFAULT capture endpoint. If your default microphone changes, it automatically rebinds to the new one.

I wrote this while on a long work call where at least two of us were suffering from this phenomenon, primarily for our own use. If anyone else finds it useful, great! When setting up this repo I noticed there are some existing tools that do pretty much the same. Mine's nothing special, but it has the features, functionality and configurability that my colleague and I wanted.

Building:

It's a very simple Visual Studio project that should just compile for Windows without any problems. There's no cross-platform consideration because its sole purpose is to compensate for Windows audio nonsense.

If you want to build from the command line with MSVC, open the developer command prompt and do

cl /EHsc /DUNICODE /D_UNICODE MicLevelGuard.cpp /link ole32.lib uuid.lib user32.lib shell32.lib comctl32.lib advapi32.lib

Installing:

Put it somewhere sensible and run it, then you can opt for it to always start when Windows boots and the option will persist in an .ini file in the executable's working directory, and in a registry key.

Disclaimer etc.

MicLevelGuard is offered for free, to be used at your own risk and with no promise of support or acceptance of liability on my part. Do what you want with it, and I hope it's useful!

About

System tray tool to guard against Windows messing with your mic level when you've told it not to

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors