I’m working on a pretty big project for a live-looping set up using Ableton (loopers, samples, synced triggers and effects) and 3 Akai Midimix midi controllers and 2 Novation Launchpad X controllers all routed through Bome Midi Translator to control everything. I’m still working on it and coming up with new ideas how to use things effectively. But it’s going to be a great hands on setup.
My question is about the multiple (same) midicontrollers. How does BMT know which controller is which? I want to be able to pluck the usb cable in and BMT know Midimix1 is 1 and not 3 for example. On the input side of things that’s easy. By editing the midi channel of the midi messages send by the Midimix (each their own midi channel) But on the output from BMT to the Midimix for LED feedback it is more difficult. The Midimix controllers all respond to the same note on/off messages for the LEDs. Routing example: Ableton out note message > BMT virtual in 2 > Translator Ch1 Note C#1 > Midimix LED (lights up of dims).
So I have to be sure that Bome knows which Midimix is which (#1#2 or # 3) for the right output. Not picking the wrong one when unplugging and plugging the USB cables. So my question is: How does BMT identify the different controllers? And is there a way to not have them mixed up?
Some MIDI controllers you can assign a unique ID to. Sadly I don’t think the MIDI mix is one of them. If they don’t report themselves uniquely, it you just have to rearrange them until you get them on your desktop in order that you want them.
I’m told that if you use the same USB ports, they may keep their memory but I’m finding this is not very reliable.
Once you have them arranged correctly, you set up different port selection under each preset.
The attached example is how I have previously set up one to support 3 APC-MINI’s. You should be able to use it as a Model for any controller of the same type that uses MIDI CH 1. The key things you should do is to define you own aliases. I have mine as follows (for testing) but you will want to make them for your own devices.
You can learn more about aliases from this tutorial.
On APC to Application I have set the device inputs and outputs at the preset level.
On Feedback I put the input all on one port and then differentiated the output destination at the translator level. Note that the 2nd and 3rd devices to translation in the translators so that the Application sees MIDI CH 1 for the first (no translation), MIDI CH 2 for the second, and MIDI CH 3 for the third.
On return, we translate all back to MIDI CH 1 for their respective device.
For more information about device selection, see this tutorial.
Thanks Steve. Yes the 3 different output ports work fine if they are setup correctly. I’m not at my setup right now, but I think they show up as Midimix (1) Midimix(2) Midimix(3) all three together. Maybe I’m overthinking it, but is it as simple as pluging them in one by one in the right order? If the controllers don’t have a unique ID and the physical USB port is also not linked to show the right version of the three somehow, I don’t understand what the translation will do.
Hi, when you load and test my example I think you will get it.
I’m doing everything with Preset and Translator MIDI routing and not using MIDI thru paths at all.
Since everything the MIDIMix sends is 3 byte MIDI (CC and Notes) messages. I am using raw MIDI to pass through translators.
Everything coming from Controller 1 will go to the alias ‘Application’ with the without translation. I just set up the incoming and outgoing MIDI the same.
For controller 2, I use rules to translate MIDI CH 1 to MIDI CH 2
For controller 3, I use rules to translate MIDI CH 1 to MIDI CH 3
In the other direction, anything coming from MIDI CH1 from the DAW will go to controller 1 with no translation
Everything from the DAW on MIDI CH2 will go to controller 2 and be translated back to MIDI CH 1.
Everything from the DAW on MIDI CH3 will go to controller 3 and will be translated back to MIDI CH 1
So all of the controllers are sending and receiving on MIDI CH 1 and MT Pro is doing the channel translation to and from the DAW.