I used a few hours of this past long weekend to have a play with the recently released program Shairport (original post and Github repository). What the program does is emulate Apple’s Airport Express. As well as being an fairly over priced wireless router and print server, the Airport Express allows you to stream music from iTunes or an iOS device wirelessly to a stereo.
If you have an Airport Express connected to every stereo in your house you can play music to them all at once, in sync, and have a relatively cheap multiroom music system.
As I have a Linux PC connected to my TV and stereo in the living room I thought I’d give it a go. Installing is very easy – you need to download a few Perl modules (perl -MCPAN -e ‘install Module::Name::Here’)
Then just fire up Terminal and type
apt-get install libssl-dev libcrypt-openssl-rsa-perl libao2 libao-dev libio-socket-inet6-perl libwww-perl avahi-utils make perl shairport.pl
Easy! I’d recommend actually looking at the installation doc when you download as the code is changing everyday and the instructions above are probably already out of date. There are also instructions for installing on OS X and Windows.
So does it work? Yes it does… and surprisingly well. I’ve even created a bash script that runs on start up so I don’t lose it after reboot. I can also connect fine after waking up from hibernation so I don;’t have to have the computer running all the time.
Overall, I’m really happy as it has saved me the £90 I was considering spending on an AppleTV (which can also act as an Airport Express for streaming) just for this feature. I already have Boxee and XBMC installed on the PC and all my music on a NAS but iTunes is really my go to application for music. It doesn’t suck nearly as much on a Mac as on Windows and all my playlists and podcasts are in it. I’ll still probably pick up an Express for the bedroom as having to plug a phone or iPod in feels a bit cumbersome.
Lets just hope Apple don’t attempt to change the key and up security so this stops working. Fingers crossed!