iOS and device zombie names of MIDI controllers

Hey guys,
there is an issue with device “zombie” names of MIDI controllers no matter what manufacturers at least when using iOS/iPadOS and MacOS. (I assume also under Windows, but I can’t reproduce this because I have no Windows PC here at the moment.) In the discord server of Pirate MIDI I created a thread and maybe you have an idea what to do and how to solve this.

I think this is a general problem with all kind of MIDI controllers, that’s why I allowed you to invite you to join/read the thread.


Thread: Discord

Pirate MIDI discord:

Pirate MIDI let allow you to edit the device name of a Bridge4 on your own. But when you change the name of the device, it doesn’t actually seem to change - macOS/iOS sees the old name still.

The other issue is the identification of unique devices – which looks like is just not possible at least on macOS/iOS. There isn’t a unique identifier at all, it’s a hash of the device name and the USB port it’s plugged into.

Looks like Bome could solve this via clone/duplicate the MIDI source. And then Bome renames each unit in their system. Presumably Bome solves this via creating its own “device ID” (whatever that actually is…).

I think the underlying problem is the nature of MIDI: devices don’t have their own unique identifier like a MAC address, so if you have two (or more like in my case) of the same device, the system can’t tell them apart and that’s it. Bridge4’s ability to change the name should solve the problem, which, by the way, was exactly why I asked Pirate MIDI to include the feature of being able to change the device name. But that’s exactly what doesn’t work: after changing the device name of any of my Bridge4s, iOS/macOS still shows the old device name for whatever reason.

Means: changing a label/name isn’t changing a device ID.

The USB protocol allows for much handshaking/coordination/discovery between devices when they initially connect.
However, it is up to each manufacturer to implement as much or as little of the protocol necessary to complete a successful connection.

Most music hw manufacturers are not experts in the lowest level details of the USB protocol and most of the publicly available libraries are not 100% complete and current in their implementation.
I know the guys at Conductive Labs (NDLR, MRCC) have been working with other manufacturers to understand how and what they send via USB so that the CL MRCC (a MIDI patchbay/router) can successfully connect and identify each device. But even they still have issues when connecting to a computer and having the computer properly identify and label all 12 virtual in and out ports over USB.

Bottom line is it pretty much works correctly the vast majority of the time, but it’s still a mess in some areas.