Virtual MIDI Router for Windows 10 x64

Post general topics related to Cubase Pro 10, Cubase Artist 10 and Cubase Elements 10 here.
Post Reply
doricardo
New Member
Posts: 41
Joined: Sun Jan 20, 2019 6:47 pm
Contact:

Virtual MIDI Router for Windows 10 x64

Post by doricardo » Thu Nov 07, 2019 8:01 pm

As many of you know Windows can only assign one MIDI device to one specific program at any given time.

With this behavior annoying things happen like:
Having to close & reopen Cubase when my MIDI keyboard was not already attached, even if no other program had been using the MIDI device before.
Not possible inputting notes in Dorico, minimizing it and then use the MIDI keyboard in Cubase without having to close Dorico.
Currently, I am setting up my nanoKontrol Studio, which takes some trial & error - trying things out in Cubase/Dorico then making some adjustments in the Korg Kontrol Editor. Until now, I always had to close one then open the other (&repeat), so I did some research.



A MIDI Thru connection resolves this issue, and it is questionable why Windows 10 has not implemented this feature by now.
For this I need a Virtual MIDI Cable and a Virtual MIDI Router. I think I have found a good cable called loopMIDI.
As a router I have experimented with Bome Midi Translator Classic, which works, but only allows one MIDI In & Out as far as I know.

Could anybody point me to other possible programs? I am looking for a program which I once set up with all my routings and then always auto-starts at startup, so I don't have to worry pluging in my MIDI devices before I open Cubase/Dorico plus I can use my MIDI device with all the programs at the same time.


Any suggestions pointing in the right direction are appreciated!

valsolim
Member
Posts: 242
Joined: Wed Dec 15, 2010 7:54 pm
Location: Brno, Czechia
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by valsolim » Thu Nov 07, 2019 9:14 pm

I use LoopBe30. It functions as 30 virtual MIDI cables and there is also a freeware version called LoopBe1.
--
Miloslav
Cubase Pro 9.5, Dorico Pro 2, HALion 6, WaveLab Pro 9.5, Windows 10, Plogue Bidule, Cognitone Synfire, Celemony Melodyne, MeldaProduction, ToneBoosters, Voxengo, Steinberg MR816csx, Presonus DigiMax FS, ART HeadAmp 6 Pro, IK Multimedia ARC 2, Adam Audio A7X + Sub10, AKG K271 mkII, TC Electronic Konnekt 24D, Steinberg UR22, Audix D2, D4, D6, i5, ADX-51, Sennheiser e614, 2x Shure SM137, Røde NT1-A, DPA 4099 S/U, Roland FC-300, Steinberg CC121, Yamaha KX49

TabSel
Member
Posts: 809
Joined: Wed Dec 15, 2010 9:56 pm
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by TabSel » Fri Nov 08, 2019 10:47 am

People still complain in year 2019?

There's Tobias Erichsen and his brillant MIDI Software around since years... Google LoopMIDI for example...

User avatar
raino
Grand Senior Member
Posts: 4138
Joined: Tue Dec 21, 2010 2:41 am
Location: San Francisco
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by raino » Fri Nov 08, 2019 11:05 pm

doricardo wrote:
Thu Nov 07, 2019 8:01 pm
As many of you know Windows can only assign one MIDI device to one specific program at any given time.

With this behavior annoying things happen like:
Having to close & reopen Cubase when my MIDI keyboard was not already attached, even if no other program had been using the MIDI device before.
I don't think your initial assumption is correct. First I'm not sure what you mean by "Windows... assign"? To the best of my knowledge (and I've been using MIDI it's entire existence) WIndows doesn't assign anything. Windows is used to create the various MIDI Ports in the first place (e.g. when you install the drivers). But after that those MIDI Ports are available for use by any program that wants to use them and nothing restricts multiple programs accessing them. I just did a test and had 3 different programs (Cubase, and standalone versions of NI Kontakt & E/W Play) running at the same time while I played all three from my keyboard just fine (if you ignore the ugly racket this produced).

