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