Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)

M/X Air Digital Mixer Series
Post Reply
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)

Post by kmitchell »

****
**** TouchOSC mk2 now Fully Supports X-Air and X32 Mixers
****
****. See here: https://behringer.world/viewtopic.php?t=1544
****

The biggest issue with using TouchOSC to control an X-Air mixer is the incompatibility in the way the send/receive ports are defined in TouchOSC vs. the way they are treated by the X-Air. To handle this incompatibility, there needs to be a man-in-the-middle passing messages back and forth.

Below is a model showing an overview of the setup:

Image
Yikes! PostImg messes up the preview. Please Download the Original Image.

For this discussion, I'll focus on setting up the man-in-the-middle using a Node-RED flow with Node-RED running on a Raspberry Pi. Node-RED could also be running on the same machine as your DAW or even the PC/Mac that is running TouchOSC, but the network settings get a little more complex in that setup.

For now, follow the instructions at the link below to get Node-RED installed on a Pi.

https://nodered.org/docs/getting-started/raspberrypi
Last edited by kmitchell on Mon Mar 25, 2024 3:48 pm, edited 1 time in total.
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Re: Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)

Post by kmitchell »

Once we have Node-RED installed and running, we need to install an OSC Encode/Decode node so we can work with OSC messages. We only need an OSC encoder but the single node can be used for either/or.

https://flows.nodered.org/node/node-red-contrib-osc
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Re: Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)

Post by kmitchell »

To get this working, we need the IP addresses of the TouchOSC client, the Pi running Node-RED, and the X-Air mixer.

Below is what will be used in the examples:

Image
Again, use Download Original Image to view the diagram.

Next, Create an OSC Connection in TouchOSC (to the Man-In-The-Middle):

Image
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Re: Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)

Post by kmitchell »

Once TouchOSC is setup, we can move to the Node-RED flow.

Here is a screenshot of the flow. As you can see it is very simple.

Image

There are 4 nodes that need to be configured to match the IP addresses and ports in our setup. Please refer to the diagram in my previous post.

The first UDP In node (upper-left) listens for OSC messages from TouchOSC on port 8001:

Image

The first UDP Out node (upper-right) sends UDP messages to the X-Air mixer at port 10024. Note that it binds to local port 11223. This is the "Source" port for OSC messages to the X-Air.

Image

The second UDP In node (lower-left) listens for messages from the X-Air on the "Source" port set above:

Image

Finally, the second UDP Out node (lower-right) sends the OSC messages back to port 9001 on the TouchOSC client:

Image

There are two additional nodes in the flow that do not need to be changed. The "/xremotenfb" node sends an OSC message to the mixer every 9 seconds to request updates. This is needed so we get notified of changes made by another client, such as mixing station. The other node is "OSC Encode" and that simply takes the "/xremotenfb" message and encodes it into OSC format.
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Re: Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)

Post by kmitchell »

Here is the Node-RED flow in JSON format. Remove the .txt extension before importing.
Attachments
x-air.json.txt
(3.12 KiB) Downloaded 18 times
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Re: Using TouchOSC to Control an M/X-Air Mixer (Two-Way Messaging)

Post by kmitchell »

Here is a TouchOSC template that implements some sample controls. Remove .txt extension before loading.

Make note of the init() function on each control that queries the mixer for the control's current value when the template is launched. This is so the controls all start out sync'd to the mixer.

Feel free to ask any and all questions here.
Attachments
XAir-Two-Way.tosc.txt
(1.69 KiB) Downloaded 17 times
Post Reply

Return to “M/X-Air Digital Mixers”