If you have the pleasure of using multiple Cinema Displays, one frustration you might share with me is being forced to choose which display (rather than both) as the audio output device. This has always made for an awkward audio experience that was frustrating. This weekend, I finally tracked down a decent solution, so I thought I would share it here.
I started off following Apple’s guide to combining multiple audio interfaces to create an “Aggregate Device”. The process is actually really simple, first up you need to run “Audio MIDI Setup” from in /Applications/Utilities. Once it’s running, you will see the normal “+” in the lower left corner. Click it and pick “Create Aggregate Device” as seen here:
After you create the Aggregate Device, you then need to add devices to it, in this case both of your “Display Audio” devices, as seen here:
After adding the two devices, the Aggregate Device should now list 2 in and 4 out channels and have both display audio devices listed under it as follows:
Next up, you need to click on “Configure Speakers”. In that window, click both checkboxes in the streams list. In the bottom part of the window you will need to do a little experimentation. In my case, the right setup was to pick “3″ for the Left and “2″ for the right as seen here:
but the goal you are trying to achieve is to have the left monitor play sound when you click the left speaker and the right monitor play sound when you click the right monitor. Try the various combinations until you feel you have it right.
At this point, if you set the Aggregate Device as your output device, you should hear audio playing out both monitors, but with two caveats. First off, the sound is a bit “center heavy”. Second, if you try to use either the keyboard shortcut or the speaker icon to adjust volume, you will find that you can’t change the volume anymore. Neither of these are obviously desirable, but thankfully I found solutions to both.
The first issue with the off balanced sound is easily fixed directly inside the Audio MIDI Setup app. The solution is to reduce the volume on the “inner” speaker on both monitors. To accomplish this, I set the “outer” speaker to a value of 1.0 and the “inner” speaker on each monitor to 0.85. This seemed to accomplish the sound effect I prefer, but feel free to tweak the values to your liking. Here is what the screen looks like when you are configuring each:
I found it not particularly obvious which output was which, so have audio playing and click the mute checkbox to determine which is which as needed.
The final issue to resolve is having the ability to change the audio volume like normal. Unfortunately, I didn’t find a way to do this without the help of a 3rd party app, but thankfully, Soundflower seems to do the trick without any extra bloat and appears to be well maintained. It’s hosted on Github and you can find a download link both on Github and it’s Google Code home. Once you install it, you will find two new audio devices are listed in the Audio MIDI Setup app. For my purposes, the two channel device fit my needs, so I went in and set it as the default for both input, output, and system alert sounds (right click on the device and you will see options for each). You don’t have to do all three, but I found it works for my needs, so might for yours too. Once you have done that, launch the Soundflowerbed app from /Applications/Soundflower and then look for a menu bar icon shaped like a flower. Click on it, and then pick your Aggregate Device as shown here:
With that, you should now be all set. Try hitting the volume change keys on your keyboard and confirm everything is working.
If you run into any issues or have any comments / improvements to this, feel free to sound off with a comment below.