You are here

Investigating Core Audio Performance Under Mac OS X

The Ins & Outs Of X By Paul Wiffen
Published November 2004

In recent months, SOS's on-line Mac forum has highlighted the difficulty with achieving the same number of channels of audio I/O under Mac OS X and Logic that were possible under OS 9. We investigate the problems and provide some solutions.

Most Mac users I know are now running Mac OS X in day-to-day use, and I have been using it personally with far fewer problems than I ever encountered with OS 9, so I am always interested when I come across musicians who are still on OS 9 to discover the reasons why they haven't yet switched over. And there are quite a few people out there whose music Macs remain stubbornly on OS 9, even if they have other computers that have migrated to OS X.Investigating Core Audio Performance Under Mac OS X

Sticking With 9

Why is this? Well, there are some people who simply don't feel the need to upgrade yet, as their OS 9-based music system is meeting all their requirements. This is particularly the case amongst musicians who haven't yet got into using CPU-hungry software synths and samplers, and are still predominantly running external hardware MIDI instruments with older, slower Macs.

In keeping with this, most Powerbooks I see these days are running OS X for music and audio. After all, if you want a portable system, you're more likely to want to be unencumbered by hardware and use software instruments, and to do this, you'll need a recent, powerful machine, the majority of which now only run OS X. In contrast, the majority of the non-portable Macs I see are still running OS 9. Many owners cite the lack of availability of a particular plug-in as their reason for not wanting to move over, or sometimes a freeware or shareware program which has not yet been ported across.

A more commonly cited reason, now that most plug-ins have been ported to Audio Units or VST under OS X, is that the developers (not surprisingly) want to charge something extra to 'upgrade' to the OS X version, whereas the users (also not surprisingly) don't want to pay for something which gives them no additional functionality, just the ability to run under the new OS. Whilst this might seem a rather penny-pinching attitude when applied to individual pieces of software, when you look at the number of plug-ins that people may have acquired on an OS 9 system over the years and how many different update charges it may entail to replicate this exact setup of plug-ins under OS X, it becomes understandable.

However, the biggest single reason that I hear for not moving the main studio computer across to OS X is that it would currently cause a reduction in the number of available I/O channels. Indeed, the main complaint that SOS hears from end-users migrating from OS 9 to OS X is that they were not aware that this reduction of channels would happen until they embarked on the procedure and found themselves with fewer I/O channels available. I decided to investigate how this comes about, and to see what, if anything, can be done to counteract or work around this reduction in the number of inputs and outputs available to the user.

I/O, I/O, It's Off To X We Go

Core Audio was designed to be a central part of OS X, a single I/O engine for use by all applications which would operate at as low a level as possible in the OS to reduce the amount of to and fro between applications and hardware drivers, and thus also reduce both processing demands and latency. In this it has been very successful, and most PCI, USB and Firewire audio interfaces on the market now offer their best performance under Core Audio in OS X. Drivers have become more streamlined, if they are needed at all — many of the simpler USB devices are class compliant, requiring no bespoke driver whatsoever, but registering their presence and configuring themselves automatically on connection. What's more, installation of even the most complex devices has become much simpler and more reliable. It is a long time since I have failed to get an audio I/O device to work on the Mac, a fairly regular occurrence in the OS 9 days.

Firewire interfaces such as MOTU's 828 and M-Audio's Firewire 1814 work well under Mac OS X, but Logic users cannot address multiple 828s under Core Audio, as they could in OS 9. An application-specific workaround is provided to MOTU users in Digital Performer (and it works for other, non-MOTU interfaces, too), but at the time of writing, an OS-level fix is still not forthcoming.Firewire interfaces such as MOTU's 828 and M-Audio's Firewire 1814 work well under Mac OS X, but Logic users cannot address multiple 828s under Core Audio, as they could in OS 9. An application-specific workaround is provided to MOTU users in Digital Performer (and it works for other, non-MOTU interfaces, too), but at the time of writing, an OS-level fix is still not forthcoming.

Also, it is rare now to find a device which works with some programs on the Mac but not others, as the device is talking directly to the Mac's central OS instead of to a subsidiary part of an audio application which has had to be specifically written to speak the particular language that the device supports (such as EASI for older Emagic hardware under OS 9, or Digidesign's DAE for their hardware). So the 'Tower of Babel' effect which used to exist under OS 9, where audio applications had to speak a whole host of different languages to communicate with all the different audio devices out there has largely been replaced by Core Audio as a common, OS-level language.

