Behringer X32 CC to control faders Pro Tools HUI

I need to use a Behringer X32 (Mackie MCU) to control faders in Pro Tools (HUI).
How do I setup a translator to do that?

Here is what I get from X32 fader 1, from infinite negative til +10db position:

B0 00 01
B0 00 02
B0 00 04
B0 00 05
B0 00 07
B0 00 0A
B0 00 0D
B0 00 10
B0 00 13
B0 00 16
B0 00 1A
B0 00 1E
B0 00 22
B0 00 26
B0 00 2B
B0 00 30
B0 00 35
B0 00 3A
B0 00 3F
B0 00 43
B0 00 48
B0 00 4D
B0 00 51
B0 00 56
B0 00 5A
B0 00 5F
B0 00 63
B0 00 67
B0 00 6A
B0 00 6D
B0 00 70
B0 00 73
B0 00 75
B0 00 77
B0 00 79
B0 00 7B
B0 00 7D
B0 00 7E
B0 00 7F

It is not a sensitive fader, so it dont send any trigger information for automation and sutch. I dont realy need any of that. I need only control fader to mix something.

Here is what I get from Pro Tools when I move it`s fader 1, from infinity til + 12db:
(it returns 174 + ping lines that have 90 00 00 message. So here are the first 20 lines + line 174)

B0 00 00
B0 20 40
B0 00 02
B0 20 00
B0 00 02
B0 20 40
B0 00 03
B0 20 60
B0 00 06
B0 20 40
B0 00 07
B0 20 60
90 00 00
B0 00 09
B0 20 00
B0 00 09
B0 20 60
B0 00 0B…
…B0 20 60

My MIDI interface is a USB UNO MIDI, connected via conventional midi ports on X32 and via USB on my PC.
I know that X32 have a DAW control function that works with HUI, but to this project I can`t use it.
How can I start this?

Hi and welcome to the Bome community!

Please find the attached example. I set it up for 2 faders. The outgoing Raw MIDI messages have comments on how the HUI messages are constructed.

'touch fader': 
b0 0f 0z 
b0 2f 40

'move fader':
 b0 0z hi 
b0 2z lo

'release fader': 
b0 0f 0z 
b0 2f 00 

The first and second translators handle faders 1 and 2. I’m assuming your incoming message for fader 2 is b0 01 00 through b0 01 7F.

The third translator handles HUI ping response which is required for Pro Tools to tell that the controller is active.

Here is how I set up my aliases. You will substitute your controller for mine as I do not have an X32.


You can learn more about aliases from this tutorial.

Pro Tools should be set up to send and receive on Bome MIDI Translator Virtual 1 port. You may see this as ‘BMT 1’ instead as by default Bome MIDI Translator Pro (MT Pro)
uses short names externally. You can change this in MT Pro settings.


