I’ve always liked the idea of a whole-home (or apartment) audio setup. Something about being able to walk around and be able to continue listening to something without having headphones in just seems to really appeal to me. However, as a young person constantly moving for college, work, etc. and some pretty tough requirements for a system, attaining this sort of thing for myself was easier said than done.
Once I had started to consider this for myself, I had seen two setups I really liked: both had wired speakers in the ceiling of each room and one had a central hub in an entertainment closet that controlled the inputs, outputs, and volumes. The other had the input hidden away somewhere and each room had a wall control to adjust volume and turn the speakers on/off. While both of these got the basic job done, I had some issues with each. The former offered some level of flexibility of inputs into the system, good for switching between a phone, tablet, TV, computer, etc. The distributed control of the latter also appealed to me, because how are you supposed to know what a good volume is for a room you’re not in? Unfortunately each of these systems were not without their faults (at least from my perspective). Primarily there was the price. Each system was in a pretty expensive house, and upon further investigation it turned out that these kinds of setups were indeed pricey. A close second was their portability. At a time when I didn’t expect to be anywhere for an extended period of time, I wanted to be able to take my setup with me, as well as not violate any renter’s agreements by running wired speakers into ceilings or putting holes in walls I didn’t own. Still relevant but less of a factor for me was the controls. While the in-room volume was a nice touch, they still both depended on physically being in one place to do the majority of administration. As someone who’s gotten used to moving between devices, laptop to phone to tablet and back again managing things remotely, the closet control panel felt a bit outdated.
Luckily as time goes on, I discover Squeezeboxes. Although this was some time after Logitech has bought and subsequently discontinued the devices, I give them full marks for continuing to provide the server software. Additionally, the community never ceases to amaze me with their hard work, and a number of Squeeze-compatible software players were available. While the physical devices being discontinued made for a bit of a barrier to entry, my subsequent discovery that squeeze players could run on Linux, Android, and FireTVs meant I could still do some testing, and since I already had devices, ended up being a cheaper alternative anyway.
Unfortunately I had a fair number of issues getting the Logitech Media Server up and running, at least on the low-powered Raspberry Pi I wanted to use long-term, so I hit a bit of a road block, at least until discovering Max2Play, which provided a full image and a click installer to get everything up and running. Once that was set, I was able to scale up to 4 WiFi devices, plus the local player on the Pi, and was pleasantly surprised at how well they kept in sync. Admittedly it wasn’t perfect, but with each playback device in a separate room, the difference was negligible.
One gripe I did have while going through this was the actual process of grouping different players together. In a point for versatility, any player could be individually playing something, or part of a group synchronized playback. What was tough was adding and removing different players from groups because you had to be sure you had selected the right player with the correct playback stream, then remove it from the group. In the event that your selections weren’t right, you were left wondering what you just did and why the player next to you was playing something from two days ago on it. I made a mental note that if needed, I should try and code up something to leverage the Servers API and attempt to simplify the process.
In the end, this addressed a lot of my checklist: portability, cost, and decentralized administration. Where it fell flat for me though was in it’s core function of synchronized audio playback and remote audio playback. If one device took longer than another to buffer, the latency is painfully obvious and the only way to get them back in sync is to skip to another song and hope they fix themselves. Additionally, the Media Server has the capability to stream external sources rather than just music files, but due to the amount of buffering required for this, the latency was considerable and made it somewhat painful to use the setup in this way.
One final update for anyone looking to try this out for themselves, with Docker taking over the world, or at least being as popular as it is, getting the Logitech Media Server up and running is easier than ever after a docker build.
As the Logitech system faded away, Sonos came into view. I actually learned about them from the TWIT podcasts, where multiple hosts and guests exclaimed it as multi-room magnificence. Of course I had to check it out, and Sonos is indeed a fantastic solution for synchronized audio, with a price to match it. With some outstanding questions on implementation and the ability to tie into Sonos with other systems, I unfortunately had to move this speaker system into the “Maybe Later” pile. And while their price now may be preventative, I think there’s a good chance that soon they’ll start offering additional value in their products that just might get me to justify the increased cost, but time will tell on this one.
As I’m sure many people could foresee, this trail led me straight to the Google Chromecast Audio (CCA). When the rumors first started I was intrigued. Mostly on how they planned to implement the Chromecast experience in an audio-exclusive form. Would it be over Bluetooth? Just WiFi? Will they synchronize? Questions and speculation swirled, then when they were released and all my questions answered, I figured I should probably wait and see how everything panned out (compatible applications were limited and synced Audios was still in the works), but then my girlfriend surprised me with one!
Initially it took some getting used to. I had become more accustomed to using Bluetooth speakers, but true to the Chromecast way it allowed for distributed control and operated independently of my device. I set it up in the kitchen since it offered a nice place to seclude speakers and I figured it would be nice while cooking. As a bonus, the layout of my apartment meant that these speakers could function decently across a large portion of it. I was pleased with the response times and reliability of the device over time as well.
When I caught wind of the Chromecast app update that enabled Audio groups, I immediately purchased another one to test it out. The UI was simple enough, and I shortly had a group made out of my two CCAs. This worked incredibly, both tight, synchronous playback and snappy, responsive controls made it a joy to use. Since this left me with music throughout my apartment except for one room, naturally a third was in my future. I guess at this point I should note, this was all possible due to a number of speakers I had acquired over the years. A few were in use as standalone units, and a few were lent to people who didn’t need them anymore. They certainly aren’t the best quality speakers, but not being an “audiophile” certainly helps with that, and reusing them definitely keeps the cost down, and makes me feel better about keeping them around all these years.
Needless to say, I’ve been impressed with the Chromecasts, maybe even more so than my video one, I definitely use them more often. Also, getting the audio coverage I did for under $100 (watch for sales!) is tough to beat when also considering the versatility of control and reliability of the groups (technically the Squeeze setup was 0 additional dollars but lacked these features). As far as portability goes, I couldn’t ask for much more, unless maybe they made the CCA plug with a pass-through so together with the wired speakers you’d only need one outlet, but I won’t split hairs. All in all, the timing worked out great for me, and this audio solution has been exactly what I was looking for.
If anyone has any tips or tricks from their own experience, or alternatives that I haven’t yet found out about, please let me know! I’m always looking for ways to
break improve my current setups =).