However, the very first time I opened Emagic's Logic under OS X around two years ago, I noticed a problem, and I and many other users have been hoping for a solution to it ever since.

The Way It Was

Under OS 9, when you selected the Audio Hardware and Drivers page in Logic, you were presented with a fairly bewildering list of drivers which gave you over a dozen different entries. Many of these represented specifically written drivers for particular manufacturers' cards, some of which did not support the various different driver standards like ASIO and EASI (this was the case with ancient devices like the Yamaha CBXD5 hard disk recorder, for example).

Each of these drivers could be active or not, depending on the hardware which you wanted to attach. So whilst it could be confusing as to which driver you needed to use, once you had found the right ones, you could use several different audio I/O devices at the same time to achieve the number of I/O channels you needed. It was not uncommon to find people using a combination of several different PCI cards, either to add up to the total number of I/O audio channels they needed, or perhaps because the various external devices they were using operated on different audio-interfacing standards (analogue, S/PDIF, AES-EBU, ADAT, or TDIF). These different devices often charted the way they had expanded their Mac systems over time to meet their growing needs for channels and sometimes the various interface standards.

The Way It Is

Open up the Audio Hardware and Devices page in Logic under OS X, and even today, it still appears bare in comparison (it's shown at the start of this article). Core Audio is the first entry (it was the only one when the program first shipped under OS X), and this is now the one that you use for the vast majority of input and output hardware. Whether you have to install separate drivers to make them work or not, the Core Audio-compatible devices are all listed in a sub-menu under the Core Audio entry.

The next entry to be added was the VS standard, to allow Logic to directly display and edit data recorded onto the latest Roland hard disk recorders. Emagic had to add the DAE drivers fairly quickly as well, as many of their most prominent professional users were using some form of Digidesign hardware as the main audio hardware for their systems. The most recent addition to the list, Direct TDM, is a way for Logic users to address that hardware more directly than with DAE, and so does not add to the choice of devices which can be used.

In other words, the Audio Hardware and Drivers page now contains only four different simultaneously available options (two of which access the same Digi hardware) when there used to be more like 20. So what happens if several of the devices you were previously accessing via different hardware driver standards are now all supported under OS X only by Core Audio?RME's Hammerfall DSP MADI card.RME's Hammerfall DSP MADI card.

That Problem In Full

This is the crux of the problem — sadly, you can only pick one device to use at any given time in the Core Audio sub-menu, even though that menu might contain the drivers for 20 or 30 different devices, all of which could be connected and ready to go. If you had three or four different I/O boxes which would all run simultaneously under OS 9, you now find yourself only able to use one at a time under OS X. This is still OK if you only occasionally want to use a card with ADAT or TDIF on it to bring in some archive material from an Alesis or Tascam tape machine, or use an S/PDIF card to fly out a mix to DAT, but most people are using these connection standards to hook up to their digital mixing desks, and so they want them all to be available at once. The same is true for those people (decreasing in numbers but still a significant percentage) who are using analogue I/O to connect with their mixing desks. If they move to OS X and then find that they cannot use their different audio cards simultaneously, the number of tracks they can run through discrete channels on their desk at mixdown is similarly reduced.

MOTU's PCI424 PCI card.MOTU's PCI424 PCI card.Of course PCI-based solutions have been developed which combine multiple digital interfaces and/or increased numbers of analogue I/O connections on external breakout boxes (and the same is now happening with Firewire interfaces). MOTU have been one of the leaders in this field with their 2408 PCI devices, which offer the same 24 ins and outs either digitally or in analogue, and RME's Hammerfall range (also available from Steinberg under the Nuendo badge) has led the field with PCI cards which achieve the same thing with multiple ADAT digital I/Os, which can then be broken out onto analogue connections by external rackmount converters. More recently, M Audio have expanded Firewire solutions to 18 In and 14 out (with their does-what-it-says-on-tin Firewire 1814, reviewed in last month's SOS). So it might be possible, albeit with added expense, to replace several eight-channel devices with a single PCI card in your tower, but the most that can be achieved by any of these single devices is 26 channels in and out.One solution to the I/O restrictions under Core Audio is to use a single interface capable of handling many channels of I/O, such as RME's Hammerfall DSP MADI card (top) or one of MOTU's interfaces which interface with your Mac via the PCI424 PCI card (above), such as the 2408 unit, as up to four 2408s can be run from the one card.One solution to the I/O restrictions under Core Audio is to use a single interface capable of handling many channels of I/O, such as RME's Hammerfall DSP MADI card (top) or one of MOTU's interfaces which interface with your Mac via the PCI424 PCI card (above), such as the 2408 unit, as up to four 2408s can be run from the one card.