I found the reverse engineers spec for this here. No I did not figure it out myself. I just figured out how to take advantage of it with MT Pro.
HUI-2Faders-example.bmtp (2.1 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Hi Steve!
Thank you for your support.

The example works!
But the fader 2 is sending something else (or Pro Tools is understanding something else) that is triggering another function in parallel. When I hit the fader 2 a change name screen opens for the channel 2. I don’t see what is it…

Furtheremore, can you point me the rigth direction to setup these?

  • Bi-direcrional mode (X32 send/receive fader control);
  • Mute button setup;
  • Pan knob setup;

I have another project that do similar translation, but to Studio One 6 (Mackie MCU). I have all setup just fine (more than 70 faders controlling it). But I have one problem tha I can’t sort it. Should I use this thread to ask you about it or open up another one?

I’ve made a few adjustments but now we are starting to get into paid territory so perhaps you should contact me via email to help you set up your project.

First of all, I believe I’ve fixed Fader 2. I was sending the wrong value.
Then I added a preset for reverse translation and put 2 faders there.

Finally, I had to find a way to stop return fader values from the application from reflecting outgoing values from the controller. They were fighting each other. So I created a global variable ‘ga’ and used it as a flag to indicate that we are receiving MIDI from the application. I put a one-shot watchdog timer on it so if the application is sending ga=1, and if it is not sending (after 100ms) then ga=0.

Now before sending fader values, if ga=1 I suppress fader output from the controller and only allow it to go through if ga=0. I’m not sure if this logic will be needed on your X32. I’m testing with a FaderFox EC4.

Another thing to note is that the resolution of your X32 is 128 (0-127) and likely Pro Tools resolution is 16352. So moving your faders on your X32 will not be as accurate as moving them within Pro Tools. There is really nothing we can do about that unless you can set up your faders for 14 bit CC values or simlar.

For outgoing translator 0.1 (Fader 1), I did a scaling formula. For 0.2, (Fader 2), I just send same value for MSB and LSB. I’m not sure which one will work best for you.

Give it a try. Note that I don’t have Pro Tools and am testing with HUI mode of Cubase.

HUI-2Faders-example-a.bmtp (3.8 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Hi again Steve,
Ok. About the adjustements that you’ve made, we still have one way working but now only Pro Tools controls X32. The other way is not working.
The funny thing is that the first example that you send me earlier is not working anymore. No matter what I do (I’ve reset the MT Pro and Pro Tools, but nothing).
Can you still help me at least with this examples?

About paid territory to help with my project, I will talk with my bosses. This project is for our church and I think maybe they should keep going with this, because it have truly potencial. But this decision is not in my hands.


On the first two translators, comment out this rule by putting ‘//’ in front.

if ga==1 then exit rules, skip Outgoing Action

Change to

//if ga==1 then exit rules, skip Outgoing Action

Then give it a try.


Maybe a dumb question but according to the documentation the X32 has a HUI mode. Is there a reason you are not just using that?

Sorry for the delay… I was in another job today.
I will try these changes now.

About X32 and HUI protocol, yes it has support for HUI, but the function DAW Remote gives me only 8 faders to work (and other buttons, etc).
Our problem is that we have normally about 64 input channels to mix for livestreaming, in some cases about 96 input channels to mix.
With only 8 faders is extremelly complicated to navigate the entire session, having to deal with a mix in a live situation.
So the main goal is to have at least all the 24 fader of X32 to mix. But to do this, we can only use Mackie MCU, because DAW Remote only uses a specific bank of faders for the job.

I changed the lines, but yet only one way (Pro Tools controlling X32 only).

The DAW remote doesn’t support Banking or sending to alternate MIDI devices.

In Pro-Tools you can do this without banking by using different MIDI ports for each of your banks. IE BMT 1 for faders 1-8, BMT 2 for faders 9-16 etc. The messages are the same for each bank but simply come into Pro-Tools on a different MIDI port.

Maybe you can set up your X32 to send to different MIDI ports depending on the faders that you use. Does it not allow for this? In HUI mode, what does your X32 send for faders beyond the first eight?

Try this version. Make sure you have Pro Tools set up for BMT 1 for both input and output.

I changed the strategy for touch and release. Instead of quickly sending a release right after moving a fader, I send the touch message separately and then set a watchdog timer set for 100ms to send the release message. See translators 0.3 through 0.5.
Hopefully with these separate touch/release messages, the fader information coming back from Pro Tools will not ‘fight’ with the fader information received from your controller. I commented out the touch and release messages in the actual fader translators 0.0 and 0.1.

I also went back to original outgoing message strategy to not do scaling. I just jumped around the code that did the scaling in translators 0.0 and 0.1. That way it is easier if we need to bring it back again.

If you are not getting anything from your controller, make sure it is disabled in Pro Tools and use only BMT 1.

HUI-2Faders-example-2023-05-26.bmtp (5.0 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

In fact X32 does support banking in DAW Remote, we use it here. But it is necessary to do some setup to assign the function to a specific area of the X32. It even has V-pots for panning in that specific area.
But anyway, we need to find another way to mix with more faders, and this is the best (I think).

What you describe is exactly what I’m doing, using more than one virtual midi port. This way Pro Tools doesn’t know that I’m using one X32 to control more than 8 faders.

I hope this version will work, lets try it!

[quote=‘SteveC, post:10, topic:5197, full:true’]

No change. Only Pro Tools controlling X32.

Could you open the log window, check all boxes and the try using your faders? I’d like to see why it is not working as it works fine for me. Did you make sure you had your controller unchecked for MIDI IN within Pro Tools. If Pro Tools has that port open, then MT Pro will not be able to open it.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

MT_Pro_LOG.txt (826.5 KB)

Sending you the log file and print screens from Pro Tools.

Ah, it looks like I was sending the touch message after the move message. I moved touch and release message translators to the top to prevent this. I guess Cubase is not as critical of touch/release messages as Pro Tools.

HUI-2Faders-example-2023-05-26a.bmtp (5.0 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Same thing. Nothing change :confused:

I will reinstall all the applications and try again. This is too weird…
But I can’t do it right now, we are starting a livestreaming.

Steve, thank you so much for the support til now!
Tomorrow I come back with results.

I think sometimes Pro Tools gets confused about MIDI ports. I think there may be something you need to do there to reset it. You might need to look at their web site or use a different virtual MIDI port in the meantime.

Hi Steve!

I managed to setup another test station, and guess what?
The problem is with Pro Tools! :rage:
For some reason every time that I close my session after the test, its midi system or wharever it is gets corrupted.

In this other station I follow a different sequence, and every time after the test I saved session, close it and then close Pro Tools. Now I could test all of your projects.

All of it are working, but here is what I discover (not much, I think :sweat_smile: ):

  • HUI-2Faders-example.bmtp - work only one way (X32 → Pro Tools)
  • All the other ones are working in ‘bi-directional’ mode, but the faders on X32 keep fighting me when I try to move them.

I am very sorry for the time you spent working in the whrong direction. :pensive:

Thank you again, for your quick response during all this thread.

I’m not sure what the problem is here. I believe that the touch and release messages should tell Pro-tools not to mess with them while you are adjusting them. I’ll take another look.

It may be that they are taking the input from Pro tools and then looping it back out again to Pro Tools so we get this fighting behavior


The last version I sent you seems to be OK and is not fighting with faders. It is important that there is no loop within your controller when receiving fader values from Pro-Tools. It should update the fader position but not send the value back to Pro-Tools
Let me know if you think that is what is happening.