I am interested to build a tool which can stream audio synchronized to multiple UE Boom speakers.
UE (Mega)Boom speakers already have the ability to build up a broadcast/multicast domain to play audio simultaneously. Logitech calls this feature "Party Up". Each speaker has two Bluetooth interfaces. One is used to communicate with the audio source (eg. your phone). The other one (most likely BLE) is used for communication between the speakers. So when I'm connected to one speaker it is possible to link other (not connected) speakers to play the audio. Synchronization happens between the first speaker (master) and the other linked speakers (slaves). So the stream from the source to the first speaker is not synchronized anymore as soon as you add speakers. To stream the music to the slave speakers, the master uses the second Bluetooth interface. I don't know what protocol they used but maybe they leverage the "multistream audio" feature in Bluetooth LE.
As initially said, I'm trying to build a tool which allows eg. a Raspberry Pi to either be part of the broadcast/multicast domain and receive the synchronized audio, or to initiate the stream and send out the synchronized stream to all the speakers.
Does anyone has any experience with these speakers? Sniffing Bluetooth packets without being part of the communication is quite hard. So my current approach would be to reverse engineer the protocol step by step: First check what the speaker advertises. Then advertise that myself to one of the speakers and check the response. Basically capture and replay.
Also, I haven't really seen any implementations of Bluetooth LE multistream audio so far. Does anyone know a (unix) tool which is capable of using this rather new feature?
PS: I've obviously seen UE Megaboom serial protocol and Sniffing serial Bluetooth traffic on Android however they all look at the connection between the source and the first (master) speaker. I'm interested in the second connection from the master to the slaves (which I am not part of so wireshark won't help).