When Apple first introduced the AirTunes feature of iTunes, which lets you stream iTunes’s audio wirelessly to an AirPort Express, the most common complaint was that you couldn’t stream audio from other applications. In other words, you could connect a stereo system or powered speakers to an AirPort Express, but the only thing you could listen to was music playing in iTunes. Not long after AirTunes was announced, Rogue Amoeba solved this problem with AirFoil ( ; March 2005), an application that lets you stream audio from any application running on your Mac—Real Player, Windows Media Player, your Web browser, or even a game.
That obstacle out of the way, the most common complaint about AirTunes then became the fact that you could stream audio to only a single AirPort Express at a time. If you wanted to set up synchronized multi-room audio playback, you needed to turn to dedicated music hardware such as Sonos’s Digital Music System or multiple Slim Devices Squeezeboxes.
In January, Apple quietly released iTunes 6.0.2, which added the ability to stream audio to multiple AirPort Express Base Stations, but—again—it was limited to iTunes audio. In a bit of good timing, Rogue Amoeba had been working independently on a new version of their own product, and that same week released the $25 Airfoil 2 ( ; currently at version 2.0.2) which—you guessed it—provides the ability to stream non-iTunes audio to multiple AirPort Expresses.
Like the original version, Airfoil 2 provides a simple interface for choosing the audio source and the destination AirPort Express(es). You choose the source from a pop-up menu at the bottom of the Airfoil window—included in the menu are common audio applications (RealPlayer, Windows Media Player, etc.); Dashboard widgets (such as those that play Internet radio); audio devices (line/mic-in, digital-in, USB audio, etc.); radio devices (such as Griffin’s RadioShark); and System Audio (all audio playing on your Mac). You can also manually choose any application on your Mac; option-clicking the menu displays many more choices, or you can choose the Other Application item to navigate to the desired app. The top of the window lists all AirPort Express Base Stations connected to the same local network as your computer; click the transmit button next to each AirPort Express to which you want to stream the source’s audio. (You can also stop or start transmitting to any Express via Airfoil 2’s Dock menu—a handy way to make changes without having to switch to Airfoil 2.)
For basic usage, that’s all there is to it—after a slight buffering delay, the chosen audio will begin to play through speakers connected to the chosen Expresses. Airfoil 2, by default, automatically keeps the remote speakers synchronized. You can control the volume level of each Express via Airfoil or, if you prefer, you can set Airfoil’s preferences so that it links remote speaker levels to your Mac’s volume control. In either case, the Airfoil window displays an output level meter so it’s easy to tell if audio is actually being broadcast.
As with the original Airfoil, you can easily stream audio from Windows Media Player, Real Player, MPlayer, QuickTime Player, or any other application that produces audio, including games, widgets, and Web browsers. The latter lets you listen to Web broadcasts of sporting events on your home stereo—even in multiple rooms. However, just like iTunes’s AirTunes, there’s a slight delay between when a sound is produced by an application and when it’s played back through an AirPort Express, so don’t expect to watch a DVD on your computer while playing the audio back through your stereo. (Actually, as I mentioned last year, this is possible with a bit of tweaking: The free VLC media player has an audio offset feature that lets you manually sync the audio and video of a DVD; the Airfoil Help system provides details on setting this up, or a brief tutorial is available in the Rogue Amoeba forums.)
Airfoil also offers a number of additional features. A welcome improvement is that unlike its predecessor, version 2 works with password-protected Express Base Stations. A built-in equalizer and balance and volume-overdrive controls let you tailor the sound going to remote speakers. You can force Airfoil to refrain from actively synchronizing audio when playing to multiple remote speakers; this can be useful when you need audio to be streamed without any manipulation (for example, when watching video, which requires that the audio and video be perfectly synchronized). You can also choose to listen to audio on your computer while it’s being transmitted wirelessly; however, note that local and remote audio will not be synchronized—audio played through remote speakers will be delayed by two to three seconds. Finally, a number of advanced settings relating to gap fills, stream indexes, buffering, and more are available for tweaking Airfoil 2’s performance and behavior.
On the other hand, Airfoil 2 has a few limitations. The most significant is that if your home wireless network uses 802.11b instead of 802.11g, you may experience skips and stalls; the slower 11b protocol may not be able to handle streaming to multiple Express Base Stations. Another is that Airfoil doesn’t support Fast User Switching, mainly because of the way audio is handled between accounts in OS X. Finally, as with the previous version of Airfoil, Airfoil 2 has a minor quirk in the way that it interacts with already-running applications. Here’s how I explained this issue last year:
If you elect to install Airfoil’s “Instant Hijack” component—you’re given the option the first time you launch the application, or you can install it at any time by choosing Airfoil -> Install Extras—then clicking the Transmit button commences the transmission immediately. However, Instant Hijack uses Unsanity’s Application Enhancer technology. Some people refuse to use software that requires Application Enhancer, citing stability issues, so Rogue Amoeba has wisely devised a way for Airfoil to work without it. The drawback is that in order for this workaround to function, you need to either select the desired audio application in Airfoil before that application is launched, or allow Airfoil to relaunch it if it’s already running when you begin transmission. It’s up to the user to decide which method—Application Enhancer or inconvenience—to choose.
Still, Airfoil 2 is a unique product that overcomes several limitations I noted in my review of the previous version and makes Apple’s AirPort Express a legitimate option for getting your audio all over your house.