Also you should not need to restart Cubase if your keyboard is off when you launch Cubase. It used to be that you had too do this, but that got changed awhile back (C9.5 maybe?). Currently an already running Cubase should detect the new MIDI devices when they become available.
rodger

Cubase Pro 10.5, Win10 Home, Halion6, BFD3, GPO, Komplete Ultimate 9, Waves Gold, Misc. other

i7 4771 Haswell Processor 3.5GHz, ADK LGA1150, 16GB RAM, GeForce GTX970, RME Fireface 400, 2x UAD-2

lovegames
Member
Posts: 912
Joined: Fri Sep 27, 2019 9:38 pm
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by lovegames » Fri Nov 08, 2019 11:08 pm

check out CopperLan. I use this and LoopBE

User avatar
raino
Grand Senior Member
Posts: 4138
Joined: Tue Dec 21, 2010 2:41 am
Location: San Francisco
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by raino » Fri Nov 08, 2019 11:21 pm

doricardo wrote:
Thu Nov 07, 2019 8:01 pm
Currently, I am setting up my nanoKontrol Studio, which takes some trial & error - trying things out in Cubase/Dorico then making some adjustments in the Korg Kontrol Editor. Until now, I always had to close one then open the other (&repeat), so I did some research. [/i]
The Korg driver for their nano products is a bit of a mess. In order for this driver to work your Korg Devices need to be assigned to MIDI Ports 0 thru 10 when initially created. If they are on Ports > 10 lots of programs will not be able to access or even see those devices. The numbers get assigned at installation so if you already have devices on Ports 0-10 before installing the Korg it can be a problem. I had to uninstall most of my MIDI devices, then install the Korg nano driver before reinstalling the other devices in order for my nanoKontrol to become available.
rodger

Cubase Pro 10.5, Win10 Home, Halion6, BFD3, GPO, Komplete Ultimate 9, Waves Gold, Misc. other

i7 4771 Haswell Processor 3.5GHz, ADK LGA1150, 16GB RAM, GeForce GTX970, RME Fireface 400, 2x UAD-2

doricardo
New Member
Posts: 41
Joined: Sun Jan 20, 2019 6:47 pm
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by doricardo » Sat Nov 09, 2019 1:15 am

TabSel wrote:
Fri Nov 08, 2019 10:47 am
People still complain in year 2019?

There's Tobias Erichsen and his brillant MIDI Software around since years... Google LoopMIDI for example...
Have you even read my entire post at all? I wrote that I already use loopMIDI ("For this I need a Virtual MIDI Cable and a Virtual MIDI Router. I think I have found a good cable called loopMIDI.")
loopMIDI alone is not enough as it only provides the virtual cables. I also need a Virtual MIDI Router...
Please read next time before you post

doricardo
New Member
Posts: 41
Joined: Sun Jan 20, 2019 6:47 pm
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by doricardo » Sat Nov 09, 2019 3:03 am

raino wrote:
Fri Nov 08, 2019 11:05 pm
doricardo wrote:
Thu Nov 07, 2019 8:01 pm
As many of you know Windows can only assign one MIDI device to one specific program at any given time.

With this behavior annoying things happen like:
Having to close & reopen Cubase when my MIDI keyboard was not already attached, even if no other program had been using the MIDI device before.
I don't think your initial assumption is correct. First I'm not sure what you mean by "Windows... assign"? To the best of my knowledge (and I've been using MIDI it's entire existence) WIndows doesn't assign anything. Windows is used to create the various MIDI Ports in the first place (e.g. when you install the drivers). But after that those MIDI Ports are available for use by any program that wants to use them and nothing restricts multiple programs accessing them. I just did a test and had 3 different programs (Cubase, and standalone versions of NI Kontakt & E/W Play) running at the same time while I played all three from my keyboard just fine (if you ignore the ugly racket this produced).

