Also in the Audio settings, under Advanced set the monitoring device to "Monitor of OBS monitor sink." Next, in the audio mixer panel, click the gear for any audio source and go to "Advanced Audio Properties". The primary one will be "To_OBS", and the second one will be "To_OBS (Monitored)" (which are the descriptions of to_obs and to_obsmon respectively). Under Settings -> Audio, you should configure two desktop audio devices. (Yes, there is both a source and a sink called from_obs.) Zoom will happily let you select the virtual from_obs source even while it hides from_obs.monitor. We create a source called from_obs that just copies audio from the monitor of the from_obs sink, called from_obs.monitor. So this time we solve the problem using a virtual source, which, you guessed it, just copies data from some other source. The slight problem is that zoom will not give you an option to use a monitor source, because zoom thinks you want to use a real microphone, which should look like a hardware audio device. Hence, even though the audio will not go to any real audio device, we want zoom to send the from_obs.monitor audio back upstream. Again, the reason this is useful is that the null sink has a monitor source. This is a null sink, meaning pulseaudio will just discard the audio played to that sink. Next, we create a third sink called from_obs. But, it will be possible for OBS to distinguish what you've sent to to_obs from what you've sent to to_obsmon. So anything you play to to_obs or to_obsmon will just come out of your speakers (because of maseter=speakers, which you will have to replace with the real name of your speakers from the output of pactl list short sinks). Why is it useful? Because each sink has its own monitor.
#HOW TO SETUP VB AUDIO CABLE WINDOWS 10 KEYGEN#
In the first two lines, we create "virtual sinks." A virtual sink is a sink that just passes audio along to another sink. Load-module module-echo-cancel aec_method=webrtc source_name=aec_mic source_master=nt5 sink_name=to_obsaec sink_master=to_obs use_master_format="true" aec_args="analog_gain_control=0\ digital_gain_control=1"Okay, let me break down what is going on here. Load-module module-virtual-source source_name=from_obs master=from_obs.monitor source_properties=scription=From_OBS Load-module module-null-sink sink_name=from_obs sink_properties=scription="OBS\ monitor\ sink" Load-module module-virtual-sink master=speakers use_volume_sharing=no sink_name=to_obsmon sink_properties=scription="To_OBS\ (Monitored)"
Load-module module-virtual-sink master=speakers use_volume_sharing=no sink_name=to_obs sink_properties=scription=To_OBS In my example, my real microphone is called nt5 and my speakers are called something complicated, so I'll just call them speakers here for simplicity. Also a reminder that to kill pulseaudio, you can run pulseaudio -k, and then it will re-read your new default.pa when it restarts (which may be automatic for many configurations). Note that to test this out, you can paste these into pacmd if you want to test things out. So then this is what you need to put in ~/.config/pulse/default.pa.
Instead, we'll have pulseaudio direct both to_obs and to_obsmon to your speakers, and will send the audio output of OBS just to zoom, not to any real devices. So while in an ideal world you would have two audio output streams from OBS, send one to zoom and both to your speakers, we are going to have to approach this differently. The complication here is that the only way to get sound out of OBS is through the monitor device, and there is only one. from_obs will be a source for sound coming out of OBS.You would use this, for example, if you were were playing a video for people in your zoom chat, and want the audio both recorded and sent upstream. to_obsmon will go to OBS to be recorded and sent back upstream.This will be used for audio from your videoconference, which you don't want to send back upstream. to_obs will be a new sink that goes to OBS and is recorded in OBS, but where the sound is not sent upstream.Basically what we need to do is create 2 new sinks and one new source. Here is how I accomplish this using pulseaudio.