Ever wanted to record individual podcast guests over a remote recording VOIP app (such as Zoom, Skype, etc.) while still recording them into individual tracks?
If you tried you’ll know that the hard part is to configure the infamous “Mix-Minus”. Mix-Minus is the magic that allows everyone in the session to hear each other, but not themselves. In order to do this, you need to feed each of the participants a personal mix of the call that includes all other participants and/or audio sources minus their own channel, hens the term “mix-minus“.
This article is specific to Logic Pro X, from Apple and for Apple’s MacOS. Similar steps can be used for other tools, and other tools can be found for the MS Windows operating system, but are beyond the scope of this article.
Follow these steps to configure your MacOS to record a live podcast with multiple remote co-hosts using Logic Pro.
- Latest MacOS with up-to-date Logic Pro X installed
- Loopback by Rogue Amoeba
The Theory on One Leg
In order to record multiple remote users we need to solve two separate challenges:
1. Route each co-host’s source into a separate track in Logic Pro
2. Send back an individual mixdown to each participant, known as a “mix-minus”, so they can hear each other.
In order to send and receive individual input/output for each source, we will use the Loopback application to create multiple “Virtual Audio Devices”.
To understand what is a virtual audio device, let’s see how a physical audio device looks on our computer.
When you plug a USB audio device such as a microphone or USB mixer into your computer, it shows up as a physical audio device. Once it is detected by your computer, you can choose it as a source for an audio application like Skype, Zoom, Google Hangout or Logic Pro to name a few.
A virtual device can turn a software-based audio application, such as iTunes, YouTube player running inside a browser, or the output of any communication software such as Skype, Zoom or FaceTime, into a virtual device, just as if it was a physical USB microphone.
The first challenge with Logic Pro X, which is a Digital Audio Workstation (DAW) application, is that Logic can only configure a single device as its source for recording. This means we can only record the channels that this single device is exposing, so either the USB mic, or a Zoom session, or a Skype session but not all at once.
But in our case, we want to record multiple different sources, at once. E.g. we want to use our own USB microphone, the output of Skype for one of your co-hosts, the output of FaceTime for another co-host, etc.
The next challenge is that in order to have a conversation with your co-hosts, they all need to hear you and each other as well as any audio you might be playing locally like sound-effects from a soundboard or some music you are playing through iTunes, and, as a reminder, you want all these to be recorded individually into separate tracks so that you can edit and mix them individually later on.
The easiest way to do this is by sending the final mix of all these tracks back to all the participants. But if you’ll do this, a few things might happen:
1. There might be feedback/echo if their voice is bleeding back into their microphone
2. They will hear themselves with a slight delay (50 to 500 milliseconds, depending on the Internet speed and physical distance) which is just long enough to make their brain go crazy, playing an evil torture game with their sanity.
The solution to this problem is called a “Mix-Minus“. This is a mix of all the audio sources participating in the session “minus” the own voice of each participant. This way they can hear everyone else, but there is no issue of hearing themselves with a delay or a chance of their own voice bleeding back into their microphone to cause any feedback.
Unfortunately, a Mix-Minus is one of the hardest things to understand as well as configure. And the more participants and audio sources you have, the more complex the solution becomes.
As I mentioned before, these two problems of recording each audio source into its own track, and creating the individual mix-minus for each participant, should be looked at as two separate problems, although they are interwound.
In order to make it easier to follow and configure, I will first focus on the recording part and then move on to the mix-minus part.
Configuring remote multi-track recording
In this part we will do the following:
1. Using Loopback, we will create “virtual devices” for each software-based audio source (such as a music player like iTunes, a communication software like Zoom, FaceTime, Skype, a sound effects soundboard, etc.)
2. We will create one additional special “Virtual Device” at the OS level, called an “Aggregate Device” to combine all these separate inputs into channels of a single device
3. In Logic Pro we will use this new “Aggregate Device” as the audio input (and output) for our recording session
4. We will configure the various inputs inside Logic Pro and do a test recording to see that each source is really mapped to its own track
Before we begin, I want you to take a moment and list all the input sources you are going to use, and for each write down if it is a physical or digital source.
In addition, for each digital device mark if it supports selecting an input source (like Zoom, Skype, or FaceTime) or not (like iTunes, VLC, etc.)
E.g. a typical list might look like this:
Physical devices are already showing in your computer as inputs that you can choose when configuring tools like Logic Pro.
But, there is no way to choose a software source such as Zoom, Skype, FaceTime, iTunes, etc without some trickery.
This is where Loopback comes to the rescue. Loopback can create as many virtual audio devices as you might need.
Launch Loopback, and repeat the following for each of the Digital sources in your list (no need to do it for the physical ones):
- Click the “(+) New Virtual Device” button in the lower-left side of the window
- Name it by the name of the device followed by “Output”, e.g. “Skype Output” or “iTunes Output” (this will help us identify them later on)
- Leave all the other settings as is (Mute Audio source: “on”, Channel Mapping: “Automatic” and no audio sources)
- If the source has no selectable input, click the ‘+’ button of the Audio Sources list at the top and look for that software in the list (e.g. look for iTunes, or Safari or Chrome)
As soon as you make the changes, your computer will add these new “Output” devices to the list of devices you can select as inputs. See the two examples below of the iTunes and FaceTime virtual Outputs.
As you can see in these two examples we left the “Audio Source” empty for the “FaceTime Output” (because we can choose the output device when we use FaceTime) and we set the iTunes “Audio Source” to iTunes (because there is no way to change the output of iTunes from the app).
Next, we need to overcome the limitation that you can only choose a single input device in Logic Pro.
In order to relax this limitation, we need to use a special MacOS built-in utility called “Audio Midi Setup”. Despite the name, this tool does more than setting up Midi. The easiest way to find this tool is to use Spotlight and type “Audio Midi Setup”. Otherwise, you can open Finder, click on the Go menu and choose Utilities, or hit CMD+SHIFT+U. This will open the “Utilities” folder on your mac, and in it, you will find the “Audio Midi Setup” application.
Launch “Audio Midi Setup”, and in it, make sure to select the “Window” menu select the “Audio Devices” window. Here you will create a new single Virtual Device but this time at the OS level, that combines all the devices (physical and virtual) into a single “Aggregate Device” that we can then use with Logic as our single input device. Don’t confuse the term Virtual Device here with the term Virtual Device in Loopback. This one is slightly different and is not controlled by Loopback. Also, note that you will see here all the virtual output devices created in Loopback listed here as well.
To create the Aggregate Device, in the lower-left corner of the “Audio Midi Setup tool” click the ‘+’ button and choose “Create Aggregate Device”
You may rename it to something that is easier to find like “Podcasting Aggregate Device” by clicking its name in the left side-bar and typing the new name:
Now we are ready to add to it all the virtual and physical devices we want to include use in our recording session.
Let’s start with the standard system output so that we can have access to the speakers/headphones of the device (otherwise we will not be able to hear anything we do). Next check all the devices you want to use in your setup including the physical devices like your USB microphones and/or USB adapters/mixers, as well as the virtual Outputs we have created before for each of the applications we want to use like iTunes, Zoom, Skype, FaceTime, etc.
Notice what we got here:
The input channels show 4 pairs of inputs and the output channels shows 4 pairs of outputs.
These numbers (1 through 8) will later show up in Logic X as our selectable inputs for each track so leave this window open for quick reference of which numbers go with which source.
Launch Logic Pro, open the “Preferences-> Audio” settings and select our new “Podcasting Aggregate Device” as the input/output device:
The last thing we need to do is create a track for each of our sources, choose the relevant input for each and label them.
Tip: when you add tracks (using the plus ‘+’ button at the top left corner of the timeline editor) you want to use the “(1+2)” style for stereo tracks and the single-digit numbers for mono tracks. Also, make sure you choose “Audio” as the type of source and not Instruments, etc.
Before we can record these sources, you’ll need to go to each of the applications (Zoom, Skype, FaceTime, etc.) and configure their audio setting to use the relevant “Output” device as their “Speaker/Output” E.g. In Skype go to the audio settings and choose the “Skype Output” device as the output device. Do the same for each software you want to use for your participants (the ones that you marked as having a “selectable input” in the table above.)
That’s it. Now just arm all these tracks in Logic Pro for recording (click the ‘R’ button) and the Input monitor (‘I’ button) for each of these, and start recording, while ensuring that Logic is capturing the audio of each of these sources into their own audio track.
Next, we will set up the mix-minus configuration for each of the participants so that they can hear what you can hear, or very close to it.
Configuring a Mix-Minus submix for Each Participant
As we mentioned, each participant wants to hear the voice of all the other participants except for their own, to reduce feedback and due to long Internet delays.
Here is a quick summary of the steps we are about to take:
• In Loopback, we will create an additional virtual device for each “mix-minus” we need (one per target like Zoom, Skype, FaceTime, etc.)
• In the “Audio Midi Setup” tool, add these new virtual “mix-minus” devices to our “Podcasting Aggregate Device” (so that we can access them from Logic)
• Back in Logic, create individual mixes for each participant using the “send” feature and route it back to their individual mix-minus virtual device
• In the relevant applications, choose the new mix-minus we created as the “input”
So, let’s start by creating a new Virtual Device in Loopback for each application we want to use for communicating with a co-host/guest speaker (e.g. “Skype Mix-Minus”, “FaceTime Mix-Minus”, Zoom Mix-Minus” etc.
Note that we only need these for applications that represent remote speakers. You don’t need to create these for applications like iTunes, VLC, etc. Also due to the default behavior of these tools, by default, you can only have one person for each tool. You can find some methods on the internet for how to run multiple copies of some of these tools simultaneously, but it is beyond the scope of this post. For this post, we assume you use one software per guest (e.g. guest one on Skype, guest two on FaceTime, guest three on Zoom and guest 4 on Google Hangout)
Note: you may or may not have a default “pass-through” device, but in any case, you may ignore it.
All these devices we just created are what is called by Loopback a “pass-through” device. All it means is that it creates a virtual device that is not dedicated to any specific software, and it allows to connect to it any input/output of any software on the computer.
We will now go to each of these applications (Skype, FaceTime, etc.) and configured their input to be these individual Mix-Minus devices (e.g. “Skype Mix-Minus”, “Facetime Mix-Minus” etc.) so that once the session is live, our Logic Pro mix-minus will feed into them the specific mix instead of them picking our microphone or something else.
Next, open the “Audio Midi Setup” tool again, and in our “Podcasting Aggregate Device” select the checkbox of these newly created Mix-Minus virtual devices:
In this example, I added Skype and Facetime and you can see the additional 9-12 channels that were added to our list.
Yet again, take a note of which numbers belong to which mix-minus virtual device (in the example above 9-10 is mapped to Skype and 11-12 is mapped to Facetime).
Wait: before we can continue, we need to force Logic to refresh its list of channels from the updated “Podcasting Aggregate Device” due to a bug in the current version. A quick way to do this is to reselect the input/output in the Logic Prefences->Audio dialog. Just select another one and then back to the “Podcasting Aggregate Device”, or otherwise you can quit and relaunch Logic.
Now comes the last step, which is probably the most confusing of them all, creating the actual mix-minus for each in Logic Pro.
What are we about to do next?
For each remote participant’s application, we will create a “private dedicated mix” inside Logic that is fed with all the inputs we want except for their own output.
In order to do this, we will use the “send” feature in Logic. Send is typically used in audio mixing to send a “copy” of the audio of a track to a different target, such as an effect rack, without affecting the original track itself.
We will use this method to send each user a copy of all the other sources except their own (mix-minus) as follows:
We will first create an “aux” channel for each mix-minus we need and set its input to a unique “bus number” in Logic so that we can send audio to each of these. If you are not familiar with busses, think of them as physical wires that allow you to route audio from one place to another. You can send multiple sources into the same bus, and then send this bus to any number of inputs.
In our case, we will create a bus for each mix-minus, and then we will create an aux track (track that is only for adjustments but can’t be armed and recorded) that will map this bus to the relevant output (not the stereo one) to be sent back to the application that consumes this mix-minus.
In the mixer window, click the “Options” button and select “Create New Auxiliary Channel Strip”
Name it after the mix-minus you are about to use it for (e.g. Skype Mix-Minus) and in the output change it from “Stereo Out” to the relevant number for this mix-minus in the Midi Setup output channels list.
In addition, set the input to a free bus number. I’m going to use bus numbers 10+ for the mix-minus audio. I’ll use bus 10 for Skype and bus 11 for FaceTime.
Once you are done it should look something like this (I added one for Skype and one for FaceTime):
Note that Logic also created additional output master tracks (purple) for us for each of these tracks.
Finally, we got to the last part of the process:
For each mix-minus, we need to send to its bus the input of all the other sources except for its own.
E.g. for the Skype setup we will send the Mic, FaceTime, and iTunes but not Skype:
We will start with the Mic track: hit the “send” button on the Mic track, and send it to “bus 10 Skype Mix-Minus”
Next, click the narrow gray button under the send we just created, to add another send, and repeat the above but this time send it to “bus 11 – FaceTime mix-minus”
With that our mic is being sent to both mix-minus of Skype and Facetime.
Make sure to set the send level to 0db (otherwise nothing will be sent) by turning the knob next to the send button to 0 (you may option-click it to set it to zero quickly).
In the Skype-track create a single send to the FaceTime bus 11.
In the FaceTime-track create a single send and send it only to bus 10, “Skype”.
Finally, in the iTunes track, create two send buttons and send them to both Skype and Facetime (just like with the mic) because we want both participants to be able to hear the music played on iTunes.
Don’t forget to set the send volume to 0dB on all these newly created sends.
Your final screen should look similar to this:
You may want to rename the purple “Output 9-10” to “Skype Mix Output” and “Output 11-12” to “FaceTime mix output”
Also, do not forget to set the volume of the two aux (yellow) channels to 0db.
Finally, make sure that all your communication tools (Zoom/Skype etc.) are configured now to use the correct personal mix-minus virtual device as their new input.
And with that, we are done, yes, really.
To adjust the overall volume you send each participant, change the volume of their respective mix-minus channel (purple tracks in the example above).
If any guest asks you to increase the volume of a specific input (say if the iTunes output or your mic is too low or hight for them) adjust the send amount using the small knobs next to the relevant bus channel on that input track.
You are all set. Run a test recording with all your guests connected and see that they can all hear each other.
You may want to save this as a template for future recording sessions.
It may well be that things will not work smoothly at first try.
Here are some common things to do in order to troubleshoot common issues:
Problem: I can’t hear the music from my iTunes/Spotify etc
Solution: make sure that their virtual device is specifying them in Loopback
Problem: One or all of my VOIP clients (Zoom etc.) is not picking up the audio from Logic:
Solution: Try one of the following:
- Make sure that your VOIP app is configured correctly with its output sent to your Virtual output device, and their input is set to their relevant mix-minus virtual device
- Make sure that the mix-minus AUX track in Logic (the purple one in the image above) is configured to output to the correct output channels of your aggregate device