Also you should not need to restart Cubase if your keyboard is off when you launch Cubase. It used to be that you had too do this, but that got changed awhile back (C9.5 maybe?). Currently an already running Cubase should detect the new MIDI devices when they become available.
By "Windows... assign" I mean that once the MIDI device is used in one program, then within the Windows platform generally this same MIDI device cannot be assigned to any other program at the same time. You are right, that Windows itself does not assign anything. Sorry if I was a bit unclear about that.
So after reading your post I did some more extensive testing and can give you the following analysis:
When I start Cubase with nothing attached and thereafter plug in my Roland F-20, it actually does show up and works correctly, so you were right about that, however, when I open Dorico or another DAW while Cubase is already opened it does not deliver any signals to the other programs even though it shows up (and is activated). After closing Cubase I can in fact use my Roland F-20 in the other program, but only after having to deactivate and then reactivate it in the respective program's preferences. I want to add that I am forced to use the generic driver since there is no dedicated one for this particular MIDI keyboard.
Now with my nanoKontrol it is somehow the other way around. It does not get recognized if it was not plugged in before the DAW starts [thus my initial post], but when it had been plugged in before I can use it in as many programs as I want at the same time. This does not work cross platform (32 bit / 64 bit) though, so when I want to edit something in the Korg Kontrol Editor, there is no way other than the way described above. So clearly this means that on Windows it totally depends on the driver which is used and apparently it does not work with generic MIDI drivers. On macOS this problem does not exist whatsoever no matter what kind of driver is being used, because macOS handles MIDI routing differently in the first place. It seems that you are lucky with all of your devices/drivers, so I think unfortunately my initial assumption generally speaking remains correct. This also explains why a virtual MIDI port created with loopMIDI solves all of the described problems altogether, as it was well programmed with a good driver which can handle multiple programs. In addition I still need a program to route from Roland F-20 to loopMIDI port, of which I have meanwhile found a few.

The exact same problem applys to Windows ASIO drivers which also can only be used for one program at a time. Actually maybe this also depends on the specific driver. I tested my UR22 with the Yamaha Steinberg USB Driver and apparently the ASIO driver can only be used by one DAW at a time. But there is workarounds for this problem as well.

doricardo
New Member
Posts: 41
Joined: Sun Jan 20, 2019 6:47 pm
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by doricardo » Sat Nov 09, 2019 3:16 am

raino wrote:
Fri Nov 08, 2019 11:21 pm
doricardo wrote:
Thu Nov 07, 2019 8:01 pm
Currently, I am setting up my nanoKontrol Studio, which takes some trial & error - trying things out in Cubase/Dorico then making some adjustments in the Korg Kontrol Editor. Until now, I always had to close one then open the other (&repeat), so I did some research. [/i]
The Korg driver for their nano products is a bit of a mess. In order for this driver to work your Korg Devices need to be assigned to MIDI Ports 0 thru 10 when initially created. If they are on Ports > 10 lots of programs will not be able to access or even see those devices. The numbers get assigned at installation so if you already have devices on Ports 0-10 before installing the Korg it can be a problem. I had to uninstall most of my MIDI devices, then install the Korg nano driver before reinstalling the other devices in order for my nanoKontrol to become available.
My Korg nanoKontorl2 is assigned to "midi1", my nanoPad2 to "midi6". Both work correctly in any number of programs on the same platform (64 bit OR 32 bit), but only when they were plugged in before any of the programs was started. My Roland F-20 is assigned to "midi17: Standard Driver [Roland Digital Piano].

User avatar
raino
Grand Senior Member
Posts: 4138
Joined: Tue Dec 21, 2010 2:41 am
Location: San Francisco
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by raino » Sat Nov 09, 2019 4:35 am

doricardo wrote:
Sat Nov 09, 2019 3:03 am

The exact same problem applys to Windows ASIO drivers which also can only be used for one program at a time. Actually maybe this also depends on the specific driver. I tested my UR22 with the Yamaha Steinberg USB Driver and apparently the ASIO driver can only be used by one DAW at a time. But there is workarounds for this problem as well.
Yes for the most part this is how ASIO drivers behave, and it is indeed driver dependent. One reason I use an RME interface is it does allow multiple simultaneous access. But MIDI isn't supposed to behave that way.

For example my nanoKontrol has knobs assigned to controls in Cubase, controls in RME Totalmix interface and also my Helix hardware amp emulator - these all work fine together with all of them able to access the nanoKontrol simultaneously - nothing special needed.

