I like the simplicity of AirPlay. From my iPhone it is very convenient to swipe up and change the media destination. I use it occasionally for video, but most of the time I use AirPlay just for audio playback. With that in mind I set out to find an effective way to enable more AirPlay audio destinations in the quest for “Whole-House AirPlay”.
Apple AirPort Express
The AirPort Express was the first audio-only AirPlay device I tried. I liked having AirPlay-enabled speakers and added a couple Express devices as audio inputs into a couple of sets of old Bose Acoustimass speakers and subwoofers. It is a bit of a wiring rats-nest when everything is connected, but it works well when set up properly. I discovered two things while using the AirPort Express as my AirPort playback device:
- AirPlay audio quality can get really crappy when the AirPort Express units are in ‘Extend a Wireless Network’ (wireless repeater) mode.
Solution: Don’t use ‘Extend a Wireless Network’ mode. Hard-wire your AirPort Express to the network.
- AirPlay audio quality can get really crappy when your iPhone is connected to the same AirPort Express that you are playing back music on. For example: Your iPhone is playing Pandora while paired to the AP named ‘Garage’ that is also running an AirPlay receiver zone named ‘Garage’. The result? Audio splatter and generally inconsistent audio quality.
Solution: Disable WiFi on the AirPort Express. (I was able to do this and still keep WiFi running since I still had an older AirPort Extreme that the Express units were supposed to replace.)
Raspberry Pi running Shairport
I already had a Raspberry Pi on-hand that I had been using for XBMC (which can be an AirPlay receiver by itself, but I’ll save that for a blurb on AirPlay Video receivers.) Since I knew that the XBMC Linux build could act as an AirPlay receiver I figured there must be something even lighter-weight than XBMC that could run AirPlay on the Raspberry Pi and – sure enough – I found Shairport. There are several good step-by-step tutorials on getting Shairport going on Raspberry Pi, but I used this Shairport tutorial from Drew. Drew recommends using a USB audio dongle instead of the Raspberry Pi’s built- in 3.5mm jack, so I purchased this one from Amazon. The key thing with USB audio dongles seems to be getting a chipset that is compatible with the Raspberry Pi. This one is a C-Media chipset, which worked fine by following Drew’s instructions, but there are other USB audio dongles. Just like with the AirPort Express I used the wired ethernet connection on the Raspberry Pi instead of attempting to use a USB WiFi dongle. I took Drew’s advice and modified my final Shairport config to automatically start Shairport when the device reboots, as well as auto-unmute the USB-audio dongle on startup. I also modified the config to allow me to have spaces in AirPlay Receiver Name that shows up in the list on the iPhone. You can download my modified Shairport Raspberry Pi config here. Once I had Shairport running on the Raspberry Pi I noticed a low hum from the speakers. While playing music at medium or high volumes it was not noticeable, but when the music was low or off it was very noticeable. I little bit of searching revealed that I was not the only person that ran into buzz and hum issues with audio-out on the Raspberry Pi. Possible fixes included: Use a better USB cable with a ferrite core to isolate noise from the power-line. This seemed to help somewhat. But while browsing Amazon I stumbled across option 3…
AirEnabler Adaptor Kit
The AirEnabler is a slick little USB-powered package. Some of the Amazon commenters have complained about the supplied USB power-supply being a piece of junk, so I swapped that out for an iPhone USB power plug I had floating around. The AirEnabler is essentially a TP-Link Travel Router that ships pre-flashed with firmware to enable Shairport and includes a USB audio dongle. (If you decide to purchase the TP-Link Router and follow Qui’s instructions to roll your own AirPlay router let me know how it goes!) Out-of-the-box it has the functionality of the Raspberry Pi solution, in a smaller and lighter form-factor. By default it ships with its on-board WiFi enabled. It is advertised as a simple way to enable AirPlay into your car stereo – just plug its audio connection into your car’s 3.5mm line-in and pair your iPhone with it’s AdHoc WiFi Hotspot. That’s not how I’m using it in this case, but I appreciate the simplicity. Of course, I prefer that my AirPlay receiver be hard-wired, so I immediately disabled WiFi and connected the AirEnabler to a hard-wired ethernet connection. This configuration change, as well as changing the broadcasted receiver name is done via a console session using the terminal tool of your choice.
Of these three solutions I like the AirEnabler the best. It has the low-powered simplicity of a Raspberry Pi running Shairport within a nice and small form-factor. And it is less expensive than the AirPlay Express. I must not be the only person that has noticed this device, because since I purchased mine the price has went up
$15 $40! It is still (slightly) cheaper than an AirPort Express, but for the simplicity of the AirEnabler Adaptor Kit I’d guess it is only a matter of time before there are more (and less expensive) ‘AirPlay Audio-Only’ devices like this on the market.