Recently, I have become enamoured by the idea of whole home audio. And when I say enamoured, letās be clear what Iām actually talking about: I mean I’ve become obsessed by it.
Hereās the thing though: Iām not obsessed with the functionality. It would be nice to be able to play some music and have it come out of all the speakers in the house (without running cables all over the place), but what Iām actually obsessed with is the price of systems that can do this.
The most popular system for whole home audio (or at least the one against which others are apparently measured) is Sonos. In my ideal setup I would want to be able to play music in the living room, kitchen, office and bedroom. To get the Sonos hardware necessary to build the system Iād want (including surround-sound capable hardware in the living room for when we watch TV) Iād have to spend about $3,000, and Iād have to throw out all our existing audio equipment for not being compatible.
Itās simply not worth it, in my opinion.
There are alternatives to the Sonos system available, of course, but this kind of system seems to be primarily the domain of high-end audio manufactures whose wares are priced beyond what I would consider sensible given my needs.
So, Iāve decided not to buy a whole home audio system at all. Iāve decided to try and build my own.
Enter the Raspberry Pi.
If youāre not familiar, the Raspberry Pi is a credit-card sized computer that costs about $40. It has a 700MHz ARM processor and 512mb RAM. Itās not powerful, then, but it runs a Linux distribution and is designed to be a platform for electronics projects.
To start off with Iām going to buy three of them ā one for sending audio and two to receive it. Iāve read about people who have managed to get a setup similar to the one I want working, and Iāve read about many, many more people who came across challenges they found insurmountable and gave up. The nice thing about the Pi is that I can think of a million uses for it, so if I end up falling into the latter category at least I wonāt feel like I wasted my money.
Thereās some Linux software available called Pulse Audio, which will be the basis of my project. Iāve heard of Pulse Audio before because itās the audio subsystem you find in many Linux distributions. What I didnāt know until recently though is that itās capable of taking the audio that would normally be output to the computerās speakers and sending it instead to another computer (or several other computers) on the network to be output there.
From what Iāve read online the people that have managed to get this working have done so on a wired network, and theyāve found that if they try and switch to a wireless setup then their router is flooded with audio traffic and canāt cope. This is a problem for me because wireless is one of my requirements, so my plan is to use a dedicated WiFi network for the audio: the sender will have two USB WiFi dongles attached, one to connect to the existing wireless network in my home for access to my music library and the internet, and a second to connect to an ad-hoc network used to communicate with the two receivers.
If Iām able to get this setup working then I have some plans for extending the system and building additional functionality. Watch this space!