I'm trying to play music on several machines simultaneously, with zero (or near-zero) latency, on a wireless network. The aim is to play music on three or four machines in different rooms in the same house, for a party.
All the machines are running 12.10 Gnome-Remix. All of them are on a wireless network, with the music library being on a desktop machine. The other machines are laptops, two of which run 802.11b wireless (they are quite old) and the other of which runs 802.11g wireless.
It seems that there are a number of ways of achieving this, and I've tried three, but all of them fail for one reason or another.
1. Pulseaudio Device Chooser.
I've configured Pulseuadio Device Chooser, as per these instructions here:
(using pavucontrol and paprefs). This seems like the most elegant solution, and I like it the most. It just about works with a single client on a wired network, but using a wireless network or more than one client and the network traffic load is too high and the sound is unacceptably choppy. (I posted about this here (link), but the response was simply that this is a limitation of wireless networks and they can't trasmit and recieve at the same time.)
I've installed Icecast2, and linked to it on the server using darkice. This works, and the sound is good, but the client machines all play a second or two behind the server. This means that the music in different rooms doesn't play simultaneously, which isn't good. (I have yet to try playing with MPD - is this likely to work any better?)
I've installed Squeezebox Server, and configured client machines with softsqueeze, and this can play without latency (i.e. synchronised.) However it doesn't play smoothly (there are occasional gaps in playing), and I can't make it play in more than two places at one - it won't allow you to synchronise more than two machines. I don't know whether this is a limitation of the squeezebox/softsqueeze setup but I can't see how to get 'round it.
It seems that these are the three main ways of doing what I am trying to achieve, but I haven't made any of them work. Am I trying to achieve the impossible? Are there other options I should try? Is there anything more I can do to make any of the above solutions work, by overcoming the problems with one of them? (I only need one of them to work!)
All suggestions welcome - thank you.