🎵 This Github Repository provides details on setting up a centralized audio system for your home using nothing but Raspberry Pi's and Old Speakers.
Switch branches/tags
Nothing to show
Clone or download

README.md

Wireless Multi-Room Audio System For Home

I have always wanted to have a centralized audio system for my home. Since my home is currently not wired for that, I decided to maky my own "wireless" centralized audio system using nothing but Raspberry Pi's and some {cheap} bluetooth speakers from amazon and leverage any old speakers lying at home that can be plugged into a 3.5mm audio jack. It works great, and I enjoy the whole house music system thoroughly. I documented all the steps that I did at my home, hoping it will come in handy for myself later, or to others who is thinking of doing the same.

Software Components

I used Mopidy, Snapcast server and client software(s) to achieve this functionality. The Mopidy is just a media player, and the output of the mopidy is directed to a pipe, where the Snapcast server is listening to. When any audio/music content is streamed to that pipe, Snapcast server receives the media, and broascasts to all of it's clients (snapcast clients) accordingly.

If you are not familiar with Mopidy, I highly recommend you to read all about it here --> Mopidy Docs or Mopidy Home Page

The ideal set up would be to install Mopidy, Snapcast Server and Snapcast client on one Raspberry Pi, and use other Raspberry Pis as clients - where it will only have Snapclient software running on it.

All Raspberry Pis are connected to corresponding speakers (possibly in each room) using 3.5mm audio jack. In my case, those Raspberry Pis are either behind the couch, or under the bed hidden, but always powered. The bluetooth speakers can be powered from Raspberry Pi itself - just make sure you have the right power supply that has at least 2.5 amps.

  1. Install Mopidy

  2. Install Snapcast Server

  3. Install Snapcast client on each Raspberry Pi

  4. Setting up PulseAudio

  5. Setting Snapcast Client Names

  6. Optional Enable Airplay

  7. Optional Setup Virtual Sound Card on VMWare ESXi 6.0 or Above

All set! That's all there is to it! Enjoy the whole house audio system, play music, connect to home assistant, and make announcements, notifications, write a program that pulls headlines/breaking news from news sites; call amazon polly and play the tts audio, or even connect to online radio channels! Sky is the limit!

Optionally, you can also install Mopidy Web Extensions and access Spotify playlists. This Mopidy (mpd) can also be integrated into Home Assistant (HA) and see all the media players on the dashboard. Currently, HA only supports older vesions of Snapcast server and clients.

Good luck! 😄

Special thanks to @mgolisch, @happyleavesaoc

Big Picture