Aggregating Audio Devices in Mac OS X

Need more inputs or outputs than your current audio interface provides? Got 2 interfaces? Running Mac OS X? Hollin Jones explains how Audio MIDI Setup can fool your DAW into using two devices as one!  

Anyone who has been making music with Macs for more than a decade will remember the “bad old days” of OS9, when audio and MIDI streaming in and out of a computer meant relying on specially written drivers and the OMS MIDI system. These were bolt-ons, and together with OS9's inherent stability problems related to Extensions (I still shudder when I think of how often Macs used to crash compared to today), meant you were more or less at the mercy of whoever had written the drivers for your device. 

This all changed with OS X, which uses CoreAudio and CoreMIDI frameworks built in at system level. Developers are able to use these standards when making hardware and software, and the result is an infinitely more reliable way to transfer data. Some time ago, OS X gained a rather interesting ability which addressed a fairly common problem for musicians. This is the ability to aggregate multiple audio interfaces or hardware connections into a single virtual device. So if you have two audio interfaces, one with two inputs and one with four, you can connect them both, perform a quick setup and they will appear to your DAW as a six input device. It scales up too, so you can add as many devices as you can physically connect. Since DAWs can normally only see one interface at a time, aggregating several devices “fools” them into seeing several devices at the same time. Here's how it works. 

Step 1

aggregate device 1

Open the Audio MIDI Setup application on your Mac and go to the Audio Devices window. Click on the plus icon at the bottom left of the window to create a new Aggregate Device, then double click in its name field and assign it a name. 

Step 2

aggregate device 2

In this example you'll see that I have two external devices connected as well as my MacBook Pro's built-in audio hardware and a Soundflower virtual routing device. For simplicity's sake, what I will do is assign the two hardware interfaces to work as one. So I click the Use boxes for the Xiosynth and the Yamaha device. 

Step 3

aggregate device 3

You'll notice that my Aggregate device is now reporting 14 ins and outs, which is the sum of the 2/2 of the Xiosynth and the 12/12 of the Yamaha. I have set the larger Yamaha device as my Clock source, and gone into the Xiosynth's tab to make sure that it is working at the same sample rate as the Yamaha.

Step 4

aggregate device 4

Next I open the audio preferences in my DAW, which here happens to be Logic, and set the input and output to the Aggregate device. 

Step 5

aggregate device 5

Now when I create an audio track, I can set its input and output to use any of the 14 channels available, either when creating the track or from the channel inspector. These correspond to the twelve channels on the Yamaha plus the two on the Xiosynth. 

Step 6

aggregate device 6

Here is the same thing set up in Reason and you will notice again that there are 14 ins and outs available. If you needed even more you could add more devices or even use the built-in audio hardware on your Mac, though it won't offer the same recording quality as a dedicted unit. 

Hollin Jones was classically trained as a piano player but found the lure of blues and jazz too much to resist. Graduating from bands to composition then production, he relishes the chance to play anything with keys. A sometime lecturer in videographics, music production and photography post production, Hollin has been a freelance w... Read More


Dave DeLizza
Nice tutorial, been doing this for some customers that need it. The only bummer I've found, how do you know what the inputs correspond to? There is no way to label them, correct?
In some DAWs you can, in others not. In Cubase for example you can rename any of your ins and outs in the VST Connections window. In Reason / Logic, you can't.
Nice work Hollin! This is an excellent and much needed tutorial for all Mac OS audio-wielding users!

I'd love to see Audio MIDI Setup allow for custom I/O names which could be read by all DAWs using Core Audio...

btw, in Logic 8 and 9 you can assign labels to input, output and bus channels. In the Mixer's local menu choose: Options > I/O Labels...

The labels you create here are global, so will be be visible for all projects (past, present and future)

Hollin, this was an awesomely helpful post. I was aware of the I/O labeling capability in Logic, but had never heard about the Aggregate Device possibility. I've been frustrated for years by the audio interface devices that claim 12 or more inputs, but these include the SPDIF and ADAT inputs that are difficult to configure along with the basic (and limited number) of mic preamps. I have an Apogee Ensemble (with '18 inputs', only 4 of which are preamped) and an older Motu Project Mix with 8 mediocre preamps. Whenever I wanted to mic a drum kit with more than 8 mics (exceeding the capacity of the PM), I had to resort to feeding ADAT into the Ensemble. But with your enlightenment, I've set up an AD in Logic and can now see 10 more inputs from the Project Mix. I'm not sure exactly what those inputs represent as yet, but I'll figure it out and get them labeled (as per Rounik's info). Great stuff, you guys, and very much appreciated!
How do you connect multiple interfaces to your computer? For example, if I have three devices that all have FW800 connections but I only have 2 FW800 slots on my computer, what do I do? Daisy chain?

BTW, awesome stuff Hollin! I've been enjoying your articles since you joined up with MPV :-)
Yes you could daisy chain them if your devices have enough ports, but some interfaces get a bit twitchy if you do that. Alternatives are a FW hub or an extra PCI card, if you have a tower...

Thanks for the fast reply!!
I have a question about setting the master clock on an aggregate audio device. I have an aggregate audio device that uses 2 MOTU Travelers. Sometimes I also use an Apogee Rosetta AD 2 CH A/D(connected via TOSlink). If I use the Rosetta, it needs to be the master clock. I have wordclock cables connected as follows: Rosetta WC Out>Traveler#1 WC In. Traveler#1 WC Out>Traveler#2 WC In.

Do you know which device should be set as the clock master? I chose Traveler#1. The documentation says to chose the hardware device that is the master. However, the only options are Travelers#1 and #2 (not Rosetta). It seems to work, but I want to make sure I'm not missing anything. Thanks!

Want to join the discussion?

Create an account or login to get started!