MacOS – combine two audio inputs (microphones) for Zoom

audiomacosmicrophonemidizoom.app

I am trying to combine two microphones (usb & bluetooth, so no hardware option exists probably) to feed the combined audio to Zoom. I tried this with the Audio MIDI app (creating 1 aggregate device with the two inputs) of macOS and judging from the input level in system preferences it seems to work. Now I wanted to use this as the audio input in Zoom, however this did not work. It seems that Zoom somehow only took some of those channels effectively discarding one of the two microphones. Hence my question: is there some way to combine two inputs (ideally adjust their levels) and feed that to zoom?

I have read a couple of similar questions (just without zoom reference) such as here, but they mostly to point to Audio Hijack which looks great, but I find it ridiculously expensive for such a little task.

Best Answer

The problem with aggregate devices in macOS is, I think, that the different input microphones will be assigned to different channels. Zoom might pick up only the first channel of the aggregate device rather than mixing all the channels together.

Using a virtual audio device and a mixer software, one could mix the different microphones together into one channel of the virtual device and then select the virtual device as microphone in Zoom. Originally, I was thinking of soundflower (brew install soundflower) or vb-cable (brew install vb-cable), maybe in addition to obs (brew install obs) for mixing. But as BlackHole has been mentioned in the comments, let's try this one:

BlackHole is a modern MacOS virtual audio driver that allows applications to pass audio to other applications with zero additional latency.

  1. Install the homebrew package manager

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Install the BlackHole virtual audio device

    brew install blackhole-2ch
    
  3. Install a mixer software that will be used to combine the microphone sources. You can use Apple Logic Pro if you have it, or you can use obs (free). Unfortunately, I didn't manage to get it working with Apple GarageBand, because this couldn't handle both microphones simultaneously. Here, I'm using obs.

    brew install obs
    
  4. In obs, in the "sources" section, add the first microphone as "Audio Input Capture".

    add Audio Input Capture source

    select your microphone

  5. Then add the second microphone the same way in obs.

  6. In the obs settings (Cmd+,), under "Audio", under "Advanced", select the BlackHole audio device as "Monitoring Device".

    monitoring device settings

  7. In obs, for both microphones, you need to activate "Audio Monitoring". This will route the signal to the BlackHole device.

    You find it in "Advanced Audio Properties" for the microphones.

    advanced audio properties

    input monitoring

  8. Finally, in the Zoom settings, select the BlackHole audio device as microphone.

    zoom settings

The volume levels of the two microphones can be mixed in obs. Zoom used this mix as input.