Under OS 9 with ASIO drivers, it was possible to use multiple cards of the same type to double up the number of channels. I often recommended two RME Hammerfall cards to people needing up to 48 channels of I/O, a solution which also worked so well for Cubase and Nuendo that Steinberg adopted the RME product under the Nuendo name. Under OS 9 it was also possible to get multiple MOTU 828 interfaces working under Logic, Cubase, or MOTU's own Digital Performer, which led to this being the I/O of choice for Mac users who needed higher I/O counts.

The move to OS X has therefore thrown up an unexpected problem for many users. Some of them, if they still have access to a computer that will run OS 9, have chosen to go back to the older OS, as it still allows them access to all the I/O they've invested in over the years. However, those who have upgraded to recent, more powerful machines and then discovered the restriction are currently forced to get by with less I/O than they had previously, because the latest Macs can no longer run OS 9.

Enter MADI

No, that's not a misprint — MADI is a digital interfacing protocol specified by the AES10-1991 standard, which up to now has not made much of an impression on the computer interfacing market, having been developed mainly for high-end multitrack tape machines (it was first specified back in 1989). However, RME have had the smart idea of using MADI as the interface on a high-performance PCI card because it has the capability to send 64 channels of 24-bit, 48kHz audio (or 32 channels of 24-bit, 96kHz) down a single cable. You can then access these channels via eight ADAT optical connections on an external breakout box (RME's ADI648).

MADI can use two different connectors (optical connectors and co-axial BNCs), so to be an all-purpose MADI interface, the RME card has to offer both. The BNCs and optical connectors, together with the stereo monitor output which has been a feature of all the Hammerfall cards, take up all the room on the back of the PCI card, so RME have resorted to attaching a secondary back plate, as they did on the original 9652 Hammerfall card. This plugs into the main card, rather than another PCI slot, but it nevertheless uses up the slot space for another full PCI card when installed, as you can work out from the picture on the previous page. This time the secondary expansion board has the small DIN connector for the dual MIDI I/O, and the word-clock input and output, together with an LED to show the lock status of the word-clock in. There is also a word-clock termination switch, in case your computer is the last device in the clock chain and requires termination. If you don't need the MIDI or the word-clock connections on the card, you can dispense with the add-on expansion board completely, which will save you a PCI slot.

You could be forgiven for thinking that the DSP MADI is not compatible with Macs at all, as no Mac drivers are supplied in the box, nor is there mention of Mac compatibility in any of the accompanying documentation. It takes a trip to the RME web site, www.rme-audio.com, to find the OS X driver, which worked perfectly when I installed it. Why RME continue to hide their Macintosh light under a bushel, I don't know!The OS X MADI Control Panel installed with the Hammerfall DSP MADI.The OS X MADI Control Panel installed with the Hammerfall DSP MADI.

Once the driver was downloaded and installed, the card appeared instantly as an available device in the test Mac's System Preferences Sound control panel, Audio MIDI Setup Audio Devices and MIDI Devices pages and the Core Audio devices sub-menu in the version of Logic I was using to test all of this. The installation includes an HDSP MADI Control Panel, and the Totalmix HDSP MADI Mixer software, which offers Mute, Solo and Volume level for all 64 input and output channels with monitoring and matrix functionality.

The Control Panel (shown, right) is where you select which of the physical card input types you are using (optical or co-axial). You also determine the sync setting here (in other words, whether you want the card to act as sync Master or use an external reference, either via the MADI connection itself, or from the dedicated word-clock input). There's also an option to use the MADI specification's original 56-channel mode, or the more recent 64-channel mode, which was added in an update to the MADI specification in 2001, by limiting the sample rate to 48kHz.Configuring the Hammerfall DSP MADI under OS X's Audio Devices control panel. Note all the I/O channels!Configuring the Hammerfall DSP MADI under OS X's Audio Devices control panel. Note all the I/O channels!

