Skip to content

Instantly share code, notes, and snippets.

@Immotay
Last active January 30, 2024 15:11
Show Gist options
  • Star 70 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save Immotay/fa47b1105aaed89a284106ae2ee9b66f to your computer and use it in GitHub Desktop.
Save Immotay/fa47b1105aaed89a284106ae2ee9b66f to your computer and use it in GitHub Desktop.

Objective

The goal is being able to mix your microphone and desktop audio into a single track, while leaving Discord out of the equation. This allows you to stream your desktop audio and talk while in a call, without your partners hearing themselves.

Voicemeeter Setup

Download Voicemeeter

Voicemeeter Banana

Selecting an Output Device

First of all, as you might have noticed: The software is asking us for a hardware output, you can note this by the blinking red "Select Main Output Device" on the top right of the app.

Select Main Output Device

You can click any strip you want, A1; A2 or A3. But to make it easier, let's go with A1.

  • Click A1
  • Select the Primary output of your choice (In this case, I'm gonna select my headphones)

selecting headphones

Strips and audio routing

You can note that next to each strip, you have 8 buttons. A1 A2 A3 B1 B2 mono solo and Mute

Excluding the last three ones, which have obvious functions, the others all dictate where the audio in that strip is going to be routed to.

Remember we selected our headphones under the A1 option? This means that if A1 is selected, all audio on that specific strip is going to be played through A1 (your headphones). With this in mind, next step:

A1, A2, and A3 are hardware outputs, they are the ones who'll physically play the sound for you in your home so you can actually hear it.

B1 and B2 are virtual outputs, they'll output the audio internally so other applications can pick it up.

Adding a Hardware Input

Let's use the first strip for this, like the usual.

selecting microphone

(if WDM doesn't work, try MME.)

As soon as you do this, you'll notice that you're already able to hear yourself. Since we don't want to hear ourselves, let's disable A1 (our headphones) on that strip, so the audio doesn't get routed back to us.

Deselect A1

With this option deselected, you'll note that the bar moves when you talk but you can't actually hear yourself. That's how it should be, don't worry.

Leave B1 enabled, this B1 output is what we'll use as our microphone in Discord, so if you want people to hear your microphone this must be enabled.

Capturing Desktop Audio

Right Click your volume icon and select Playback Devices

Playback Devices

You should see two Voicemeeter devices, they represent the strips 3 and 4.

Strips 3 and 4

We are going to select one of them as our default output, it doesn't really matter which one but you have to remember the one you select in case you want to do the optional step at the end.

As always, I'm going to select the first strip (not the AUX one) just so it looks more organized.

default device

After you do this, you'll note that the bar on the strip we select will move, showing us that it's indeed capturing our desktop audio:

desktop audio

You'll notice that, if you disable A1 on that strip, you'll stop hearing your desktop audio.

Enabling B1 will route the audio from the desktop to the virtual output that we're gonna use on Discord. This is where you'll toggle whether or not you want your friends to hear your desktop audio on Discord. (We'll see how to create a shortcut for that later)

Discord Setup

All you need to do on Discord is to change your input device to voicemeeter's virtual output.

discord microphone

I have renamed my devices, so yours will probably show up as "Voicemeeter Virtual Output" (there'll be two of them, usually B1 is the one that says "Voicemeeter VAIO" on the desc, and B2 says "Voicemeeter AUX VAIO")

You can double check now, if you disable B1 on both strips we're using, Discord won't pick up any sound at all!

Be aware of Discord's input sensitivity setting, this setting will also affect your desktop audio when Discord picks it up, so if they can't hear some sounds, consider raising your sensitivity

Creating a Shortcut

Before creating a shortcut, let's disable B1 on the Virtual Input strip (our desktop audio), so this will be our default setting (not routing audio) and then we can press the shortcut to toggle that.

Hit Menu and enable Macro Buttons

macro buttons

This will enable this small app:

macro dashboard icon

Open it and right click an empty space to edit

  • Fill button name and subname as you want, these are just labels and does not impact on anything
  • Button Type: Push button (hold) or 2 Positions (toggle): Let's go with 2 Positions.
  • Keyboard Shorcut: chose one that fits you the best, I'm going with ALT+F12

Request for initial state: Strip[3].B1=0

Meaning that B1 must be off for the shortcut to start working.

Request for Button on: We want to enable B1 on the strip 3 when we press the shortcut, so let's fill it with: Strip[3].B1=1

And we want to turn it off when we press it again, so let's fill Request for Button OFF with: Strip[3].B1=0 again.

Strips start from left to right at 0, so it's 0, 1 and 2 for Hardware Inputs, 3 and 4 for Virtual Inputs

button configuration

Now, right click the title bar and select System Tray, we want this app to be running at all times, this will make sure we don't close it by accident

System tray

We'll see that whenever we press our shortcut, B1 lights up.

Shorcut in action

Optional Step

If you want to, you can select the other voicemeeter virtual input as an Output on Discord, this will allow you to control the volumes and outputs in the same app.

Be sure to leave B1 disabled on this one if you do this, otherwise people will hear themselves.

Other Info

I'm not an expert, I just learned how to simply set this up, I am not able to troubleshoot anything. The setup is pretty straightforward and it should work fine, in case it doesn't Google is a far more reliable source than me.

@Nicholas-Newton
Copy link

My Discord settings :
http://prntscr.com/o73i8g

My Voicemeeter Banana Settings:
http://prntscr.com/o73ikw

Please help, I can hear other people in discord, but they can't hear me.

@Immotay
Copy link
Author

Immotay commented Aug 6, 2019

@Nicholas-Newton
You have the mute button enabled on the first strip (the one that you're using for your microphone).
When it's red means it's muted. It should be greyed out.

@Sleepyhe4d
Copy link

Made an account just to say that this guide doesn't work and it must not have even been tested. When you put your desktop audio into Discord as a microphone input, what audio do you think is included in your desktop audio? The answer is anyone talking on their mics in Discord. This guide will 100% make your friends hear their own mics and voices. In order to fix this you have to set Discord's output device as a virtual audio cable and then set that same virtual audio cable as an input in Voicemeeter and then disable the Voicemeeter Virtual Out for that specific input by deselecting "B1" under that inputs options.

@Immotay
Copy link
Author

Immotay commented Sep 24, 2019

@Sleepyhe4d

In order to fix this you have to set Discord's output device as a virtual audio cable and then set that same virtual audio cable as an input in Voicemeeter and then disable the Voicemeeter Virtual Out for that specific input by deselecting "B1" under that inputs options.

Actually you just need to set discord output directly to your headphones instead of "default device". No need to do all of that. I thought this part was common sense and forgot to include it in the post. My bad. But your solution isn't even close to be the easiest one.

@Sleepyhe4d
Copy link

@Immotay

But your solution isn't even close to be the easiest one.

I mean it only takes like 10 seconds longer to setup, but yeah the other way is easier. However, I was having a problem with Discord recognizing certain output devices. In fact, I just saw your name on a related Discord bug report, so you must have had similar problems.

@Drew-Makes-Bugs-Happen
Copy link

Drew-Makes-Bugs-Happen commented Apr 28, 2020

This was really helpful! I tried getting all these settings working on my own but then I realized, after 1 and 1/2 hours i could find this somewhere, and I got the best possible tutorial. And if it werent for @Nicholas-Newton bringing that up i would have never gotten it working.

@KaKi87
Copy link

KaKi87 commented May 26, 2020

Hello, I've been told that my mic quality decreases when I use my microphone through Voicemeeter Banana compared to when I use it directly in Discord. Do you have any advice to resolve that issue ? I really like Voicemeeter and I would prefer not having to stop using it. Thanks !

@Bubbie1214
Copy link

I have an issue, I'm able to hear my microphone and others, but others on discord can't hear me, I've looked into the discord settings and it's to voice meter input & output and computer default settings (the playback and recording). I don't know what to do, but it seems like discord can't pick up my microphone from voice meter banana, I've done the troubleshooting guides, but it doesn't work. Maybe i'm missing something, so please someone reach out to this comment and help me out!

Discord Settings:
https://prnt.sc/urjc43

Voicemeter Banana Settings:
https://prnt.sc/urjclc

Computer Default settings;
Playback: https://prnt.sc/urjd7i

Recording: https://prnt.sc/urjdn1

It's just discord not able to pick up my microphone through voicemeter.

@Bubbie1214
Copy link

Solution Fixed ^
Apparently, I was ignorant and chose the complicated and long trouble shooting guides when I should of done the most simple fix ever and that was relogging into discord.

@blueprintChris
Copy link

@Sleepyhe4d

In order to fix this you have to set Discord's output device as a virtual audio cable and then set that same virtual audio cable as an input in Voicemeeter and then disable the Voicemeeter Virtual Out for that specific input by deselecting "B1" under that inputs options.

Actually you just need to set discord output directly to your headphones instead of "default device". No need to do all of that. I thought this part was common sense and forgot to include it in the post. My bad. But your solution isn't even close to be the easiest one.

This is the correct answer. If this doesn't work, try restarting discord/voicemeeter; this fixed the problem for me

@VelocityRa
Copy link

Btw, you can only do half of this guide and use https://sonobus.net with ASIO to also get high-quality and low latency (and in general more configurable) audio instead of Discord.

@NotRazerNaga
Copy link

hello can someone please help me voicemeeter banana was working fine , but then i updated discord and it stopped working i tried restarting my pc and reinstalling discord and it still wont work

@Kcharle
Copy link

Kcharle commented Jun 30, 2021

So weird, Discord + VM Banana work fine on my windows desktop PC, however on my new Windows laptop

I've followed this guide and tried

  • Using Voice Meter Cable as well just using the specific Voicemeter Input as the output option for discord and can't get ANY audio from discord into Voicemeter.
  • I've made sure everything is good in device manager, no warnings etc.
  • Tried setting the default windows sound device for both recording and playback
  • Tried specifically setting the audio for Discord to be routed to Voicemeter

All other apps provide audio through voicemeter with no problem. any suggestions?

@dfktestbot
Copy link

After a bit of troubleshooting the audio quality turned out terrible, are there specific setting to imrpove this?

@arturofalkuro
Copy link

If anyone is having problems with it being choppy, it seems like altering settings on other applications (Windows settings and Discord for me) while voicemeeter is running can cause it to go a bit haywire. Restarting voicemeeter once you've applied those settings worked for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment