calls with multiple audio/video sources and effects

Cover image

In this guide I'm documenting the setup I'm using for my guitar lessons. I'm in a video call, filming myself with multiple cameras for multiple angles, speaking into a microphone and also sharing my guitar audio (which doesn't get in through the same microphone as the voice).

This setup works with Skype, Google Meet, Microsoft Teams, Discord, Zoom and any other similar video conferencing solution, on Windows.

All the video sources will be mixed into a single video device (a virtual camera) and all the audio sources will be mixed into a single audio device (a virtual microphone). This camera and microphone pair need to be used by the chat software.

The Setup

I'm using 3 cameras and desktop share for video, microphone and the guitar input for audio. To get all these together, a software multiplexor is required and OBS Studio is just the thing for that.

Reaper

For audio I pick my microphone signal up directly with OBS, but the guitar signal, together with effects comes from Reaper.

Guitar in Reaper

Notice how reaper is already set up to receive the audio signal through ASIO from the second channel of my Native Instruments Komplete Audio 6 interface, channel I'd previously named "Guitar" in Reaper.

Then, from the track's Routing view, I add a new ASIO send towards first of Reaper's virtual ASIO jacks, ReaRoute 1 and ReaRoute 2 (it's actually mono, duplicated in both channels).

Reaper track into ReaRoute

This is the end of the Reaper setup. As a bonus, I could add and arm for recording a second track, set it to my audio interface's microphone input channel and also throw it into ReaRoute 1 / ReaRoute 2. I'm not doing it here simply because what OBS offers is sufficient in this case.

OBS-Studio

To get the processed guitar audio into OBS, obs-asio makes a return. This time, version 3.0 using by default the Bassasio library is what needs to be installed into OBS.

OBS with ASIO from ReaRoute

Next up, since I mentioned before that I didn't also read the microphone with Reaper (I could have), I'm setting it up in OBS. OBS will be receiving audio from Reaper (through the ReaRoute 1/ReaRoute 2 channel pair), it will be directly receiving audio from the microphone, will mix both together and send them into a virtual microphone.

For a virtual microphone I'm using Virtual Audio Cable this time. In the Rocksmith post I mentioned Voicemeeter - that one works as well, using VAC this time for the sake of diversity. With VAC, it's enough to have it installed as it will set a virtual audio device up and do its work at the Windows driver level.

OBS audio from microphone, monitoring into VAC

Video Mixing

For video I use 2 Logitech cameras, and on top of that I also use my Android phone, through USB, with DroidCam. Just adding them as "Video Capture Device" sources into OBS and arranging them in whichever way seems suitable.

I'm mentioning DroidCam because phone cameras tend to be better than webcam and DroidCam supports high quality, low latency USB communication with the computer (as opposed to Wi-Fi).

Then I just press "Start Virtual Camera" and Windows software will be able to use a new camera called "OBS Virtual Camera".

Skype with OBS Virtual Camera

The picture above shows Skype with this setup.

Discord in Edge with OBS Virtual Camera

This one shows Discord running in Microsoft Edge with this setup. Edge is significantly better than Firefox or Chrome for switching microphone and camera sources at the time of this writing.

Video conference software will generally show the camera image flipped, but this happens only on the source computer - the image will look normal for the other participants, so don't bother with horizontal flips or other transformations.

Audio Mixing

For audio mixing, in the OBS Studio settings -> Audio -> Advanced -> Monitoring Device should be set to "Line 1 (Virtual Audio Cable)". Make sure no "Push-to-talk" or "Push-to-mute" is selected in the same dialog.

Save the settings by pressing "OK", then go to the "Advanced Audio Properties" window (any of the little "cog" wheels next to the Audio Mixer channels) and select "Monitor and Output" for the ASIO and for the Mic sources.

Monitor and Output

The "microphone" to select in chat applications, as seen in the Skype and Discord (Edge) pictures from the previous section, is "Line 1 (Virtual Audio Cable)".

Noise Cancellation

Since version 26.0, OBS comes by default with the RNNoise effect for noise supression. It's pretty much the best than can be done when it comes to noise filtering, so feel free to add it to the Mic/Aux input:

RNNoise Noise Supression

From the project's GitHub it can be downloaded as a VST plugin and used in Reaper as well. OBS supports VST audio effects on its own, and it also comes with common effects such as compressors and limiters.