Non-Linux FOSS: Airsonos

I love Sonos. There probably are some audiophiles reading this who rolled their eyes at my lack of auditory prowess, but honestly, the speakers sound wonderful to my 1980s-damaged eardrums. Granted, the Wi-Fi-enabled speakers are very expensive, thus limiting my supply. I'm amazed at the ability for the speakers to sync a single audio source throughout my house perfectly without the need for wires. At all.

The problem (apart from the price tag) is the limited options for music sources. You can stream radio stations, Pandora radio and even MP3 music files from a central network-accessible server. For my family of teenage girls, however, the inability to stream via Airplay (yes, my family has many Apple products) is a showstopper. So in their upstairs bathroom there's a $300 speaker on the shelf, and they just listen to their phone speakers while in the shower. It breaks my heart. Sonos offers line-in options for its larger speakers, but it's really a kludge and doesn't work well.

Enter Airsonos. An open-source project, Airsonos is a Node.js-based application that runs on a server and probes the network for on-line Sonos speakers. It then creates Airplay devices for each speaker, and an iPhone or iPad easily can stream to a Sonos speaker. I personally run Airsonos as a Docker app, and it's a "set it and forget it" sort of application. In fact, Airsonos has all the makings of an Editors' Choice award-winning project:

  • It's open source.

  • It runs on a Linux system.

  • It's easily Dockerized.

  • And, it solves a real problem in an awesome way!

So, this month's Editors' Choice award goes to Airsonos, with shared award status to the Dockerized app version maintained by "justintime"—thank you for making my nerdy world a better place!

Shawn is Associate Editor here at Linux Journal, and has been around Linux since the beginning. He has a passion for open source, and he loves to teach. He also drinks too much coffee, which often shows in his writing. You can contact Shawn via e-mail, [email protected]

Load Disqus comments