Midi keyboard driver, what is stealing it

Hi, I am searching for help on my USB connected midi keyboard behaviour in Cubase 11:
I have an Impact GXP88 midi keyboard which works great with Cubase but I am struggling with the keyboard not showing up in Cubase. There is a pattern to this:

  1. Start PC (Lenovo laptop), start Cubase shortly after login: No GXP88 in Cubase
  2. Start PC, login in, wait a couple of minutes before starting Cubase: GXP88 shows up in Cubase
  3. Start PC, login and wait longer before starting Cubase: No GXP88 in Cubase

There is a “window of good behaviour”. I assume that when I start Cubase too soon the GXP88 driver is not ready. But what about it not showing up in Cubase when I wait longer? Has another application snatched the driver? And if yes, how on earth do I find out which application is the culprit?

Thanks a lot in advance!

Soren from Denmark

Hi,

Can you see the driver in the Studio > Studio Setup > MIDI Port Setup, please? Is it enabled on the Visible column, please?

I suspect something on your system is grabbing the ports, and that the drivers your controller uses are in exclusive mode (meaning only one app at a time can use them). Some USB/MIDI drivers have flags you can change in the Windows device control panel (enable/disable the exclusive mode), while some are pretty much hard set to exclusive mode.

So…check that if you can. Make sure you do NOT have anything running on startup that grabs the MIDI hardware for some reason. It may be that some motherboards ship with sound studios that are grabbing the ports! I once had a gaming motherboard that shipped with all kinds of fancy junk for gaming that conflicts like crazy with my pro-audio kit. I ultimately ended up uninstalling all the fancy stuff that came with the motherboard and just letting it grab whatever default drivers come from the Microsoft servers (without the fancy extra control panels and game enhancing wizbang stuff included in the box).

Not sure if this helps, but I have some AKAI gear that uses drivers that go into exclusive mode…meaning the first app that grabs them can get access, but nothing else can.

My Roland XR and M-Audio Delta 1010 do not suffer from this. I can run pretty much any DAW I have in any order and all of them can see their MIDI ports and use them at any time (even sending/receiving the merged data over them simultaneously).

My solution if I know I’ll be needing the AKAI MPK261 or AKAI EWI Wind Controller with multiple apps running in the same work session is to use something like Bidule or Bome Translator and virtual ports to reroute the MPK MIDI where I want it to go.

For me it works kinda like this:
First I launch an instance of Bidule that is pretty much dedicated to MIDI routing/echoing/merging/translating. I have it set up to take control of the AKAI kit with the problem drivers. I have to remember to launch Bidule first, or my controllers are STUCK with which ever DAW I run first.

Some of them (Plogue Engine stuff) will not touch the AKAI USB/MIDI drivers unless they are connected to a track/stave or something, while others (Dorico and Cubase Pro), by default, grab everything MIDI it can find in the system on launch, and never lets go until the app is closed (even if not assigned to any tracks, Generic Controllers, Quick Controls, etc.)!

Not only does this help me with exclusive mode USB/MIDI driver(s), it allows me to live-invert a couple of stomp switch pedals I have that are wired backwards from what the AKAI is normally compatible with for the ports I have them plugged into (firmware of the MPK2 doesn’t have a way to switch this built in unless I use the continuous foot controller port, and I actually have a continuous foot controller there! So…to use my nice Yamaha stomp pedals [closed switch when up, open switch when down], I just invert those CCs in Bidule before sending to a DAW). Bidule also has OSC server/client capabilities, so I can set up some Android tablet apps to become MIDI controllers for DAWs that don’t have OSC capabilities built in here as well. All in all, it’s like Cubase MIDI insert power many times over…well before data from the controller even meets the target DAW.

I typically keep several virtual ports loaded and ready to go. I’m on Windows, and like loopMIDI and/or rtpMIDI (if doing MIDI over LAN/WAN) for their versatility in having multiple ports, being able to name them, add or remove as needed dynamically, etc. I’ll use one of those to get this controller data routed from Bidule into Cubase, Dorico, Finale, Sibelius, Etc.