I think you must have some other configuration issue because you should be able to have your MIDI controllers available system wide without resorting to virtual cables. The limitations you are encountering are not normal or typical. Right now I can't think of any possible causes though.

Can you post a screen grab of Studio Setup/MIDI Port Setup and also the "sound video & game controllers" section of Device Manager.
rodger

Cubase Pro 10.5, Win10 Home, Halion6, BFD3, GPO, Komplete Ultimate 9, Waves Gold, Misc. other

i7 4771 Haswell Processor 3.5GHz, ADK LGA1150, 16GB RAM, GeForce GTX970, RME Fireface 400, 2x UAD-2

TSJuS
Junior Member
Posts: 75
Joined: Mon May 13, 2019 1:44 pm
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by TSJuS » Sat Nov 09, 2019 10:22 am

@doricardo,

since you are already using LoopMidi, perhaps MidiOX is a solution for you. (It is quite old software, but works without issues.)

In short:
- In MidiOx, select the input from your midi controller as Midi Input Device (Menue item Midi Devices)

- Select two virtual midi outputs (like LoopMidi) as Midi Output Device.

- Within the "Router Window" of MidiOx, just place (draw) two connections. One each from the Input to the two Outputs.

Just one hint to this: It is recommended to start MidiOX before any DAW (... and iconify it). Otherwise, the DAW might block further use of the midi input device (like in your case). In that case, MidiOx my start with a strange error message (... not enough memory ... ). To avoid this potential problem, I have set MidiOx to Autostart with Windows.

In general, MidiOX is much more powerful. E.g. you can modify (filter, transpose, block) midi notes, channels or CCs for each connection.

For Virtual Midi Cables, I am using Springbeats. It provides 8x virtual midi cables and is free.

LG, Juergi
LG, Juergi
________________________________________________________________________________________
Cubase 10 Pro - Win10 x64 - Yamaha 01x (mod) - Korg SP-250 - M-Audio Axiom Pro - Studiologic MP117

doricardo
New Member
Posts: 41
Joined: Sun Jan 20, 2019 6:47 pm
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by doricardo » Sun Nov 10, 2019 3:15 am

raino wrote:
Sat Nov 09, 2019 4:35 am
doricardo wrote:
Sat Nov 09, 2019 3:03 am

The exact same problem applys to Windows ASIO drivers which also can only be used for one program at a time. Actually maybe this also depends on the specific driver. I tested my UR22 with the Yamaha Steinberg USB Driver and apparently the ASIO driver can only be used by one DAW at a time. But there is workarounds for this problem as well.
Yes for the most part this is how ASIO drivers behave, and it is indeed driver dependent. One reason I use an RME interface is it does allow multiple simultaneous access. But MIDI isn't supposed to behave that way.

For example my nanoKontrol has knobs assigned to controls in Cubase, controls in RME Totalmix interface and also my Helix hardware amp emulator - these all work fine together with all of them able to access the nanoKontrol simultaneously - nothing special needed.

I think you must have some other configuration issue because you should be able to have your MIDI controllers available system wide without resorting to virtual cables. The limitations you are encountering are not normal or typical. Right now I can't think of any possible causes though.

Can you post a screen grab of Studio Setup/MIDI Port Setup and also the "sound video & game controllers" section of Device Manager.
Thanks for trying to help me. I believe you that your setup does work in your specific case, though I would be surprised if you were able to access your nanoKontrol via the Korg Kontrol Editor (which is 32-bit) making changes which actually get written to the nanoKontrol, while all of your 64-bit programs are having access to it at the same time, using the dedicated driver from the Korg website.
I found this additional information: http://www.tobias-erichsen.de/software/ ... river.html

Anyways eventually I got everything working perfectly using MidiOX - a great tool indeed.

doricardo
New Member
Posts: 41
Joined: Sun Jan 20, 2019 6:47 pm
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by doricardo » Sun Nov 10, 2019 3:47 am

TSJuS wrote:
Sat Nov 09, 2019 10:22 am
@doricardo,

since you are already using LoopMidi, perhaps MidiOX is a solution for you. (It is quite old software, but works without issues.)

