MicSwitch logo

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

Discord Chat

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 | Supported | Supported | Supported | Supported | Discord | In-game only | Supported | Supported | Not supported | | TeamSpeak | Supported | Supported | Supported | Supported | | Ventrilo | Not supported | Supported | Has a bug dating 2012 | Supported | | Skype | Not supported | Hard-coded Ctrl+M | Not supported | Not supported |

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)

Requests

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

UI

Overlay with configurable size/opacity

Overlay with configurable size/opacity

Configurable Audio notification when microphone is muted/unmuted

Configurable Audio notification when microphone is muted/unmuted

Customizable overlay/tray icons

Customizable overlay/tray icons

Auto-update via Github

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

  1. git clone https://github.com/iXab3r/MicSwitch.git
  2. cd MicSwitch
  3. remove submodule DeploymentTools - MicSwitch's installer built and oublished as a part of another project and it's not included into this repository
  4. git submodule init
  5. git submodule update --checkout
  6. InitSymlinks.cmd
  7. 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

Versions
1.0.253
1.0.242
1.0.240
1.0.235
1.0.234
1.0.226
1.0.223
1.0.221
1.0.217
1.0.211
Website