If you are willing to accept something obscure PulseAudio actually has the best thing. Look into the PulseAudio native module which just let’s you put a speaker on the network as a normal boring sound output that works as if it was connected to your computer.
- Install the zeroconf module on both server and clients.
- Enable the native module on the server and open the port and tell PA to publish an mDNS record.
- See the speaker just appear in your sound options. Play!
I've done this for years. It works especially well when you have more than one computer, mutually considering eachother their default output.
Playing something in your tmux session on the workstation, but want to go use the laptop in the kitchen? Just move the headphones.
I also use it since I brought the office workstation home, along with barrier (synergy fork), to use one set of peripherals for both of my workstations.
I'd actually like to stream from my Mac or a phone to an Alexa Echo Dot. Bluetooth usually works, but not always, and not needing the devices to be in close proximity would be a bonus.
I tried that and whilst it works for individual outputs, having it playing synchronised with other speakers was not ideal given the timing discrepancies that appeared.
- Install the zeroconf module on both server and clients.
- Enable the native module on the server and open the port and tell PA to publish an mDNS record.
- See the speaker just appear in your sound options. Play!
Actual instructions if you want to set it up https://blogs.gnome.org/ignatenko/2015/07/31/how-to-set-up-n...