All Projects → SaifAqqad → AHK_MicMute

SaifAqqad / AHK_MicMute

Licence: Unlicense license
Control your microphone using keyboard and mouse hotkeys.

Programming Languages

autohotkey
350 projects
HTML
75241 projects
CSS
56736 projects
SCSS
7915 projects

Projects that are alternatives of or similar to AHK MicMute

AHK-generator
A single page website to provide a UI for the 3 most common uses for AHK and defining custom hotstrings and hotkeys to trigger them
Stars: ✭ 23 (-65.67%)
Mutual labels:  ahk, hotkey
hotscript
HotScript - Revolutionizing how Windows works.
Stars: ✭ 29 (-56.72%)
Mutual labels:  ahk, hotkey
Osx Push To Talk
OSX status bar application that mute microphone on user key press
Stars: ✭ 209 (+211.94%)
Mutual labels:  microphone
web-voice-processor
A library for real-time voice processing in web browsers
Stars: ✭ 69 (+2.99%)
Mutual labels:  microphone
AutoUpdateHosts
一键下载、更新 Windows Hosts 文件,便于常见网络访问
Stars: ✭ 15 (-77.61%)
Mutual labels:  ahk
Videojs Wavesurfer
video.js plugin that adds a navigable waveform for audio and video files
Stars: ✭ 242 (+261.19%)
Mutual labels:  microphone
i3blocks-airpods
i3blocks script for managing airpods and airpods pro.
Stars: ✭ 61 (-8.96%)
Mutual labels:  microphone
Audionetwork
Data transmission over sound waves written in JavaScript without any dependencies. All you need is just microphone, speakers and the browser!
Stars: ✭ 173 (+158.21%)
Mutual labels:  microphone
YDL
A Simple GUI wrapper around yt-dlp for Windows using AHK
Stars: ✭ 18 (-73.13%)
Mutual labels:  ahk
static-hands
⌨️🤯 Stop moving hands, and start code fast ⚡⚡
Stars: ✭ 36 (-46.27%)
Mutual labels:  ahk
ScribeBot
A highly scriptable automation system full of cool features. Automate everything with a little bit of Lua.
Stars: ✭ 72 (+7.46%)
Mutual labels:  hotkey
win-audio
Get, Set and Watch Speaker/Microphone Volume on Windows
Stars: ✭ 46 (-31.34%)
Mutual labels:  microphone
Mute Me
App is replaced by the new version which called Mutify
Stars: ✭ 249 (+271.64%)
Mutual labels:  microphone
ni-translate
A translator for Linux, running at the background which wakes up with the translation of the last selected text on command.
Stars: ✭ 82 (+22.39%)
Mutual labels:  hotkey
Vigilante
🛡️ Android security (camera/microphone dots indicators) app using Hilt, Animations, Coroutines, Material, StateFlow, Jetpack (Room, ViewModel, Paging, Security, Biometrics, Start-up) based on MVVM architecture.
Stars: ✭ 234 (+249.25%)
Mutual labels:  microphone
react-shortcut
Convenient React component that detects if the given key combination is pressed, and triggers a callback
Stars: ✭ 16 (-76.12%)
Mutual labels:  hotkey
Mimic Recording Studio
Mimic Recording Studio is a Docker-based application you can install to record voice samples, which can then be trained into a TTS voice with Mimic2
Stars: ✭ 202 (+201.49%)
Mutual labels:  microphone
keybind
ClojureScript key bindings (shortcut) library
Stars: ✭ 85 (+26.87%)
Mutual labels:  hotkey
intuiter
Global productivity app for anyone who use Windows
Stars: ✭ 24 (-64.18%)
Mutual labels:  ahk
illustrator-shortcuts
collection of scripts and shortcuts for illustrator
Stars: ✭ 38 (-43.28%)
Mutual labels:  ahk

MicMute

Control your microphone using keyboard and mouse hotkeys.

Features

  • Set up multiple profiles and link them to apps/games
  • Control multiple microphones simultaneously
  • Use separate hotkeys for Mute/Unmute or a single toggle/push-to-talk hotkey
  • AFK timeout (auto mute when idling for longer than a specific time interval)
  • Optional sound and on-screen feedback with ability to use custom sounds
  • Always-on-top overlay to show the microphone's state
  • Voicemeeter integration

Installation

A. Install using Scoop

# Add the extras bucket
scoop bucket add extras

# Install MicMute
scoop install micmute

You can update MicMute using scoop update micmute, your config file will be saved between updates.

