I run Snapcast on a Raspberry Pi, and it's a Sonos replacement that cost me nothing
…It only handles the distribution and synchronization between devices. For music playback, I use MPD (Music Player Daemon) to stream local music files to the Snapcast server, which distributes them across rooms…