OK, so I’ve no replies to my plea for help, but I have had a little bit of success to share.
In my previous post (hip-pop-with-rpi-and-usb-dac-t662.html), I asked (in Question 3) whether it was possible to run multiple Volumio devices with Airplay to create multi-room audio from iTunes. I can confirm that it is perfectly possibly to do so, and that they are synchronised. I have had no sync problems with my two CuBox i2Ultra devices and they have been playing in perfect sun for many hours now, using iTunes music, and radio over iTunes. They are currently streaming via optical and there are no pops or clicks and jitter levels are very low. I know this because the Audiolab MDAC has a display that shows sample frequency. This moves about (only by a few Hz) quite often from the Airport, and requires that the bandwidth filters be set to ‘wide’ to enable error-free playback.
To ensure that there would be no conflicts, I gave them fixed IP addresses (probably not necessary, but it guaranteed that I would be able to identify each one on the network if the naming failed!), and renamed the hosts to have unique names by editing /etc/hostname. Each CuBox also has a unique AirPlay name using the code NAME="$(cat /etc/hostname)" in the /etc/init.d/shairport file. This enables me to select the two CuBox devices singly or in combination to play iTunes via optical. As I said, it works really well, and seems to give a slightly more ‘mellow’ and ‘natural’ presentation than optical from the Airport Express. I have no idea why this should be the case, but that is my impression so far.
Having proven that Volumio on CuBox can play iTunes via optical, and that CuBox can play music from RAMPLAY to USB, it must be the case that the problem with the USB output from iTunes is Shairport. My guess is that this line is to blame:
/usr/local/bin/shairport -a “$NAME” -o alsa – -d “hw:2,0”
However, I know very little linux and nothing at all about the alsa mixer, so I don’t know where to begin to fix it . Can someone please tell me what the various parts of the code above mean? I know that that the last bit (“hw:2,0”) tells the output to go to the second card, but I have no idea what – and -d are doing. If someone can help, I would be very grateful.