A cheap way to have multi-room audio using OS software and RaspberryPi’s.
The need
I wanted to have a simple way to stream audio in all the rooms of my apartment at once. Surely not a complicated matter, eh?
Research ensued, which led me through a succession of forums and blogs giving advice on bluetooth speakers, closed pricy systems and the ever so useful recomendations like “use headphones”.
To reiterate, my needs were:
- Be able to stream audio in 3 rooms at once.
- Use an existing audio library from my hard drive.
- Bonus points to the ability to play 2 different streams at once in individual rooms.
The setup
I had the following situation:
- I have an HTPC/dev machine running Linux in the living room.
- I have a Linux workstation in the bedroom.
- I also have a bathroom and kitchen.
The solution
- Buy Raspberry Pi + WiFi dongle (for every room)
- Buy 1 set of speakers (mine were cheap, but the quality is up to you) for every room
- Install and setup Logitech Media Server on the HTPC.
- Install squeezelite on each Rasbpy and the HTPC, and the workstation.
- Install the Squezebox app on phone (Android)
- Party!
Conclusions
- squeezelite is surprisingly stable and easy to install on all the machines (HTPC + workstation + Rasbpy, all running different flavours of Linux)
- LMS is also very stable and handles my music library very well (tags and the like)
- You can have a multi-room setup for the price of (Raspberry+Speakers) × (room count)
- You can reuse existing machines (like I did with the workstation and HTPC) to trim the need for a lot of Pis.
- The Raspberry can be put with the speakers of your own choosing (you can even make your own speaker box)
- The latency between machines in quite good (on WiFi), but discernible - when different boxes are in the same room, you will hear it.
- A setup of this proportion can be completed in 2 hours.