MicSwitch Dmitry Farafonov aka Xab3r
winget install --id=Dmitry-Farafonov.MicSwitch -e
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.
App | Microphone status overlay | Keyboard support | Mouse buttons support | Audio notification |
---|---|---|---|---|
MicSwitch | ![]() | ![]() | ![]() | ![]() |
Discord | In-game only | ![]() | ![]() | ![]() |
TeamSpeak | ![]() | ![]() | ![]() | ![]() |
Ventrilo | ![]() | ![]() | Has a bug dating 2012 | ![]() |
Skype | ![]() | Hard-coded Ctrl+M | ![]() | ![]() |
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
- Mute/unmute audio notification (with custom audio files support)
- Customizable tray and overlay icons
- Multiple hotkeys support
- Auto-startup (could be Minimized by default)
- 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
Build from command line
- git clone https://github.com/iXab3r/MicSwitch.git
- cd MicSwitch
- 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.
Meanwhile you could take a look at
MacOS
MuteKey (thanks to benpeter for finding it): https://apps.apple.com/us/app/mutekey/id1509590766?mt=12
Linux
???
Contacts
- Feel free to contact me via PM in Discord Xab3r#3780 or Reddit
- Discord chat
- Issues tracker