Put cable boxes in each room and tune to the same music channel.
There is no zero-latency, IP/TCP protocol. The nature of ethernet communication is latency (although small) and graceful degradation through packet retransmission and rerouting (which adds larger latency).
There are dedicated music protocols that run over gigabit switches such as QSC's QSys network or CobraNet that can share traffic over high quality Cat6 networks, but they require expensive servers and endpoints. For a home user, there is no simple way to drive a house party in multiple rooms and synchronize the acoustic delays so that you don't get weird phasing effects.
Each computer that is decoding the music stream has a slightly different quartz clock (to maintain the 44,100 kHz sampling frequency). After a few minutes of several computers playing the same music, the clocks will drift apart and you will hear the latencies--this assumes zero network latency. Add in network latency and you have an impossible situation. You need a protocol that transmits a master clock and then synchronizes all playback based on that clock.
A better way acoustically to handle the situation is to have one primary sound system and use a 4-way line-out splitter and put some boom boxes around the house with cabling. That way you have only one sound source and you are using analog amplification after that. Keep the cable runs under 20' or you will get some acoustic delays (due to distance).
The most simple arrangement is to mix to mono and put 4 high-powered speakers in the center of the house pointed in 4 directions. That will allow the sound to travel throughout the house without acoustic delays.
A more complicated arrangement is to use a 5.1 receiver and program your receiver to put 0 seconds delay on the front of house and a few milliseconds of delay on the back speakers and put those in a distant room. You can tweak the delay such that the sound is coherent. There are delay calculators on the web.
Linux has some wonderful tools and protocols to share music libraries and stream music and play to remote machines, but it can't play multiple locations with controlled delay. What we need is a networked jackd protocol where xruns become network latency--yet another framework!
Or drop $50K and put in a real networked sound system:
http://qscaudio.com/products/network/QSys/
(It actually runs a form of linux!)
Bookmarks