In short:
- In MidiOx, select the input from your midi controller as Midi Input Device (Menue item Midi Devices)

- Select two virtual midi outputs (like LoopMidi) as Midi Output Device.

- Within the "Router Window" of MidiOx, just place (draw) two connections. One each from the Input to the two Outputs.

Just one hint to this: It is recommended to start MidiOX before any DAW (... and iconify it). Otherwise, the DAW might block further use of the midi input device (like in your case). In that case, MidiOx my start with a strange error message (... not enough memory ... ). To avoid this potential problem, I have set MidiOx to Autostart with Windows.

In general, MidiOX is much more powerful. E.g. you can modify (filter, transpose, block) midi notes, channels or CCs for each connection.

For Virtual Midi Cables, I am using Springbeats. It provides 8x virtual midi cables and is free.

LG, Juergi
Hello Juergi, I did some additional research and have come to the conclusion that MidiOX is in fact the only free program which can do this. Thanks for pointing me in the right direction! I also found "MIDI Tools" by Mountain Utilities, but could not get it to run properly. Meanwhile, I have got everything working with MidiOX. I set everything up and noticed that there is actually no need to select two virtual MIDI outputs, as the virtual cables from loopMIDI are multi-client capable, so routing one device through two separate virtual outputs would only make sense, if I wanted to translate/alter the two signals differently. By the way, what do you mean by "iconify"? (just out of curiosity)

Where did you set MidiOX to Autostart? I managed to make it always minimize into the tray which is one step in the right direction, but could not find the Autostart option in the various menus. That's the only thing to make my MIDI setup complete once and for all. :D

TSJuS
Junior Member
Posts: 75
Joined: Mon May 13, 2019 1:44 pm
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by TSJuS » Sun Nov 10, 2019 10:25 am

Hi Doricardo,
doricardo wrote:
Sun Nov 10, 2019 3:47 am
By the way, what do you mean by "iconify"? (just out of curiosity)
...
I managed to make it always minimize into the tray
This is, what I meant. :-)
Then, the tray shows this kind of traffic light with three green dots.

doricardo wrote:
Sun Nov 10, 2019 3:47 am
but could not find the Autostart option in the various menus. That's the only thing to make my MIDI setup complete once and for all. :D
Place a shortcut to the MidiOx executable into the following folder: %AppData%\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

No special command line options needed.

Another thing to keep in mind is the following: Midi-Ox saves its settings when "cleanly" exiting it. In other words, if you have added/midified/deleted certain things and your system crashes for what ever reason, all the changes are lost. So once you have changed things, exit MidiOX and restart it right afterwards. On the next system boot, also the changes will be there. Shutdown of a system without exiting Midi-Ox before works fine for me.

It is also a good idea, to here and then save settings as a Profile in Midi-Ox, especially if you are using or even experimenting with different setups. One thing I was not able to find so far (to work reliably) is to start Midi-Ox with a special profile-file.

LG, Juergi
LG, Juergi
________________________________________________________________________________________
Cubase 10 Pro - Win10 x64 - Yamaha 01x (mod) - Korg SP-250 - M-Audio Axiom Pro - Studiologic MP117

User avatar
peakae
Grand Senior Member
Posts: 3172
Joined: Sat Jan 05, 2013 8:15 pm
Location: Bedroom
Contact:

Re: Virtual MIDI Router for Windows 10 x64

Post by peakae » Sun Nov 10, 2019 10:22 pm

"As many of you know Windows can only assign one MIDI device to one specific program at any given time."

That is not true anymore, windows 10 has a new midi API that is multiclient. But it requires the software to be changed to take advantage of this new API.
Now that win7 finally is on it's last leg, I hope to see something happening on that front.
Cubase Pro 10, Wavelab Elements 9, I7 3770K , win10x64, 16Gb Ram, RME Raydat, Steinberg MR816x, Motu 828mkII, Behringer ADA8200, Yamaha moXF6, Steinberg UR242, Yamaha THR 10, Grace Design m900, CMC TP, CMC CH.

Post Reply

Return to “General”

Who is online

Users browsing this forum: ggmanestraki, hjwinge and 2 guests