usb midi device names - very frustrating
-
- KVRist
- 32 posts since 15 Nov, 2009
not sure if there is a solution to this, but i cant seem to find it. basically, if you have a controller connected via usb (like my Keystation Pro 88), Cantabile will give it a unique name in the Midi Devices section. if by chance you plug that same usb controller into a different usb port on the computer, Cantabile gives that controller a new name. any controller assignments you have will then need to be re-assigned to that new controller name. what a PAIN this is!
in my situation, my usb devices plug into a powered usb hub (which i've also found eliminates the arbitrary "disconnect" i've been experiencing with my keystation pro 88), and last night my hub failed right before a gig. so i replaced the hub, but that caused my usb controllers to get assigned new names in Cantabile - and forced me to go through every session and re-assign them 1 hour before we played.
gosh, it sure would be nice if there was a way to retain a midi device name so it didn't matter what port i plugged my usb device into. or better yet, define my own device names no matter what is plugged in.
any ideas? is there a way to do this? thanks!
in my situation, my usb devices plug into a powered usb hub (which i've also found eliminates the arbitrary "disconnect" i've been experiencing with my keystation pro 88), and last night my hub failed right before a gig. so i replaced the hub, but that caused my usb controllers to get assigned new names in Cantabile - and forced me to go through every session and re-assign them 1 hour before we played.
gosh, it sure would be nice if there was a way to retain a midi device name so it didn't matter what port i plugged my usb device into. or better yet, define my own device names no matter what is plugged in.
any ideas? is there a way to do this? thanks!
-
- KVRer
- 7 posts since 21 Jun, 2010 from Estonia
In my case (windows - XP at "studio" and W7 onstage laptop) it seems to be rather windows system issue than Cantabiles one. Cantabile lists just system AUDIO/MIDI devices it founds and display them.
Some DAW software gives a way to translate those "windows names" into more friendly and meaningful names but only inside application. You can edit USB devices names with windows registri hack, but it probably does not help you with main problem - windows tends to treat the same device as a separate instance if you plug it into different USB port.
Only "workaround" reliable for me is to maintain USB ports same - I have marked them on my laptop I use on stage and also at home studio computer (I use marked USB extension cords to not crawl under my desk where PC stands).
And if change of USB ports happens (even accidentally plugging device into wrong port) for any reason I take it with special caution.
I do not know is it easier on Mac however...
Some DAW software gives a way to translate those "windows names" into more friendly and meaningful names but only inside application. You can edit USB devices names with windows registri hack, but it probably does not help you with main problem - windows tends to treat the same device as a separate instance if you plug it into different USB port.
Only "workaround" reliable for me is to maintain USB ports same - I have marked them on my laptop I use on stage and also at home studio computer (I use marked USB extension cords to not crawl under my desk where PC stands).
And if change of USB ports happens (even accidentally plugging device into wrong port) for any reason I take it with special caution.
I do not know is it easier on Mac however...
-
- KVRAF
- 2310 posts since 13 Apr, 2008 from Germany
There are indeed two points imho.
One is that Windows plug&play drivers usually don't assign useful names at all. Timing and stability is another story too.
Another is the static assignment to midi ports.
I've already suggested a feature called "controller virtualization".
The idea behind here is that we should have a global assignment from midi ports/devices/controllers into Cantabile. It may sound complicated but imagine if your keyboard breaks before a gig and you want to use another one - Cantabile can't help because for sure Windows or the dedicated driver will present a different name / midi port. Now you'll face the same issue as described... except we had such a feature to map devices globally in one place to "virtual" ones we can use in our sessions.
At the moment only workaround I see is using a midi routing. But this helps just when you work with few sessions and many subsessions as this has to be reassigned in case of trouble in each session too.
One is that Windows plug&play drivers usually don't assign useful names at all. Timing and stability is another story too.
Another is the static assignment to midi ports.
I've already suggested a feature called "controller virtualization".
The idea behind here is that we should have a global assignment from midi ports/devices/controllers into Cantabile. It may sound complicated but imagine if your keyboard breaks before a gig and you want to use another one - Cantabile can't help because for sure Windows or the dedicated driver will present a different name / midi port. Now you'll face the same issue as described... except we had such a feature to map devices globally in one place to "virtual" ones we can use in our sessions.
At the moment only workaround I see is using a midi routing. But this helps just when you work with few sessions and many subsessions as this has to be reassigned in case of trouble in each session too.
Best regards, TiUser
...and keep on jamming...
...and keep on jamming...
-
- KVRist
- Topic Starter
- 32 posts since 15 Nov, 2009
great suggestion of "controller virtualization". i think the solution would be simple - offer a way to map the incoming windows usb name to a user defined name in Cantabile, then have all of the midi controller assignments based on the user defined name. if the windows usb device name ever changes, just change it once in a configuration setting in Cantabile and all the controller assignments would work without any changes.
i'd love it if i could define my incoming controller names something simple like "lower keyboard", "upper keyboard" in Cantabile and use those names as the name for all midi controller assignments.
i tried keeping my usb port connections the same but found that in a dark club, not always easy to guarantee i get the right port with my cable.
anyway, it appears we're kind of on hold for any new features...
i'd love it if i could define my incoming controller names something simple like "lower keyboard", "upper keyboard" in Cantabile and use those names as the name for all midi controller assignments.
i tried keeping my usb port connections the same but found that in a dark club, not always easy to guarantee i get the right port with my cable.
anyway, it appears we're kind of on hold for any new features...
-
- KVRAF
- 2310 posts since 13 Apr, 2008 from Germany
Thanks for appreciating my suggestion.
What it needs foremost is having Brad back in the boat. I think the basic virtual midi port feature will not be really difficult or making a huge effort to implement.
But well, there is some dynamite in this idea as well... as I am envisioning all a bit further...
Imagine virtual knob definitions too... and go back to the scenario where you have that accident and need to swap a keyboard to another one with probably different knobs... same story, same solution suggestion - just not on midi port level but on midi controller level... things can easily get more difficult if you have to probably split devices to come from a keyboard with controller knobs to a keyboard without and a controller without keys...
So all needs to be well sorted and thought out.
Oh and BTW, there is something pending with the master bus assignments and the asio driver setup as well if I remember right...
What it needs foremost is having Brad back in the boat. I think the basic virtual midi port feature will not be really difficult or making a huge effort to implement.
But well, there is some dynamite in this idea as well... as I am envisioning all a bit further...
Imagine virtual knob definitions too... and go back to the scenario where you have that accident and need to swap a keyboard to another one with probably different knobs... same story, same solution suggestion - just not on midi port level but on midi controller level... things can easily get more difficult if you have to probably split devices to come from a keyboard with controller knobs to a keyboard without and a controller without keys...
So all needs to be well sorted and thought out.
Oh and BTW, there is something pending with the master bus assignments and the asio driver setup as well if I remember right...
Best regards, TiUser
...and keep on jamming...
...and keep on jamming...
-
- KVRist
- 196 posts since 12 Mar, 2002 from Mountain View, CA
Another workaround is to use outboard virtual MIDI ports. I use Maple Virtual Midi Cable:
http://www.maplemidi.com/Maple_driver.html
I have Cantabile set up to only listen to one of Maple's virtual ports. I then route my various MIDI devices through Maple using MIDI-OX. It requires a little more work and adds a MIDI-OX dependency, but it's better than having to reconfigure the app when you switch MIDI controllers.
http://www.maplemidi.com/Maple_driver.html
I have Cantabile set up to only listen to one of Maple's virtual ports. I then route my various MIDI devices through Maple using MIDI-OX. It requires a little more work and adds a MIDI-OX dependency, but it's better than having to reconfigure the app when you switch MIDI controllers.
-
- KVRAF
- 2310 posts since 13 Apr, 2008 from Germany
A bit cumbersome but a good idea.
However my last info is that Maple is not 64bit OS compatible.
Alternative in this case is using LoopBe from nerds.
See: http://nerds.de/index.html
Unfortunately the free LoopBe1 version has some unpleasing restrictions so that you need to purchase a license of the full LoopBe30 version - 20 bucks at the time I'm writing this here - to have access to all features. Especially switching off "feedback detection" is a must - otherwise this drives you mad when you don't connect to external midi gear at classical speed... which is nearly anything you will deal with today...
Nerds also provides "midi over network" to connect multiple computers via ethernet without special additional gear needed - a simple x-over cable for two machines or some standard cables and a hub or switch is enough and probably you have that already. If it's worth spending 80 bucks on this for 3 computers? Not sure... but probably too much just for a workaround.
However my last info is that Maple is not 64bit OS compatible.
Alternative in this case is using LoopBe from nerds.
See: http://nerds.de/index.html
Unfortunately the free LoopBe1 version has some unpleasing restrictions so that you need to purchase a license of the full LoopBe30 version - 20 bucks at the time I'm writing this here - to have access to all features. Especially switching off "feedback detection" is a must - otherwise this drives you mad when you don't connect to external midi gear at classical speed... which is nearly anything you will deal with today...
Nerds also provides "midi over network" to connect multiple computers via ethernet without special additional gear needed - a simple x-over cable for two machines or some standard cables and a hub or switch is enough and probably you have that already. If it's worth spending 80 bucks on this for 3 computers? Not sure... but probably too much just for a workaround.
Best regards, TiUser
...and keep on jamming...
...and keep on jamming...
-
- KVRer
- 9 posts since 4 Jul, 2008 from North Hollywood, CA
On my XP setup, I even get the usb device numbers changing without moving the ports. Windows sees the devices in the order they become active and just calls them usbaudio, usbaudio1, usbaudio2, etc. Doesn't matter to Windows about continuity or whatever. I have five usb devices. Sometimes I have to open Midi Ox just to figure out what the ports have changed to. It is TOO bad that Windows can't identify devices like Linux does. They get an assigned label which is partially a manufactures ID name and number, like a disk drive would, and you can always map to that label.
-
- KVRAF
- 2310 posts since 13 Apr, 2008 from Germany
That sounds like "plug&play" midi.
If you have dedicated drivers for your midi devices you will usually get dedicated names that apps can identify.
Cantabile uses names (even those lastly used but probably currently not present) but some apps really do just refer to the numbers in Win device list... which is indeed a double nightmare then because there is no rule about the order of detected devices.
If you have dedicated drivers for your midi devices you will usually get dedicated names that apps can identify.
Cantabile uses names (even those lastly used but probably currently not present) but some apps really do just refer to the numbers in Win device list... which is indeed a double nightmare then because there is no rule about the order of detected devices.
Best regards, TiUser
...and keep on jamming...
...and keep on jamming...
