MicSwitch is a tool which allows you to mute/unmute your microphone globally using a predefined hotkey
MicSwitch is a tool designed to provide quick and efficient control over your microphone with the press of a predefined hotkey. It allows users to globally mute or unmute their microphone without needing additional software or drivers.
Key Features:
Global mute/unmute functionality for instant control.
Customizable hotkey support to suit individual preferences.
System-wide application, ensuring compatibility across various applications and platforms.
Compact installation size with minimal resource usage.
Audience & Benefit:
Ideal for professionals who require seamless microphone management during live streams, virtual meetings, or presentations. MicSwitch helps reduce interruptions and enhances productivity by offering a simple yet effective solution for controlling your audio input.
Available for installation via winget, ensuring easy setup and integration into your workflow.
README
Intro
There are dozens of different audio chat apps like Discord, TeamSpeak, Ventrilo, Skype, in-game audio chats, etc. And all of them have DIFFERENT ways of handling push-to-talk and always-on microphone functionality. I bet many of you know how distracting it could be when someone forgets to turn off a microphone. I will try to explain what I mean using a feature matrix.
MicSwitch allows you to mute/unmute your system microphone using a predefined system-wide hotkey which will affect any program that uses microphone (no more heavy breathing during Skype conferences, hooray!)
Also it supports configurable mute/unmute sounds(similar to TeamSpeak/Ventrilo) and a configurable overlay with scaling/transparency support. All these features allow you to seamlessly switch between chat apps and use THE SAME input system with overlay and notifications support.
Features / Bugfixes priority (click to vote or post feature/bug request)
Installation
You can download the latest version of installer here - download.
After initial installation application will periodically check Github for updates
Features
Multiple microphones support (useful for streamers) - ALL microphones in your system could be muted/unmuted by a single key press
System-wide hotkeys (supports mouse XButtons)
Always-on-top configurable (scale, transparency) Overlay - could be disable if not needed
Three Audio modes: Push-to-talk, Push-to-mute and Toggle mute
Overlay visibility could be linked to microphone state, i.e. it will be shown only when Muted/Unmuted
Auto-updates via Github
Media
Overlay with configurable size/opacity
Configurable Audio notification when microphone is muted/unmuted
Customizable overlay/tray icons
Auto-update via Github
How to build application
I am extensively using git-submodules so you may have to run extra commands (git submodule update) if your git-client does not fully support this tech. I would highly recommend to use Git Extensions which is awesome, free and open-source and makes submodules integration seamless
The main "catch-up-moment" is that you need to run InitSymlinks.cmd before building an application - this is due to the fact that git symlinks are not supported on some older versions of Windows and I am using them to create links to submodules
I am usually using Jetbrains Rider so there MAY be some issues if you are using Microsoft Visual Studio, although I am trying to keep things compatible
remove submodule DeploymentTools - MicSwitch's installer built and oublished as a part of another project and it's not included into this repository
git submodule init
git submodule update --checkout
InitSymlinks.cmd
dotnet build Sources/MicSwitch
That's it. Portable version will be in bin folder. Framework-dependent version
Linux/MacOS Support ?
Probably not going to happen in the nearest future because in it's core MicSwitch is a WPF application, technology that Microsoft does not want to port at all.
Migrating to something cross-platform like Avalon, Xamarin is an option, but not a cheap one, unfortunately I don't have so much spare time to do it now.