My son added me to Pandora and I love it but want Synchronized Pandora on all computers in the home. I searched and searched the web but found nothing until…
It is so simple. Each computer you want to play synched sound needs an ethernet link. Wi-Fi won’t do. The computer needs to run Pulseaudio.
I started by making a music server by setting up a computer with Pianobar. It is a simple install and once installed, has a command line interface to play Pandora
I loaded Patiobar an NPM node application that links to Pianobar and publishes a web page for controlling the application. I removed the speakers from the server because that audio precedes the sync process and is thus out of sync. Then comes the “magic” on each computer and the server I loaded paprefs a GUI app to control Pulseaudio.
Here are the four tabs of the application. On the clients it is set-up as shown. On the server tab 3 the server does not have the Enable Multicast Receiver enabled but instead has the sender enabled. That is all there is to it. The clients automatically find the music server output. They are all synched for one rich sounding home full of music.
Now a caveat, a client can lose sync if the network cable is disconnected and reinserted. If this happens all one needs to do is bring up paprefs and uncheck then recheck the enable receiver checkbox.
So here is the Patiobar interface on a HomeAssistant Lovelace dashboard with volume controls for each room
I will post separately on how to set up Raspberry Pi (or any ALSA) volume controls in python and MQTT.