
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.

In the first two lines, we create "virtual sinks." A virtual sink is a sink that just passes audio along to another sink. Why is it useful? Because each sink has its own monitor. 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). But, it will be possible for OBS to distinguish what you've sent to to_obs from what you've sent to to_obsmon. Next, we create a third sink called from_obs. This is a null sink, meaning pulseaudio will just discard the audio played to that sink. Again, the reason this is useful is that the null sink has a monitor source. 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. 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. So this time we solve the problem using a virtual source, which, you guessed it, just copies data from some other source. We create a source called from_obs that just copies audio from the monitor of the from_obs sink, called from_obs.monitor. (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.

Under Settings -> Audio, you should configure two desktop audio devices. 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).

#How to setup vb audio cable windows 10 keygen