Obviously, if this is set up incorrectly, you'll be unable to use all possible 64 channels, and the 56-channel mode is selected as the default, which is a little odd (it certainly threw me at first!). 96kHz operation is also possible, although as you'd expect, you can then only use half the maximum number of channels (28 or 32, depending on the previous setting).

You can see how the card appears in the Audio MIDI Setup page (see right). This is the first time I have had so many I/O channels available under OS X that they could not all be displayed on the screen at the same time!

Having set up the MADI PCI to work nicely with the ADI648 breakout box, it now only remained to connect its eight ADAT Outs to a suitable digital device. The Yamaha DM2000 digital mixer is one of the few which can take enough ADAT cards to allow all eight ADAT Outs of the ADI648 to be run simultaneously, so this seemed the logical choice for testing. In no time at all, there was audio coming into the Yamaha desk right across all 64 channels, which means that the full capabilities of the Yamaha mixer could be driven by Logic 's output. Similarly, the eight ADAT Inputs of the ADI648 could be fed with 64 individual signals so that Logic could be set to record on 64 channels simultaneously. Of course, practical situations where you might need this many simultaneous input channels are rare, but the important thing is that I was no longer limited by Core Audio's restrictive practices!

Software Solutions

However, all is not lost — there are workarounds for the problem, albeit ones which rely on certain combinations of hardware and software. For example, if you are using MOTU's Digital Performer software under OS X, then you can use up to four 828 interfaces to give you 32 channels of I/O. This is achieved by holding down the Shift key when selecting the audio devices from the list of those available within DP. You can even mix and match devices from different manufacturers under Digital Performer — the hardware in question does not have to be of MOTU origin, despite the theories of some posters on the SOS forum, who have speculated that this is a MOTU ploy to encourage OS X users to buy their software and hardware. Surely, MOTU would be only too glad to be able to sell multiple 828s to Logic 's user base, for example, as they used to?

It seems to me that if MOTU can get this support of multiple Core Audio drivers working in Digital Performer, it should not be beyond the capabilities of Emagic to do the same in their sequencer (especially as they are now owned by the company that developed and controls the Core Audio standard). What's more, Emagic were proud of the fact that they supported multiple drivers under OS 9, so you would think that they would want to offer their users the same flexibility that MOTU have achieved under OS X.

The fundamental sticking point is that you cannot select multiple Core Audio drivers inside Logic in the same way that you can in Digital Performer. This lack of ability to select multiple Core Audio drivers at the level of the Mac OS remains a mystery, because it's clearly still possible at application level. Digital Performer is not the only one capable of working around it — ever since I saw the first OS X version of Ableton's Live, I've been impressed by the program's ability to have different devices for Core Audio input and output. Just because you are recording into your Powerbook via a USB device with mic preamps, you might not necessarily want to output via the same device. Often it is much more convenient to monitor via the Mac's built-in audio, or the digital output on some other card or device you are using.

At the time of writing (late September), there are rumours that changes in the still-forthcoming Mac OS 10.4 (Tiger) may facilitate the ability to have several different Core Audio drivers open at once, but certainly SOS 's first look at Logic v7 (see page 194 of this month's issue) show that it's still not working at application level for Logic users in the latest version, which is odd, as if any application is well placed to squeeze extra performance out of Core Audio, you would have thought Logic, Apple's own sequencer, would have had the edge!

Hardware Fixes

In the meantime, it would appear that Core Audio-based Logic users need to find single-card solutions if they are to achieve high I/O counts. One such solution that neatly avoids this problem again involves MOTU — this time their hardware. Up to four 2408s can be run from a single MOTU PCI424 card, and since this is what Logic talks to via Core Audio, you can achieve up to 96 channels of I/O with the single PCI424 Core Audio driver selected inside your sequencer.

Another possible solution, which works along similar lines, is provided by RME's Hammerfall DSP MADI, together with their ADI648 MADI-to-ADAT rackmount converter, which gives a total of 64 channels of I/O via eight optical connectors. I was so interested in this solution that I got hold of one to see if it would work as advertised (for more on MADI and this version of the Hammerfall card, see the box at the end of this article).

Until such time as Logic allows selection of multiple Core Audio devices under OS X in the same way that Digital Performer does, it would seem that only by using workaround solutions like the RME MADI card or multiple MOTU interfaces attached to a PCI424 card can users enjoy the level of I/O capability under Core Audio which they enjoyed under OS 9. It's either that, or a change of sequencer is required! If anyone else out there knows of other solutions, please let me know via SOS!