midiseq icon indicating copy to clipboard operation
midiseq copied to clipboard

Multiple USB devices with the same name show up as one entry

Open kevinjwalters opened this issue 6 years ago • 7 comments

I am using some Adafruit boards which identify themselves as CircuitPython MIDI over USB. If I plug two of them into the same host computer only one appears in this browser application.

For comparison, Ableton Live distinguishes them as CircuitPython MIDI and CircuitPython MIDI #2. I'd imagine Ableton is adding the prefix to allow the user to specify each one.

kevinjwalters avatar Apr 07 '19 15:04 kevinjwalters

Hi Thanks for reporting this issue.

It's interesting since i just use the browser's capabilities to enumerate midi devices and all your devices should have a unique id.

I will certainly look into this for the next release.

tomarus avatar Apr 08 '19 08:04 tomarus

In case it matters this was Chrome 73.0.3683.86 (Official Build) (64-bit) on Windows. It's possible this is a limitation with Web MIDI or the browser, I don't know anything about how this works at lower levels.

Unrelated, how do you handle SysEx? I spent a few hours yesterday trying to get something to work and it turns out Ableton Live doesn't forward them and then I realised I wasn't sure what the Router functionality in your Web MIDI application was doing with them. They don't show up in the Monitor, I think they were popping up as corrupted other events, possibly. The ability to tap in arbitrary SysEx too would be rather nice.

There's a curious note about permissions and requirement for https (TLS) for SysEx on Factotumo: Web MIDI Access, Sysex, and SSL

kevinjwalters avatar Apr 08 '19 08:04 kevinjwalters

FYI, for what it's worth https://factotumo.com/web-midi-console/ also only lists one device, CircuitPython MIDI.

kevinjwalters avatar Apr 08 '19 08:04 kevinjwalters

FYI, for what it's worth https://factotumo.com/web-midi-console/ also only lists one device, CircuitPython MIDI.

That is interesting as well as it would imply browsers are currently not able to distinguish between the same devices.

Regarding sysex handling, i believe i only send start/stop and control speed/bpm to my own hardware. The idea is the router part will be completely handled in hardware in the future. I'm working on a hardware midi router for that (https://github.com/tomarus/midirouter) but it's far from finished ofcourse.

tomarus avatar Apr 10 '19 13:04 tomarus

This is what I have been working on: Adafruit Learn: Circuit Playground Express USB MIDI Controller and Synthesizer

I've also got some ideas about how Ableton differentiates between MIDI devices with the same name: Adafruit Forums: USB midi identification

kevinjwalters avatar May 15 '19 08:05 kevinjwalters

Thank you this is valuable information!

tomarus avatar May 16 '19 20:05 tomarus

I've started a discussion on https://forum.ableton.com/viewtopic.php?f=1&t=234679 but it's such a deeply technical question that it would take a developer to answer it and I doubt they do much noodling around there.

kevinjwalters avatar May 16 '19 21:05 kevinjwalters