Rogue Amoeba Loopback Review: Advanced Audio Routing on Mac

The problem

When dealing with audio, particularly with remote work, you need to route your processed microphone audio from your DAW (or other plugin host) to your meeting softare (Microsoft Teams, Zoom, Slack, etc). You can, of course, use your mic directly in the meeting software, but that’s no fun! I want to process it a bit, to clean things up, make it louder, and generally shape my sound.

Virtual interfaces

This is pretty simple to deal with: use virtual interfaces. Most virtual interfaces are very simple: they are a fake audio device, usually with 2 input channels and 2 output channels (but some have many more), which route audio directly from their input channels to their output channels. Some free examples of this are VB-Cable and Blackhole (which notably has a 16-channel version).

To use a virtual interface, you simply install it, then set it as the output device on your DAW. Then, in your meeting software, you set it as your input device. It effectively lets you ouput from your DAW to other software. Any simple virtual interface software will work pretty well for this.

Really, that’s all you need for most things. Once more hardware is involved, though, things get tricky.

It’s tricky

I use Bitwig Studio as my DAW, a Zoom H1essential Handy Recorder as my microphone and, a Shokz OpenRun Pro 2 headset as my headphones. When used as a mic, the H1e operates at a 48 kHz sample rate and 16-bit fixed-point encoding. The headset uses a completely different format, with 32-bit floating point audio at 44.1 kHz. You can’t change that on either of them (I guess you can technically use the headset at 16 kHz. That sounds awful, though). Fortunately, Bitwig Studio is one of the few DAWs that allows you to use multiple devices directly, and it can handle the different bit depths and formats, but everything has to all operate at the same audio rate. This means, I have to either run it at 48 kHz or 44.1 kHz. It actually somehow forces the other devices into whatever bitrate you choose (which probably shouldn’t be possible…), which can make things sound really weird (running the headset at 48 kHz pitches everything down slightly) and unstable.

I can avoid that problem by just not connecting my headset and mic to my DAW at the same time, but then I can’t directly listen to what it’s doing, which is a big problem.

Another major issue is that you frequently need to deal with a range of audio devices, switching between various microphones, headsets, speakers, etc. And, of course, they are all a little different. Generally, this all runs into or out (or both) of a DAW (Digital Audio Workstation). Unfortunately, most DAWs are designed for use with a single audio interface which handles everything, rather than interfacing with multiple pieces of hardware at once. When you have different devices, and they operate with different configurations, DAWs struggle.

Bitwig for MacOS actually deals with that pretty well (other than the audio rate issue I already mentioned). Most other DAWs (including Bitwig on Windows, annoyingly) can’t do that, though.

You can use something JACK to deal with that, but I’ve never really had much luck with JACK (it’s not very intuitive and has been super unstable for me). MacOS lets you create “aggregrate” and “multi-output” devices to deal with this, where it creates a virtual device with multiple channels connected to other devices. This lets the DAW work with a single device representing multiple devices, very much like a large audio interface. It’s a great idea in theory, but every time I’ve used these, I ran into issues with channels on the virtual device disappearing or getting randomly swapped around, which is pretty frustrating.

Loopback

Loopback by Rogue Amoeba solves these problems for me. Loopback allows you to quickly create unlimited virtual interfaces and configure them however you want. It lets you add as many channels as you want, and connect hardware to both the inputs and outputs. It’s a simple, but powerful system.

Currently, I have it set up to create three virtual interfaces for me:

I have one simple 2 in/out virtual interface to shepherd audio from my DAW to my meeting software. I have my headset connected to the output on that as a monitor, so that I can listen to that interface for troubleshooting.

I have another interface set up as a “wrapper” around my headset. The virtual interfaces from Loopback automatically handle audio rate differences, so it gives me a second audio device which can operate at the same 48 kHz as my mic. This means I can use that as an output in Bitwig! I can also use my simple DAW output virtual interface, but this one makes it so I can do things like route audio in the DAW to my headset without worrying about it also going to meetings and stuff.

I have a third virtual interface ready to go as needed which acts as an input in my DAW. I use that one when I want to capture the audio from any software and run it through my DAW (I either make that software output to the virtual interface or I set up Loopback to actually capture the audio).

In the past, before Bitwig gained the awesome ability to use multiple devices, I also had a virtual interface set up to combine all of my inputs into a single aggregate device and another to combine all of my outputs into a single multi-output device, similar to what MacOS offers but without the downsides.

Loopback is a powerhouse for audio routing, and I highly recommend it for anyone who needs to do anything even remotely advanced with audio in MacOS.