use 2 identical midi controllers

hello! I have bought 2 identical midi controllers and when connected to Cubase 12 Pro it recognizes them well. The problem is that when I set up the remote, only one of them is recognized for me. That is to say, I cannot assign buttons to both at the same time, I can only have one connected. It has also happened to me, for example, with two arduino boards connected as controllers. Do you know if there is any alternative to be able to use 2 identical controllers. thank you!!

Hi and welcome to the forum,

Do you mean MIDI Remote? Does it mean, you can see only 1 device in the list? Or can you see both?

What exactly does it mean? You cannot do it technically? Or you can do so but it doesn’t work (what happened)?

Hello Martin. Thank you very much for your welcome and answer. Please excuse my English. I use a translator and there may be errors.
Yes, I mean MIDI REMOTE. I try to explain myself better: imagine that I have 2 identical midi controllers. when i connect the first one i can perfectly create script and assign its buttons without problem.
When I connect the second one and start to create a new script, I can’t assign any controller, the list is empty and I can’t finish.
I would like to think that since there are 2 controllers that are the same and have the same name, Cubase does not recognize them.
I will try to attach a photo to see if I explain myself better. Thank you so much!

Hi,

Unfortunately MIDI Remote can’t cascade the devices. Or would you expect they work the very same way, doesn’t matter which one do you touch?

@Martin.Jirsak I assume the idea would be to effectively create a larger controller from 2 smaller one’s. So instead of having just 8 hardware knobs, one would have 16 hardware knobs available.

@Antonio_Hinojosa Which controller model are you trying to connect two times? And are you using MacOS or Windows?

For example Maschine Mk1, Mk2, and Mk3 controllers aren’t designed to have multiples of the same model connected. But Maschine Jam is ok to have multiples.

Hi,

I’m sorry, this is not possible.

From the inside of Cubase, probably this is not possible. What you may want to try, however, is to use an external utility (I use Bome Midi Translator Pro, but there are other as well) and route In/Out of the second controller, to Out/In of one (or even two) virtual ports. Always remember to start your external utility before Cubase, and then you can create your second midi remote using the virtual ports instead of the original ones. You can even try using all 4 ports (i.e., the original two of the first device and the virtual two of the second) in the same script.

1 Like

What an awful limitation.

Why would Cubase identify the MIDI devices by name rather than a device ID?

@Antonio_Hinojosa – can the Device ID be modified on the controller device?

Hi,

When you write JavaScript, you can do so. See the

deviceDriver.makeDetectionUnit().detectPortPair(midiInput, midiOutput)
	.expectSysexIdentityResponse(...)
1 Like

No, I’m not talking about any proprietary SysEx declaration. I’m talking about the ID the operating system assigns the device.

Are you referring to the USB Device ID? If so, both devices will be have the same idVendor and idProduct, the midi sysex Device ID is the way midi can identify them individually.

1 Like

No. What I was referring to was the unique ID that the OS assigns a device. I’m a bit out of my comfort zone here, but I believe on Windows it is referred to as “Device instance ID”.

But this requires the manufacturer to give the end user the option of changing it if using multiples, no?

I believe that string does not remain the same over time. I would suppose this is a reason it should not be used for this purpose.

Yes, and many do.

Again, this is not my area of expertise, but there are applications that successfully differentiate between multiple devices of the same make and model. What parts of WinAPI those use, I don’t know for certain.

That’s an assumption based on another assumption.
I don’t know that it would necessarily matter if the instance ID changes. There are likely several ways of drilling down the connected device list to uniquely identify multiple devices with the same product ID. I also don’t believe the method of doing so would differ between a MIDI controller and any other USB device.
But if we’re talking about connecting via a 5-pin DIN through a MIDI interface, then the above would not apply.

In any case, the method provided in Steinberg world is the one Martin indicated.

How does it work in Steinberg world if you have two MIDI controllers and you’re not using MIDI Remote? Two identical MIDI keyboards for example.
(Asking out of curiosity.)

I don’t know. The last time I did that was a few years ago now, and I was using Bome Midi Translator to script for my devices.

Native Instruments Maschine Jam and a few of their DJ controllers identify themselves with different names when multiple devices of the same model are connected (appending a number to the name).

And their Controller Editor utility provides the functionality to assign the different name/number combinations to the different devices.

I’ve never experimented with MIDI controllers on MacOS, so I don’t know how it works there, but on Windows - if the controller manufacturer accounts for it, it would seem possible to have multiple pieces of hardware of the same model connect without causing confusion.

But in the absence of that, abstracting the hardware via Bome or MidiOX or CoyoteMIDI plus loopMIDI before it connects to Cubase would indeed seem to be the trick to do when not JavaScripting the MIDI Remote.