B. Use standalone executable

You can download MicMute and use it standalone.

Note: The config file will be saved in the same directory as the executable.

Usage

The first time you launch MicMute, a configuration window will open
The first time you launch MicMute, a configuration window will open

  1. Select your microphone from the list.
  2. Choose the hotkey type (Toggle, Push-to-talk or seperate hotkeys).
  3. Select the hotkey options you want. see hotkey options.
  4. Click Record and press the key(s) combination for the hotkey, then click on Stop to save it.
  5. Go to the Feedback tab and select the feedback options you want. see feedback options.
  6. If you're setting up multiple profiles, you can link a profile to an app/game. see linked applications.
  7. If you want the microphone to be auto muted when you idle, setup AFK timeout.
  8. If you're setting up a PTT hotkey, you can change the delay between releasing the key and the audio cutting off by changing the PTT delay option.
  9. Click on the save button.

Notes

  • You can change a profile's name by right clicking it.

    GIF

    OSD

  • When you set up a hotkey for a microphone, a * will appear before the microphone's name


Hotkey options

Option Description
Passthrough Hotkey presses will passthrough to the system (They won't be exclusive to MicMute).
Wildcard Trigger the hotkey even if it's pressed with extra modifiers/keys.
Neutral modifiers MicMute won't differentiate between Left and Right modifiers (i.e Left/Right shift will both be Shift). This option should be set before recording the hotkey.
Hybrid PTT Turns a PTT hotkey into a Hybrid PTT/Toggle hotkey (Long press -> PTT, short press -> toggle).

Feedback options

1. Sound feedback

Play a sound when muting/unmuting the microphones.

  • You can select which output device to play the sound on.

  • You can use custom sounds:

    1. Turn on the option in the config UI
    2. Make sure the sound files (mp3,wav) are in the same folder as MicMute.exe
    3. Rename them as:
      • Mute sound: mute

      • Unmute sound: unmute

      • PTT on: ptt_on

      • PTT off: ptt_off

2. On-screen feedback

Show an OSD when muting/unmuting the microphones.

  • GIF

    OSD

  • You can change the OSD position (default position is the bottom center of the screen, above the taskbar).

  • You can exclude fullscreen apps/games from the OSD, this is needed for some games that lose focus when the OSD is shown.

3. On-screen overlay

Show the microphone's state in an always-on-top overlay.

  • GIF

    overlay

  • CTRL ALT F9 toggles show/hide

  • CTRL ALT F10 toggles locked/unlocked

  • You can drag the overlay to change its position when it's unlocked

  • Games need to be set to Windowed fullscreen or Borderless for the overlay to show up on top

  • You can set the overlay to only show if the microphone is muted or unmuted

  • You can set the overlay's size and theme (light/dark)

  • You can use custom icons for the overlay. To use this feature, turn on the option in the config UI, then place the icons (ico/png/jpeg) in the same folder as MicMute.exe and rename them as:

    • Mute icon: overlay_mute
    • Unmute icon: overlay_unmute

    Avoid using icons that have a gray #232323 color


Linked applications

Link a profile to an app/game, when the app becomes visible (not minimized or hidden), MicMute will automatically switch to that profile, when the app is minimized/hidden/closed, MicMute will switch back to the default profile.


Global options

These options are shared between all profiles.

1. Mute on startup

Mute the microphone(s) when starting up or switching profiles.

2. Switching-profile OSD

Show an OSD with the profile's name when switching to it.

3. UI Theme

UI Theme can be set to System Theme, Dark or Light

This does not affect the tray icon color, which is always based on the system theme

4. Force microphone state

Prevent other apps from changing the microphone's state (i.e mute/unmute the microphone).

Note: This might break the unmute functionality in some apps, if this happens you'll need to unmute the microphone using MicMute before unmuting inside the app)

5. Voicemeeter integration

You can control Voicemeeter's inputs and outputs using MicMute, after turning on the option, refresh the microphones list and you should see voicemeeter's inputs (strips) and outputs (buses) in the microphone dropdown.

Image

Image

By default, MicMute will use the bus/strip's mute property, in the case of a strip, it can be set to any other property (A1, A3, B3, etc..) by changing the VMRStripProperty value in the config file.


Controlling multiple microphones

You can have multiple active hotkeys to control different microphones simultaneously. To do this, turn on the Multiple option then select another microphone from the list and setup hotkeys for it.

When using this feature, the following applies:

  • The tray icon will be the static MicMute icon
  • The tray icon will no longer act as a toggle button, and the tray menu option to toggle the microphone will be disabled
  • The On-screen feedback OSD will show the microphone name when muting/unmuting
  • The On-screen overlay is disabled

Alternatively, you can control all the microphones at once with the same hotkey by selecting All Microphones from the microphones list.

When using this feature, the following applies:


Known issues

  • Valorant might detect MicMute as a cheat #59

  • When running AutoHotkey alongside Microsoft Powertoys, they might conflict with each other, which may result in the hotkeys not working at all. microsoft/PowerToys#2132

  • Albion Online detects MicMute as a botting tool, the games blacklists anything written in autohotkey and marks it as a botting tool. #23

  • Windows defender might falsely detect MicMute as a trojen/malware (Zpevdo.B or Wacatac.B!ml). I always submit new releases to microsoft to remove the false detections and they usually do in a couple of days, but sometimes when they release a new definition update the detection occurs again. #25

Editing the config file

Hold shift when asked to setup a profile or when clicking "Edit configuration" from the tray menu, and the config file will open in the default JSON editor

//config.json example 
{
	"AllowUpdateChecker": 1,
	"DefaultProfile": "Default",
	"ForceMicrophoneState": 0,
	"MuteOnStartup": 1,
	"PreferTheme": -1,
	"Profiles": [
		{
			"afkTimeout": 0,
			"ExcludeFullscreen": 0,
			"LinkedApp": "",
			"Microphone": [
				{
					"HybridPTT": 0,
					"MuteHotkey": "*RShift",
					"Name": "Microphone (AmazonBasics Desktop Mini Mic)",
					"PushToTalk": 0,
					"UnmuteHotkey": "*RShift",
					"VMRStripProperty": ""
				}
			],
			"OnscreenFeedback": 0,
			"OnscreenOverlay": 1,
			"OSDPos": {
				"x": -1,
				"y": -1
			},
			"OverlayPos": {
				"x": 2318,
				"y": 429
			},
			"OverlayShow": "2",
			"OverlaySize": "59",
			"OverlayTheme": "1",
			"OverlayUseCustomIcons": 1,
			"ProfileName": "Default",
			"PTTDelay": 100,
			"SoundFeedback": 1,
			"SoundFeedbackDevice": "Default",
			"SoundFeedbackUseCustomSounds": 0,
			"UpdateWithSystem": 1
		}
	],
	"SwitchProfileOSD": 1,
	"VoicemeeterIntegration": 1,
	"VoicemeeterPath": ""
}

CLI arguments

Argument Description
/profile=<profile name> Startup with a specific profile.
/noUI Disable the configuration UI completely. This decreases memory usage by almost 60%.
/debug Add shortcuts to ListVars, ListHotkeys and View Log in the tray menu.
/logFile=<file_to_log_to> Outputs the log to a file (it's written to stdout by default )

Example: MicMute.exe "/profile=profile 1" /noUI /debug /logFile=MicMute.log

Compile instructions

Note: Run the following commands in powershell, not command prompt.

1. Install prerequisites

You'll need AutoHotkey (Ahk2Exe), git and ahkpm in your path.

You can install them using scoop:

  1. Install scoop
    # This allows running powershell scripts.
    Set-ExecutionPolicy RemoteSigned -scope CurrentUser;
    
    # This runs the scoop installer script.
    irm get.scoop.sh | iex
  2. Install prerequisites
    scoop install git;
    scoop bucket add extras;
    scoop install autohotkey ahkpm;

2. Clone the repository

git clone https://github.com/SaifAqqad/AHK_MicMute.git;
cd .\AHK_MicMute\;

3. Install the dependencies

ahkpm install;

4. Download and extract BASS library

Invoke-WebRequest "www.un4seen.com/files/bass24.zip" -OutFile ".\bass24.zip";
Expand-Archive ".\bass24.zip" -DestinationPath ".\base24\";
Copy-Item ".\base24\x64\bass.dll" -Destination ".\src\Lib\bass.dll";

5. Run the compiler

ahk2exe.exe /in ".\src\MicMute.ahk" /out ".\src\MicMute.exe";

Libraries and resources used

Library License
Material Design icons Apache 2.0
BASS audio library License
VA.ahk License
VMR.ahk License
mmikeww/AHKv2-Gdip License
Bulma CSS framework MIT
G33kDude/cJson.ahk MIT
G33kDude/Neutron.ahk MIT

Credits

This project would not exist without these people:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].