Release status: stable [box doku]
We got some new overkill audio equipment, so we put some mqtt into it :D
It has a proprietary network interface used by the Behringer control software. It was reverse engineered, the mappings can be found here: File:UNOFFICIAL X32 OSC REMOTE PROTOCOL (1).pdf.
We use this python library to interface with it.
There are some simplified commands like 'volume up' for easy use, and the possibility to directly bridge to the x32's protocol. The x32-protocol also uses paths, so you can just append the x32-path to the topics mumalab/audio/x32/set or mumalab/audio/x32/get to set or get arbitrary paths. You can send it pure json and get back json. We already use the volume commands with the Fastfood Remotes.
|mumalab/audio/x32/command|| "volume up"
|increase or decrease the master volume in 5% increments|
|mumalab/audio/x32/set/…||json||set path of mixing table to a specific value|
|mumalab/audio/x32/get/…||"get"||replies value of path as json in the same topic|
|input||"pi", "line_in"||Switches input to specified and mutes all other||input pi|
|output||"b1"||Enable or disable certain outputs||output b1 1|
The Audiosignals are transmitted via the AES50 standard. The Samplerate is set to 48kHz at 24 Bit. Beyond the capabilities of the Desk, this would allow us to use up to 96 Channels over 100 MBit/s. The overall delay including Processing and Transmitting is fixed at 1.1ms. If you want to learn more about how AES works, click here. An other interesting Document can be found here.
We now implemented the Dante function. If you want to play Audio via Dante, the Dante Channels 1+2 are mapped to the Desk Channels 17+18. For best results, plug your Cable into the Netgear Gigabit Switch and set your Latency to 10ms. We usually only need 2.5 ms but sometimes, there are high spikes. Please note, Dante is a proprietary Protocol and due to the high reliability not Wifi Compatible.