· Airfoil Raspberry Pi how to software

Audio Throughout the Apartment

Last week, I wrote Audio Hijack Pro was one of my most-used apps.

Now, software maker Rogue Amoeba is about to have a second one in my top five: Airfoil.

What is Airfoil?

Airfoil lets you “share” sound by playing it on a bunch of speakers at once. I use it to play live audio from my desktop computer all the way to the kitchen, at the other end of the apartment.

It stays in sync, too–so as you move from room to room, you’re not missing a second or two of a song or hearing it repeat.

(There’s an open source app called Snapcast that does something similar. And of course, there’s Sonos. I haven’t tried either one.)

Since I already had Airfoil’s audio receiving part working on a Linux computer in one room, I thought I’d add another receiver using a Raspberry Pi I didn’t know what to do with.

Easy… With One Catch

Rogue Amoeba makes a Linux version of the Airfoil Speakers app available on their website. You just have to download and install it.

But when I ran it with all the dependencies in place, I got this error:

Unhandled Exception:
System.Threading.SynchronizationLockException: Object synchronization method was called from an unsynchronized block of code.

Even though the Linux version is officially unsupported, I filed a support request hoping Rogue Amoeba had seen this before. Thankfully, Chris quickly replied the error might be caused by the Mono runtime library version and suggested I use something earlier than version 4 if possible.

Unfortunately, the current Raspbian OS versions install Mono version 4. I tried compiling Mono 3 on a current Raspbian version but didn’t have any luck.

However, my Raspberry Pi is an older model (the Model B+) so I was able to install an old version of Raspbian. I chose the final “wheezy” release.

Loud and Clear

Once I started over on the older operating system, I ran the same commands to install what was needed:

sudo apt-get install mono-runtime
sudo apt-get install libmono-system-xml-linq4.0-cil
sudo apt-get install libmono-system-windows-forms4.0-cil

Then I downloaded, extracted, and installed the Raspberry Pi version of Airfoil Speakers for Linux:

tar -zxvf AirfoilSpeakersRaspberryPi.tgz
cd airfoilspeakers/
sudo make install
airfoilspeakers

It works great! And now that it’s running, I’m really looking forward to enjoying music, podcasts, and streaming radio through my whole home.