Help To setup Synced Navigation in Ableton Live10 with 3 midi controller


I am new to the forum and need help for what seem a simple task (but under the hood is not that simple).

But first, thank you for this great tool which solve a fierce amount of my configuration needs for better workflow

I have already been through the Manual but obviously need a lot more practice but could start different project with he help of all your Video content as well

What I would like to do right now is setting up a small config in BMTP to sync the navigation with my mid controllers

I have an APC40, Maschine Studio, And a Maschine Jam side by side, all working independently with their own remote scripts.

The 3 controllers have their own dedicated navigation controls to move across tracks in Session/Clip mode in Ableton and have their own Navigation Box (Redbox or clip launch box) coloured automatically by Ableton when setting up the midi config

APC is the Red Box covering 8 tracks(1 to 8) , M Studio is the Blue Box covering 4 Tracks (9 to 12) , and M Jam is the Green box covering another 8 tracks (13 to 20)

What I would like to do is that whenever I click the navigation control left or right from any of the 3 controllers, to have them to move in the same direction accordingly so they are synchronised and never overlap each other.
They all use custom python midi remote scripts and use sometime the same midi channels from time to time without conflicting.

With my very little knowledge as of now and the few trials I’ve made, I quickly get into midi loops or conflict messages in Ableton Live and what seem to be a simple task seem in fact very complicated .

Your advice , directions, help or realistic answer would be greatly appreciated on the matter

Midi Inputs are as follow (copy from Log Window)

1: MIDI IN [Akai APC40]: 90 61 7F Rigth down

2: MIDI IN [Akai APC40]: 80 61 7F Rigth up

3: MIDI IN [Akai APC40]: 90 60 7F Left Down

4: MIDI IN [Akai APC40]: 80 60 7F Left Up

5: MIDI IN [Maschine Studio Virtual Input]: B0 5B 7F Rigth down

6: MIDI IN [Maschine Studio Virtual Input]: B0 5B 00 Rigth up

7: MIDI IN [Maschine Studio Virtual Input]: B0 5D 7F Left Down

8: MIDI IN [Maschine Studio Virtual Input]: B0 5D 00 Left Up

9: MIDI IN [Maschine Jam - 1 Input]: B0 2A 7F Rigth down

10: MIDI IN [Maschine Jam - 1 Input]: B0 2A 00 Rigth up

11: MIDI IN [Maschine Jam - 1 Input]: B0 2B 7F Left Down

12: MIDI IN [Maschine Jam - 1 Input]: B0 2B 00 Left Up

Thank you for your help

Hi and welcome to the Bome Community.

I believe this can be accomplished by the following.

In MT Pro set up 6 (3 in and 3 out) MIDI through paths between your controllers and virtual MIDI ports.

In Ableton Live, set it up to use the virtual ports instead of the actual controller.

With the above it should work just as if you had the 3 controllers connected individually (without MT Pro)

Now add translators with triggers of the incoming controllers and outgoing actions that send all controller messages simultaneous to the respective virtual port.

For instance if receiving right down from APC40 you would have

  • Translator to accept 90 61 7F from APC40 and send the same to BMT 1 (Virtual Port for APC40)
  • Translator to accept 90 61 7F from APC40 and send B0 5B 7F to BMT 2 (Virtual Port for Maschine Studio)
  • Translator to accept 90 61 7F from APC40 and send B0 2A 7F to BMT 3 (Virtual Port for Maschine Jam)

Then use the same strategy sot that the other two controllers also send the appropriate MIDI message to all 3 ports.

Let us know how it works out.

Note that when restarting Ableton Live you may have to redirect again to virtual ports as the script may actually see the real ports and try to connect to them instead of the virtual ports. I would always start MT Pro before Ableton Live.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thank you Steve

This was my strategy indeed at first but got mixed up somehow. I did create 3 virtual midi ports so each device go through its own BMT midi port and figured logically exactly what you suggest for the midi settings in BMT. I think what I get wrong is the midi device set up in Ableton .
SO what I thought was right to do was to set up Project Midi Inputs in Bome from the 3 controllers, then set up the Midi routing from each controller to each corresponding BMT Virtual midi port. Please tell me if it is correct . So instead of having my Standard controller Midi input/output in Ableton I must replace both input for each controller by its corresponding BMT Virtual Inputs ?

Thank you

Thank you very much Steve, it is all working as you suggested, just tricky to handle as the midi log gets a bit crazy displaying all info but with the help of Pocket Midi to monitor cleanly the inputs I could get this right entering the RAW midi adresses manually and routing all the ports. I must set up 12 translator per controller 36 in total to get this to work but it works without any conflict . Its a bit of a headache task but it is really worth it. I hope in the long run combining apple script, project/preset outputs etc having this all running with a single action, having read the manual it seems technically possible.

Thank you for your time and your precious help !

