Developer: Rogue Amoeba
Requirements: Mac OS X 10.3, AirPort Express Base Station
Trial: Fully-featured (10 minutes of clear signal per launch)
Lawsuits aside, Apple’s digital music revolution seems unstoppable. It now enjoys a near monopoly on the sale of digital music downloads through its iTunes Music Store, and its iPod family has entered popular culture in a very big way. Steve Jobs’s long-term vision for digital music extended beyond this, however; he wants you, the consumer, to enjoy your digital music anywhere you want, using—of course—Apple products.
Among its lesser known initiatives, such as partnering with car manufacturers to offer a seamless iPod interface for your car, Apple is pushing its AirPort Express Base Station (AEBS), a compact wireless networking access point that sports an audio minijack for connecting to your hi-fi setup. A recent feature built into iTunes, dubbed AirTunes, uses this link to let users “stream” their digital music to their stereo or hi-fi via the AEBS.
About a month after the initial release of the AEBS and AirTunes, I lost count of the number of complaints I saw over the restrictions imposed on the technology. Apple keeps the relentlessly and obnoxiously anti-piracy record industry at bay by encrypting the music streaming from iTunes to the AEBS to prevent casual interception and recording by a third party. As a side effect, this restriction meant that iTunes was the only application that could stream audio to the AEBS, at least until the audio routing maestros over at Rogue Amoeba came along and released Airfoil.
Rogue Amoeba’s flagship application, Audio Hijack (along with its Pro cousin), is best known for acting as the middleman between an application or other system audio and your computer’s speakers, intercepting (“hijacking”) the audio and processing it or recording it before handing it back to Mac OS X, which passes the processed audio to the speakers. Airfoil adopts this middleman approach, but jettisons much of the audio processing features and sends all of its hijacked audio to your choice of AEBS. This makes Airfoil a seriously lean and lightweight application, requiring only 3 MB of space on your hard drive.
When launched for the first time, Airfoil displays its manual, a feature shared with other Rogue Amoeba products. This is a nice touch, as it encourages new users to learn how to use the application before they actually start using it.
Airfoil Main Window
To use Airfoil to send audio to an AEBS, you choose the application you want to use as your audio source, then choose the AEBS you want to use as your audio destination (if you have access to more than one), adjust the volume if necessary, and click the “Transmit” button. In most cases, that’s all there is to it, and (with the source application already open) it took me no more than five seconds to start transmitting. You can decide to transmit audio from a source application whether or not it is already open: in the latter case, Airfoil launches the source application when you click the “Transmit” button.
As with other Rogue Amoeba products, the beauty in Airfoil is not just its simplicity but its sheer compatibility, and this is thanks in part to the power of Mac OS X’s Core Audio layer. Any application running on OS X that outputs audio has to do so through this layer, which in turn allows for interference from applications such as Airfoil with hardly any latency, or delay, involved. Because Airfoil plugs into Core Audio, it supports the vast majority of Mac OS X applications out of the box, without modification.
Your mileage will however vary if you want to use a Classic (pre–OS X) application with AirFoil. I tried out a few random arcade games running within Classic and tried to have AirFoil hijack the audio: most games would not let me switch to Airfoil once they were running in full-screen mode, and those launched by Airfoil beforehand experienced varying degrees of success, from Airfoil returning a “streaming error” to a game where the background music was sent to the AEBS, but the sound effects still played on the computer’s speakers.
Besides its main window, there isn’t much else to Airfoil in the way of preferences. If, for example, you want to process incoming audio before streaming it, you’ll need to do that within the source application: but you can easily pair Airfoil with its sister product, Audio Hijack, for that purpose.
I tested Airfoil with the standard suite of media players—DVD Player, QuickTime Player, Windows Media Player, and VLC—and all behaved as expected. Other applications that preview or otherwise output audio, such as Garageband, Safari and Panic Software’s Unison also work fine. But what of those applications that output both video and audio?
If you’re already a user of iTunes/AirTunes, you’ll know that when iTunes is set to use your AEBS to play music and you hit the play button, there is a delay of a few seconds before the audio starts playing on your stereo or hi-fi. This is another side effect of the encryption process: any time spent encrypting or decrypting audio qualifies as latency, and because that latency affects all streamed audio and delays it for up to three seconds this seriously impacts any video you want to watch. I had hoped that Airfoil would bypass the encryption requirement, but to no avail.
I have often encountered digital movies where the video lagged behind the audio, and to fix it was simply a matter of adding a delay to the audio using Audio Hijack. In this case, however, the audio seriously lags behind the video, and adding a reliable delay to the video is no mean feat. Out of the multimedia players I mentioned above, only VLC offers a built-in video delay feature, measured in milliseconds: Airfoil’s manual includes instructions on how to use this delay, as well as the one built into another popular media player, MPlayer.
It’s really tricky to set up a preset video delay in VLC’s Preferences, as it requires about a dozen iterations before you find the right time delay required for your computer—about 2.75 seconds on average—and in many cases it’s just not worth the trouble involved. However, as of version 0.8.2 VLC has the advantage: it offers up the F and G keys on your keyboard, for adjusting the audio delay by 50-millisecond increments either way. Between these two media players most video formats are supported, so users will only run into problems with Airfoil if they want to play certain types of Windows Media Video (WMV) or some RealVideo content.
While Airfoil does have its problems, none of them can be attributed to Airfoil itself due to its middleman nature. You can blame the ever-vigilant Recording Industry Ass. of America (RIAA) for the requisite audio delay, and you can blame Apple’s software for most, if not all errors related to streaming audio, including the dreaded “Unexplained connection error” that kept me awake at night on a few occasions.
As with other Rogue Amoeba products, Airfoil has one job, and it carries out that job in the simplest and most effective way possible. If you own an AirPort Express Base Station and you want to make the most out of it, Airfoil is your middleman.