six colors

by Jason Snell & Dan Moren

This week's sponsor

Sanebox - Take back your email sanity and organize your inbox. Get a free 14-day trial and $25 off.

By Jason Snell

Getting Sonos to work with AirPlay (and Overcast)

AirSonos in action

I’ve been testing out some Sonos hardware the past month or two. I’ll write much more about it in a little while, after I spend more time with it.1

I listen to music, but I also listen to podcasts a lot. In the shower, in the kitchen… I do listen to podcasts. And I’m kind of shocked that after all this time, Sonos doesn’t do a very good job with podcasts.2

Yes, you can use the Stitcher app to play back podcasts from that service, but I’m not a fan—Stitcher adds its own ads and re-encodes audio at low bit rates. If you use the built-in Podcasts app, Sonos will let you stream episodes you’ve downloaded to your Sonos speakers. Unfortunately, I don’t use that app—I use Overcast.

Now, I can dream that Marco Arment and Sonos will one day announce that Overcast works with Sonos—but dreaming is not reality. So instead, I installed AirSonos.

AirSonos is a server that runs on a Mac and relays audio from any AirPlay-capable device—including my iPhone running Overcast—to a Sonos speaker. To get it to work, I had to download node.js and then install AirSonos from the Terminal. It’s messy, but since I have a Mac mini server running all the time, I can leave AirSonos running.

The result is not exciting, but it works: Now my iPhone sees two additional audio devices, namely two Sonos speakers. And I can play podcasts from Overcast over the Sonos speaker in my kitchen.

Here’s how I did it:

  • Downloaded node.js and installed it.

  • Opened Terminal and typed npm install airsonos -g

  • I was told I had to install the command-line developer tools, which OS X was happy to download and install for me. Once it did that, I typed npm install airsonos -g and it installed.

  • Then I typed airsonos

That’s it. You can also do it via homebrew if you want to go that route.

  1. The Apple Music integration has been great so far, and in general I’m loving them, but I miss the time and temperature display on my old Squeezebox hardware a lot. ↩

  2. Some (but not all) Sonos equipment comes with a line-in plug like my old Squeezebox hardware did, so I can just plug my phone into it. It’s more fiddly than I’d like, because I have to switch back and forth between two apps to get it to work. You could also plug an AirPort Express in if you wanted a permanent AirPlay to Sonos bridge. ↩

[If you appreciate articles like this one, help us continue doing Six Colors (and get some fun benefits) by becoming a Six Colors subscriber.]