Universal Audio makes some of the best digital interfaces in the industry. They offer the highest quality and lowest latency available, with incredible flexibility. However, their flexibility comes (understandably) with the cost of added complexity that makes them a bit harder to use with JackTrip.
I write this article as someone who loves my Apollo interface, having spent countless hours (and yes, dollars) exploring what they can do, and loving every minute of it. However, I'm just a guy who likes playing around with audio gear; any real audio engineer easily knows 10x more. Don't take this as best practice but rather a place for you to start. Others may come up with better approaches, and I'll modify this article as I learn them.
The UA Console
UA's Console is a software application that tells your device what to do. If you are reading this, you almost certainly know all about adding plugins to Inserts, Unison, and using Console to control your monitor mix. Everything in Console runs real-time, without almost zero latency, so it is a perfect complement to Soundscapes for live collaboration.
Sending Cue Outputs to Headphones
The first thing that you should know about Console is that it always outputs the mix to left and right "Monitor" output channels of your interface. By default, the headphone jack on UA interfaces is always fed by the Monitor channels. This is where your first challenge comes in: you don't want to monitor the full mix you are sending to JackTrip. You may not want to hear yourself at all; or at least, you want to control your monitor volume separately. To do this, you need to switch your headphones to instead use one of your Cue outputs.
Above your master "Monitor" dial, you should see a "Cue Outputs" button. Click that and make sure that your headphones are linked with "Cue 1" instead of the Console's monitor "Mix."
(Note that I'm using an x4 interface for these screenshots. The UI may vary slightly for other devices)
Setting up a Virtual Stereo Channel
The next thing you'll need to do is tell Console what audio you want it to send to Cue 1 (your headphones).
You should have at least two virtual channels available for your interface to use. By default, these will be displayed as two mono channel strips in the Console interface. If you haven't already done so, you want to link these together into a single stereo channel. Click "Virtual 1" at the bottom of the channel strip and then click the Stereo "Link" button to link them together. Optionally, you may want to rename this to "JackTrip" to further emphasize that these channels will be used to control the audio coming in from JackTrip. Or alternatively, call it "Software" since it's generally best practice to use these channels for any software applications sending audio to Console.
The next thing you should do is "Mute" (and to be safe also turn the volume all the way down) on your "Virtual 1/2" strip. This is really important. If you don't do this, you will end up sending the audio coming from JackTrip back into JackTrip, creating a feedback loop. This will be very loud and make everyone else connected to your Studio very unhappy with you.
Setup Your Headphone Mix
Next, show all your Sends for Cue 1 (your headphone mix) . These sliders effectively control the audio mix being sent to your headphones. Start out with your "Virtual 1/2" slider at 0 and the others muted. You may want to unmute some of the other Cue 1 sliders to provide near-zero latency monitoring of yourself in your headphones. Note that you probably do not want these to be as loud as the JackTrip channel, but may find a little local monitoring (10-20%?) helpful.
It's worth noting here Soundscapes offers a "Studio Loopback Volume" (formerly known as "Self Volume") feature that controls how much of yourself each person hears in the mix sent back to them from JackTrip. This is different than near-zero latency local monitoring. It sends your audio to the Cloud and back, so that you hear yourself at about the same time that everyone else hears you. If your latency is high, this can be disorienting. You may want to turn Loopback Volume to zero and only use local monitoring. However, some people find that having a little bit of each (both Loopback Volume plus some local monitoring) is ideal. Perceptually, it's similar to a live show where you may hear (or feel) the drums both directly and from loudspeakers (each having different latency delays). Some people find that having a little bit of both helps their brains adjust easier to higher latencies.
Note that setting a Studio's Loopback Volume to 100 is a great way to hear yourself the same as everyone else hears you. We recommend doing this to test your setup, before connecting to a Studio with other participants.
Setup Audio Routing
Next, you need to make sure that JackTrip is going to send audio to your Virtual 1/2 channels, and receive audio from your instruments/microphone.
Unfortunately, this is more difficult than it should be right now because JackTrip always uses the first two input and output channels of your audio interface. It is something that we hope to rectify soon with a software update. In the meantime, you may need to make some adjustments.
Open up your Console "Settings" and click on the "I/O Matrix" tab. The "Inputs" column controls the ordering of channels that any software on your computer (including JackTrip or your DAW) can receive audio from. The "Outputs" column controls the ordering of channels that software can send audio into.
By default, Console will have the first few Input channels assigned to your instruments/microphones. If you only want JackTrip to use the first two of these, you can leave it alone. However, this will bypass any insert plugins or mixing that you have configured in Console. Plugins are probably a huge reason why you bought your Apollo, so you probably don't want that.
By default, Console will have the first two Output channels assigned to Monitor left and right channels. This isn't what you want for JackTrip, because it would require linking your headphones to the monitor mix in order to hear JackTrip audio. And if your headphones are also monitoring your mix, you will hear yourself at 100% volume and not be able to control the levels (Yuck!).
Now that you understand the challenges better, let's repeat the goal: you need to make sure that JackTrip is going to send audio to your Virtual 1/2 channels, and receive audio from your instruments/microphone. You have two options to achieve what you want..
Option 1: Modify your I/O Matrix
The easiest approach is to change the first two Input channels in your I/O matrix to Monitor left & right, and change the first two Output channels to Virtual 1 & 2. If that sounds scary, let me point out two features in Console that will hopefully make it less so.
Under "Mode" you will see "Default" and "Custom." If you click "Default" it will reset all the channel mappings back to the original factory settings. If you've never touched your I/O matrix before, this is your safety net to go back.
Next to "Mode" you will see "I/O Presets" with a "Save" button. If you click "Save" you can name your existing channel mapping configuration, and then later restore it from the drop-down menu. This is my recommendation if you've made changes: Save what you have now, and then after you make changes save a new "JackTrip" preset. This makes it easy to switch back and forth.
Here is a screenshot of what my I/O Matrix looks like, saved to a "JackTrip" preset:
Option 2: Use Loopback Software
If you don't want to modify your I/O Matrix, you can alternatively achieve the same goal by using loopback software. For this example, I'm going to use Rogue Amoeba's Loopback app for OSX. You may find this Sweetwater article helpful for an explanation of loopback and other software options (including Windows).
Loopback costs $99 and I believe it's well worth the investment. There are other options available (including free ones like Black Hole) but Loopback is easy to use and more powerful. Using loopback software has additional advantages, allowing you to easily route audio to and from JackTrip from any software applications you have. Play in tracks from your DAW, record your session to your DAW, or play a song from Spotify or Tidal into your session that everyone can play along to.
If it's your first time using it, it does take a little effort to wrap your head around it. Let's start with a screenshot of my configuration for JackTrip:
Make sure that you show Monitors and you should add your UA device both as a Source and as a Monitor. The "Source" channels for your UA device in Loopback map to the "Input" channels listed in your I/O Matrix. The "Monitor" channels in Loopback map to the "Output" channels listed in your I/O Matrix.
You'll want to add an additional "Pass-Thru" Source which JackTrip will send audio into, as well as 4 "Output Channels" for routing. If you select "Rogue Amoeba Software" as your input and output audio interface in JackTrip, it will:
- Receive audio from Output channels 1 & 2. Find the Input channels in your I/O matrix for Monitor left & right ("Mon L" and "Mon R") and connect the corresponding channels in Loopback's UA device Source to Output channels 1 & 2.
- Send audio to the Pass-Thru channels 1 & 2. Connect the Pass-Thru channels 1 & 2 to the Output Channels 3 & 4. Find the Output channels in your I/O matrix for Virtual 1 & 2 and connect Output Channels 3 & 4 to the corresponding channels in Loopback's UA device Monitor.
Testing, 1, 2, 3..
At this point, you should be able to test that your monitor mix is routing into JackTrip by looking at the volume meter bars of its Audio Settings interface. Adjust your monitor mix in Console (or the input volume slider in JackTrip) accordingly to ensure that your loudest audio doesn't clip. Next, test that audio is routing from JackTrip to your headphones by clicking on the "Test Audio Output" button.
(Note: select "Universal Audio" for your Input & Output device, if using "Option 1" from above. Select "Rogue Amoeba Software" if using "Option 2".)
If all is well, you should be ready to connect to your first JackTrip studio using your Apollo interface!
Having trouble? File a support request and we'd be happy to schedule a time to review your setup with you.