Using TouchOSC to Control an M/X-Air Mixer (One-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 (One-Way Messaging)

Post by kmitchell »

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

EDIT: This is for One-Way Messaging. I'm starting a new post for Two-Way messaging. (i.e. with Feedback)

This is the start of a discussion related to controlling an M/X-Air mixer with TouchOSC using OSC parameters. Just to be clear, this will be about controlling a mixer over Ethernet or WiFi, not MIDI over USB.

The newest version of TouchOSC, released on 2021 as "mk2", is a much more powerful tool and is actively being developed. The original version is now called "mk1" and "mk2" is now just being called TouchOSC. Confused? Everything discussed here will be for the NEW TouchOSC (currently version 1.2.8.194).
Last edited by kmitchell on Mon Mar 25, 2024 3:48 pm, edited 2 times in total.
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Simple One-Way Control

Post by kmitchell »

In this setup, TouchOSC sends OSC messages directly to the mixer at port 10024 but there is NO FEEDBACK from the mixer. This is very much like the way the mixer works when being controlled by MIDI, except all OSC parameters are available for control vs. a very limited set of MIDI controls. When defining the OSC connection in TouchOSC, only the 'Host' and 'Send Port' are used. Leave the 'Receive Port' blank for this setup.


Image
Last edited by kmitchell on Mon Feb 19, 2024 10:48 pm, edited 1 time in total.
User avatar
pmaillot
Posts: 661
Joined: Wed Apr 14, 2021 1:32 pm

Re: Using TouchOSC to Control an M/X-Air Mixer

Post by pmaillot »

Interesting as there are quite a few people who have problems in using TouchOSC with B consoles;
Essentially because they would like the feedback and Touch OSC took (seems to me) the only option to fix/set the return path Port to a specific value.
B consoles use a more pragmatic way: They reply to whatever Port that sent them the initial request. That is BTW the default/standard option in UDP programming, but you can build programs that will accept both ways (fixed return Port or Port of the sender).
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Re: Using TouchOSC to Control an M/X-Air Mixer

Post by kmitchell »

Thanks Patrick for your input. I always thought B was using a non-standard way of communicating but if I understand you correctly, it is TouchOSC that's using the non-standard by specifying a listening port, vs. listening on the source port.

Based off of your X32Reaper code, I made a tool I called XAirRemote that serves as a man-in-the-middle between TouchOSC and an X-Air mixer. Basically, it creates a connection to the X-Air and handles the periodic /xremote messages to the mixer but it also implements a send/receive interface for TouchOSC.

More recently I re-implemented something similar but with a low-code tool called Node-RED. A raspberry pi running Node-RED still serves as the man-in-the-middle between TouchOSC and the X-Air, but the code (called a flow) can easily be customized by the end user using a browser-based editor.

In upcoming posts, I hope to document both the XAirRemote method as well as the Node-RED method for achieving two-way communication. I have used both methods on a Mac, x86 Linux, Raspberry Pi/Arm Linux, and Windows. By far, my favorite platform is the Raspberry Pi due to ease of setup and not having to deal with firewalls.
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Re: Simple One-Way Control (continued)

Post by kmitchell »

Here's what the Connection looks like for my XR18 that has an IP address of 172.29.1.24:

Image

Here's the OSC message settings for a fader controlling CH15:

Image

A complete list of OSC parameters can be found here: https://behringer.world/wiki/doku.php?id=x-air_osc
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Re: Simple One-Way Control (Muting A Channel)

Post by kmitchell »

I think a Mute button is worth highlighting since it requires the argument value from TouchOSC to be inverted. Note the "Scale" and "Conversion" fields in the screenshot below:

Image

Because the OSC parameter is "mix on" the Unmute value = 1 and the Mute value = 0. To achieve this, we set the Scale to 1 -> 0 and the Conversion type to Integer.
kmitchell
Posts: 248
Joined: Fri Apr 16, 2021 6:15 pm

Re: Simple One-Way Control (Channel Send to a Bus)

Post by kmitchell »

Another common task is to be able to control the channel send levels to a bus. Typically this is used to adjust a performer's personal monitor or IEM mix. In the X-Air app this is called "Sends on Faders".

Too achieve this, we just need to create a fader for each channel we want to adjust and, possibly, for each bus.

The format of the OSC parameter is /ch/<channel>/mix/<bus>/level where channel is 01-16 and bus is 01-10. But wait, there's only 6x mix buses? What's 07-10? Those are for FX1-FX4, respectively.

The screenshot below shows an OSC message for a fader to control CH15's send to Bus 1.

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

Re: Simple One-Way Control (Pan to Main LR)

Post by kmitchell »

The last control (for now) I want to highlight is a radial used to pan a channel to Main LR. For this control to work, the "Centered" property needs to be enabled for the radial so that a value of 0.5 represents top-center for the pan control.

Image

Other than centering, a radial is pretty much configured the same way as a fader:

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

Re: Simple One-Way Control (Project Template)

Post by kmitchell »

Here's a sample template of everything I've discussed related to one-way control.

Remove the .txt extension at the end of the filename.
Attachments
XAir-One-Way.tosc.txt
(1.64 KiB) Downloaded 20 times
Post Reply

Return to “M/X-Air Digital Mixers”