I have Voicemeeter Banana running normally, this means that it is my default audio device in exclusive mode so most of my sound is routed through it. This gives me great control over the audio devices in my system, virtual or hardware.

I use the volume keys on my keyboard often. When I'm using Voicemeeter, the volume keys adjust the "Voicemeeter input" which does not change the levels through my headset at all. So to change the levels in my usb headset, I have to either go into the windows volume mixer, and adjust the master for the device there, or adjust it in voicemeeter. I prefer to use the windows adjustment, it goes from 0-100 in increments of 2, while voicemeeter goes from -60dB to +12dB. Plus windows has a small popup that shows the volume level, voicemeeter does not. My max volume is set to the level of my usb headset, meaning I have to turn my headset up to max, and control to taste from voicemeeter. This is dangerous when I'm not paying attention to voicemeeter, and accidentally play something at full volume (painful, not fun).

Voicemeeter allows me to hook the volume keys to the output assigned to my usb headset, but then I run into the problem of having to adjust voicemeeter.

I want to be able to change what audio device my keyboard volume keys control.

Now I know this is somewhat possible as my usb headset (no special drivers) has volume buttons that adjust the levels of the usb headset at a driver level, not my default device which is "Voicemeeter input" While my Keyboard keys adjust the level of "Voicemeeter input"

What commands are being sent by my keyboard and my headset? Is there a way to find out? Neither are using special drivers. Can I change those commands? Or at least change how my system reacts to them?

The ideal situation would be the ability to set the volume keys to change the levels of "USB audio device" while ignoring the default device, "VoiceMeeter Input"

I found Microsoft's documentation on volume control but I can't make heads or tails of it. Perhaps the answer is in here, if I knew what to look for.

3 Answers 3


Took some time looking around but I found a program which both lets you set the volume keys to control another Sound device & views an OSD with the volume when you change it.

Its called Volume2 (https://github.com/irzyxa/Volume2)

You can assign keys for managing the alternate sound device. For example, I set my wireless headphones as default device (for calls) and my earphones as an alternate device (for music). I need to set shortcuts for alternate device and now I have vol up/down for headphones and shift + vol up/down for earphones.

It also lets you customize the OSD Displayed with different skins & colours, and Position & Transparency, it can be installed or be a portable version.

It's easy to use & it can a lot of stuff I don't use but others might want to.

  • Excellent. This worked really well for me, super easy to use and the OCD popup is nice. Jun 16, 2019 at 21:56

Voicemeeter is installed with MacroButtons Application allowing you to control anythings (any buttons or slider) on Voicemeeter with any keyboard Shortcut... see user manual: http://vb-audio.pagesperso-orange.fr/Voicemeeter/VoicemeeterBanana_UserManual.pdf

  • Awesome, this is getting closer. It lets me hook the volume keys to do whatever I want, perfect. controlling the volume seems to be the more difficult part. msdn.microsoft.com/en-us/library/windows/desktop/… is there a command that I could run inside macro buttons to change the volume, or would I have to build the sample that microsoft provides?
    – BLARG
    Jan 13, 2017 at 0:41
  • if controlling BUS slider on Voicemeeter is not enough you maybe can also send keyboard command to Windows by adding instructions to your macrobuttons script: try for example System.KeyPress("VOLUMEDOWN"); See "System KeyDown / KeyUp / KeyPress " in user manual...
    – user258609
    Jan 13, 2017 at 12:20
  • I've solved it.
    – BLARG
    Jan 14, 2017 at 1:38

I found a solution! I used a combination of nircmd and autohotkey.

I used Nircmd, for the device specific volume controls and autohokey for the macros.

this is my script:

    Run, nircmd.exe changesysvolume 1000 USBSpeakers 4

    Run, nircmd.exe changesysvolume -1000 USBSpeakers 4

Real simple, but the nircmd command took a bit of finicking as I had to rename my device to USBSpeakers and the '4' was required but not super obvious, so there was a bit of trial and error.

I tried autohotkey's built in volume control, but I could not get it to work for any device other than the default.

I will try to refine this solution further, as I'm currently using 3 different programs, ideally I'd like to just be using voicemeeter.

  • So, what device and how did you change its name to "USBSpeakers"? I have the same problem with 2 physical speakers on my computer set as OUT on VoiceMeeter.
    – Josh
    Jan 26, 2017 at 18:04
  • I changed my USB headset name to USB speakers and the matching mic to USBmicrophone. In the windows audio settings, you can change the name of any device by going to the first tab in the properties. What do you want to be able to do?
    – BLARG
    Jan 27, 2017 at 18:51
  • So, I have a Bose SoundLink Mini II (connected via Bluetooth) and a Harmon SoundSticks (connected via 3.5mm jack). I want to be able to play music via both speakers at the same time. I was able to do it via VoiceMeeter. However, the keyboard volume buttons do not work with VoiceMeeter (I tried the macros and everything). I want to be able to control the volume via keyboard volume controls. So, I was looking for a solution and came across yours.
    – Josh
    Jan 28, 2017 at 14:57
  • as @user258609 said above, you can use the Voicemeeter Macrobuttons found under settings to control the program with any key-presses. There's even a short-cut option that allows you to control voicemeeter with the buttons. It's under the pulldown menu and says "hook volume keys for A1 Levels."
    – BLARG
    Feb 14, 2017 at 0:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.