So the routing is MIDI Controller(s) > Bidule > loopMIDI port(s) > DAW(s)

For a long time I was using that first instance of Bidule purely for MIDI, but these days I’m experimenting with ASIOLink Pro, so I’m doing more audio routing and pre-processing from that initial Bidule instance as well these days. It’s pretty cool being able to patch almost any app’s audio (even the non ASIO ones) and MIDI into the Cubase mixer and vice verse :slight_smile:

Hi,

Are you on Windows, please?

I have never seen something like this on Mac.

Martin. Jirsak, thank you very much for replying and yes, very much so:
Device: Windows MIDI
I/O: In
Port System Name: Impact GXP88
Show as: Impact GXP88
Visible: Checked
State: Active
In ‘All Midi’: : Checked

At this moment this is what I am seeing and there is no Midi input visible in Cubase when I hit the keys. From experience I know that If I turn the laptop complete off, turn it on again, and wait a couple of minutes, the Midi signal from the GXP88 will be received in Cubase. AND, if I wait, say, 5-6 minutes, it will not.

Yes, I am on WIN10 :slight_smile:

Hi Brian, thanks a lot for your very thorough reply. Unfortunately much of your advice is beyond my capacity to do but I do have MIDI-Ox and when I run it and select the GXP88 as my midi input device, the program indicates that the driver is being used by a different program, and no midi data shows up in the MIDI-Ox monitor display. So, yes, everything indicates that some, for now unknown, application grabs the driver shortly after Windows boots. WHich brings me back to the question of how I can identify the culprit in order to do something about it.

Hi,

Please double check this in Cubase:

  • Preferences > MIDI > MIDI Filter.

Make sure, no MIDI Channels are filtered out, also make sure none if the item is filtered out (checked). By default only the SysEx filter is enabled. Could you attach a screenshot of this preferences page, please?

I think this can help you track it down.

  1. Download the Process Explorer Utility from Microsoft.

  2. Extract the zip somewhere and run procexp.exe
    This does not have to be installed or run in any special way. Just double click it once it’s extracted.

  3. Right Click your windows task bar icon in the lower left corner and choose “Device Manager”.

  4. Locate the MIDI Driver in question in the Device Manager and double click it, choose the Details Tab, and in the drop-down menu select “Physical Device Object name”.

  5. Right click the Value it displays and choose copy.

  6. Pull the Process Explorer that you started in step 2 into the foreground and in the “Find” menu choose “Find Handle or DLL”.

  7. Right click in the entry space for “Handle or substring:” and choose paste.

  8. Click “search”. It might take it a moment to find events where this device has been accessed. It should show Processes and PID’s associated with the device. You can click them in the Search window and it will highlight it in the event list(s) of the Process Explorer.

Example: Discovering which app is using my AKAI EWI Controller…

In this example screen shot I can see that I have an instance of Bidule running and is connected to the AKAI EWI MIDI device.

I closed Bidule and opened Cubase 11. I connected the EWI to an instrument track, and there it is again:

Hi Martin
Once again, THANK YOU! Here is the screenshot of the Midi preferences:

Hi,

To me, it looks OK. The Channels buttons are sometimes hard to guess… Try to click any of the button, please. If it becomes lighter, then switch it off back, please. But I would say, it is disabled.

In this case, Cubase doesn’t filter the data out.

Great, Martin, thanks a lot!

Sendt fra Mail til Windows 10

P.S.

I assume if nothing pops up in the search, then nothing has grabbed the device and it should be available next time you start something that needs it.

A window of good behaviour makes me think that the USB device is allowed to go to sleep after some time. Make sure that the option “USB selective suspend” is disabled for the USB port that your keyboard is connected to. (Actually, I disable the option on all USB ports and always run a maximum performance power scheme.)