Looking for info on how Windows USB MIDI devices work

This post isn’t directly about MIDI Remote, and is instead about just being able to access MIDI Devices.

I’ve always found Windows USB MIDI to be pretty mysterious. Sometimes devices seem to be unavailable because they are too high in the list of devices in Device Manager. Also there seems to be limitations on multiple programs accessing the same device. And if a device gets plugged into a different USB port everything can get wacky.

Anybody got a link to videos or other resources that explains how Windows MIDI works?

Currently I’m on Windows 10, is this something that got improved with 11? Been holding off on upgrading, but this might change that…

If there’s one thing I’ve learned about USB MIDI devices over the past 10 years or so it’s: Don’t use them on (even powered!) USB Hubs!

Simple devices like my Akai MPD18 are more forgiving and can run on a hub without much issues but more complex devices like my Panorama P1 or my Roli Seaboard rise (MPE!) is a definite no go connected via a hub!

I mostly comes down to USB Enumeration! Please take a look at this site for more in depth information: USB Enumeration - Developer Help

I’m still on Windows 10 too. I really don’t know if 11 is any better at this? And maybe the new USB4 Version 2.0 will change things for the better?

While on Windows 10, I’ve run almost of all of my midi devices (and more) via a powered USB hub without issues.

The noteworthy exception is primarily my audio interface, which I’m plugging into an otherwise unused motherboard root hub, so it doesn’t have to share any bandwidth with anything else.

My main gripe with MIDI on Win10 is that too many applications are still using the a very old MIDI API that’s single client (including some relatively new one’s).

Since 2016, there’s been a newer multi-client API.

Cubase seems to use the multi-client MIDI API for a while now, and my NI controller software is fine being open at the same time as Cubase.

With my Arturia controllers, I can’t have them connected their control center software and anything else at the same time, so I assume they’re still using the ancient single client MIDI API.

I’m also still using Win10 - even on my current generation Ryzen 9 system and have not yet found any compelling reason to upgrade to Win11.

I think the next generation MIDI for Windows is just being opened up for developers, if I understood the blog posts by Microsoft’s Pete Brown correctly. He’s very much the public face for Windows MIDI.