If you only want to see what translators handle in the log, turn on only Incoming and Outgoing.
With MIDI IN and MIDI OUT checked, it will also show what is not handled by translators and is handled by the MIDI router instead.

For the most part, you should be able to turn logging off after you have debugged the program.
You can also filter messages by entering a partial message in the filter box.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thanks Steve :slight_smile: I’ll try that
I am ok for 2 controller out of 3 as of now , well, they are all set up in sync to move one track by one track but i have a more complex task as I want to implement the shift variation to move 8x8 with the Jam or the APC40 but the M Studio has the 4x4 section that only move by 4 when shift is activated so I have to double the action for it , also APC moves by 8 when shift is pressed down but for the Jam it is the opposite . Its going to push me into learning rules and set up translators for preset activation/deactivation I guess. Just another day of work I hope , it is very intensive for the brain and its easy to get quickly lost :slight_smile:

Well lets say APC40 moves 8 and MStudio Moves for.

You could do output of 90 61 7F to BMT 1 and then B0 5B 7F B0 5B 7F for output to BMT 2.
Then they should both move 8.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thanks Steve, I didn’t figure out I could enter sequences of midi value in Incoming/Outgoing fields to repeat actions.

Thank you very much for your help !

My pleasure!

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:
1 Like

actually pasting twice a midi value doesn’t repeat the action… :roll_eyes: , I keep learning :slight_smile:

You can repeat an outgoing action it two ways.

Send the MIDI message twice as raw MIDI in the same translator


B0 23 7F B0 23 7F

  1. Set up a repeating timer and to trigger the outgoing action twice

Outgoing Action: Timer “Repeat” 2 times

Incoming Trigger “Repeat”
Outgoing B0 23 7F
CC 35 (23H) on MIDI CH 1 value 7F

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thank you Steve but it is not working for me because I probably have it wrong in my strategy. I basically set 1 translator for pressing down (say note on) and 1 for the button coming back up (say note off) If I don’t do so the action keeps going as if the button remains pushed down, this is how I got it working so far. Now when I repeat the action twice it doesnt work probably because of the second translator stopping the action, but if I remove it, it obviously keeps going on.
Now assuming that my 2nd translator is maybe stopping the doubling action I tried to set up a delay to the note off action but it doesen’t work either.
Finally I tried to not double the raw midi message and just set up a delay on the M studio so the action repeats naturally shifted several times 4x4 (After watching one of your video I created a Shift preset to activate/deactivate Shifted/non shifted controller presets) , fine tuning the delay time to the push down and back up action so it repeats only twice. it works but randomly, and doesn’t remain consistant. Going through the manual doesn’t help and I can’t figure out what is stoping the doubling of the RAW MIDI adress in the incoming or Outgoing action to work.
Now I wondered if I should start from scratch and set global or local variables for M Studio controller inputs, say left to pp and right to qq and try something like pp*2 . I am used to tedious tasks and have learned on my own all my life so I never give up until I understand :slight_smile: . I keep watching you videos and reading the manual and messing around with my settings.

Thank you anyway for you great advices

Interesting, so it sounds like if you push and hold a button down, the controller is sending the same MIDI message until you release the button. I’ve never seen a MIDI controller act like that. I think I would need to look at your incoming message log while you push and hold the button to see what is actually happening here. Maybe you are getting duplicate MIDI messages from different ports? Could you perhaps post your current project file?

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

This is probably because they all use python templates connected to the Ableton live API, but maybe I am not setting up my specific port correctly and probably looping something. I just think what I get wrong is I set up my specific ports from APC40 input to Bome VO 2 and I should route it straight to Maschine Virtual output which then passthrough to Bomes virtual ports then going to Ableton. this is probably why my logs and midi capture are going crazy.
Thanks for helping out

Yes, you want to avoid MIDI loops at all costs. Please see this tutorial for port routing tips. Make sure swallow is set as an option in all translators.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thank you for the video it was very useful.
I ended up double checking action’s order by carefully using the Outgoing actions log discovering that double clicking on a line in the log highlight the corresponding translator and got that working by checking the stop procesing after executing this translator box on the last performing translator.

Thank you very much for your help !

My pleasure. I’m glad you got it working!

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Partially, still not the end of the road. One device is properlly set up and scaled and still need 2 more and it is still a headache :slight_smile: . I am trying to find consistent reason for weather it works or not but I really struggle so it is more trials and errors and happy accidents to be honest

Yes, it takes a while sometimes. If one redbox moves 8 and another 4 and another 2, the only way I would know to do is to move all of them 8 at a time as there would be no way to move less than the remote script for a given controller is set up for. You could always take the one that moves 4 and set it up to go twice or the one that moves 2, set it up to go four times.


Yes I move the one that moves 4 in a shifted state twice, though what worked towards right doesent work towards left with same settings :thinking: I’ll keep fiddling until I get this right :slight_smile: