What's new

Cubase - Keyswitching between different plug-ins/plug-in instances

musophrenic

Active Member
So question for my fellow Cubasers ... I love what you can do with expression maps in terms of combining articulations, key switching, and having everything in one MIDI lane - sure makes post editing a lot easier than multiple lanes for multiple MIDI channels. This works beautifully when one instance of a plug-in holds all the articulations you want to access.

However, is there a way to switch between different plug-ins or plug-in instances on the same lane, whether by expression maps or otherwise? In the case of something like Hollywood Strings, I've found that spreading articulations over more than one instance to actually work rather well in terms of RAM usage, especially when utilising the Powerful System Legatos. And sometimes you have more than 16 articulations you want to use (I know it might sound excessive, but to each their own I suppose), which inevitably means more than one instance if MIDI channels are how you switch articulations.

It could also be cool to dynamically combine different plugins, for whatever creative reason you may have ... like say a C0 would trigger HW Strings Legato, C#0 would switch to a Trilian Acoustic Bass, a D0 switches to a Tuvan Throat Singer in Omnisphere, and a D#0 would switch to a Drumkit from DAMAGE ...

So, is this in any way possible??
 
I use this, which can achieve exactly what you describe:

https://www.bewaryprods.com/software/pro ... sMIDIfier/

You can selectively target/combine among all the instruments you've got loaded, no matter the sampler. AND you can modify the MIDI data along the way, to get the dynamics to respond the way you like, etc. You need to be able to route MIDI from Cubase to it, though, using something like MIDI Yoke or MIDIoverLAN's local pipes. There's a little setup to do to get it working, but once that's done you're probably going to love it. New release 1.2.0 coming soon, with some really nice new features!

HTH,

Brian
 
I use this, which can achieve exactly what you describe:

https://www.bewaryprods.com/software/pro ... sMIDIfier/

You can selectively target/combine among all the instruments you've got loaded, no matter the sampler. AND you can modify the MIDI data along the way, to get the dynamics to respond the way you like, etc. You need to be able to route MIDI from Cubase to it, though, using something like MIDI Yoke or MIDIoverLAN's local pipes. There's a little setup to do to get it working, but once that's done you're probably going to love it. New release 1.2.0 coming soon, with some really nice new features!

HTH,

Brian

Hey Brian, thanks for that. I did download TransMIDIfier before, as it seemed like the answer ... but I just couldn't figure out for the life of me how to route MIDI from Cubase to it. I gave up quick, Lol - I didn't really understand that it had to be routed via an external solution. However, I will try either of those applications you suggested and see how I go.

Cheers :)
 
Hey Brian, thanks for that. I did download TransMIDIfier before, as it seemed like the answer ... but I just couldn't figure out for the life of me how to route MIDI from Cubase to it. I gave up quick, Lol - I didn't really understand that it had to be routed via an external solution. However, I will try either of those applications you suggested and see how I go.

Cheers :)

Are you on Mac or PC? On the Mac you can create "virtual MIDI cables" that can route MIDI between applications without needing anything else. On Windows you need a virtual MIDI cable solution. MIDIoverLAN works great and has a free trial version.

I only recently started using Cubase, but I've got my template setup to route MIDI to TransMIDIfier, then back into Cubase, where it is then sent to instruments living in Vienna Ensemble Pro on another computer. TransMIDIfier 1.2.0 (coming very soon) has a new feature which makes the setup/routing stuff a little bit simpler.

Report back how you make out!

Brian
 
I'm a PC dude, so I guess I'll be trying MIDIoverLAN. The only other thing I have is MIDI-OX, but I use that to make my keyboards talk to each other and talk to my Slim Phatty. I think MIDI Yoke would do the same thing as MIDIoverLAN - but I don't know if it's ancient technology or anything :P

I still haven't quite gotten to the point of using multiple computers and VE Pro ...

Will report soon as I get back home :)
 
Hey Brian ... so I got the routing happening using LoopMIDI (MIDIoverLAN didn't seem to work so easily - I haven't the faintest idea what I'm doing wrong), and I can do everything you showed in the video - access the different channels with keyswitches in the same standalone instance of the plugin. That all works beautifully.

Come Cubase, I can do the same - so I open up an instance of PLAY, load up a few patches, and make keyswitches to switch betwwen the channels. That's all fantastic :)

However, it gets a little more complicated when I try to switch between two plugin instances - I can't find the way to do it. I suspect I know the reason - here's what my routing setup looks like:

TransMIDIfier- input: MOTIF XF8 1, Channel 1 (so my MIDI controller), and Output: LoopMIDI port, Channels 1, 2 etc

I feel that what I'm doing in Cubase is where the issue lies, since to get TransMIDIfier speaking to the plugin in my VSTi rack, I have to set the input to loopMIDI Port, and the output to PLAY (the first plugin I loaded up). There's no way to get to recognise the second one I load up (Omnisphere) unless I direct the output to that.

Help ...?

P.S. I only just realised that you're the actual guy who made TransMIDIfier - didn't put two and two together when you first chimed in. Thanks - it's a brilliant little (big) tool, especially when it comes to the amount of manipulation possible. You're a genius :)
 
Hey Brian ... so I got the routing happening using LoopMIDI (MIDIoverLAN didn't seem to work so easily - I haven't the faintest idea what I'm doing wrong), and I can do everything you showed in the video - access the different channels with keyswitches in the same standalone instance of the plugin. That all works beautifully.

Nice! To get "virtual MIDI cables" from MIDIoverLAN you need to go into its configuration panel by right-clicking on the icon in the taskbar and select "Open Configuration Panel" (I think). In there you select "Local Pipe Mode" for each of the ports you'd like to function as virtual MIDI cables. Do this while other MIDI apps aren't running, as it effectively mucks with MIDI devices. Next time you open Cubase, TransMIDIfier, etc. you'll have some "MolCp3Pipe <number>" devices available, which are the MIDIoverLAN virtual MIDI cables. But you've got LoopMIDI working, so we can move on...

Come Cubase, I can do the same - so I open up an instance of PLAY, load up a few patches, and make keyswitches to switch betwwen the channels. That's all fantastic :)

However, it gets a little more complicated when I try to switch between two plugin instances - I can't find the way to do it. I suspect I know the reason - here's what my routing setup looks like:

TransMIDIfier- input: MOTIF XF8 1, Channel 1 (so my MIDI controller), and Output: LoopMIDI port, Channels 1, 2 etc

I feel that what I'm doing in Cubase is where the issue lies, since to get TransMIDIfier speaking to the plugin in my VSTi rack, I have to set the input to loopMIDI Port, and the output to PLAY (the first plugin I loaded up). There's no way to get to recognise the second one I load up (Omnisphere) unless I direct the output to that.

Help ...?

Here's what I do in Cubase:

1) In Device Setup, set aside like four virtual MIDI cable output ports to go from Cubase to TransMIDIfier, and call them something like "TransMIDIfier Input 1", "TransMIDIfier Input 2", etc.

2) Also in Device Setup, set aside one virtual MIDI cable input port for each instrument instance (16 channels for each) that you want to be accessible by TransMIDIfier and give them names like "From TransMIDIfier <number>" or named according to the instrument name or type. Make these inputs NOT "In 'All MIDI Inputs'."

3) In your Cubase project, create a MIDI track for each port/instrument instance that you want to be accessible from TransMIDIfier. Set its input to the appropriate "From TransMIDIfier" input and set its output to the instrument instance. Turn on input monitor. These MIDI tracks are basically "routing pass-throughs" that you won't be recording MIDI onto, but just forward the MIDI messages from TransMIDIfier onto the instruments.

4) Also in your Cubase project, create MIDI tracks for your "conceptual instruments" such as "First Violins", "Low Brass", etc. These are the "real" MIDI tracks you'll be recording onto. For each, set its input to "All MIDI Inputs" (or just your keyboard, if you want to be more restrictive) and set its output port/channel to the appropriate "TransMIDIfier Input <number>" port and channel.

5) Now in TransMIDIfier, set the inputs to receive MIDI from the virtual inputs that Cubase is outputting to and set the outputs to send to the virtual outputs that Cubase is receiving from (the pass-throughs that feed the instruments).

So Cubase will be receiving MIDI input from your keyboard/controllers, outputting to TransMIDIfier, which will do its thing, then sending back to Cubase. Make sense? It's a little complicated at first, but once you've done it, you don't need to do it again (if you're using a template, which I highly suggest).

TransMIDIfier 1.2.0 has some features which greatly help with this setup stuff... I'll take some screen shots of that and my Cubase tracks later, which might be more helpful.

P.S. I only just realised that you're the actual guy who made TransMIDIfier - didn't put two and two together when you first chimed in. Thanks - it's a brilliant little (big) tool, especially when it comes to the amount of manipulation possible. You're a genius :)

Hahah, you're too kind. It's actually a super simple concept, but can be extremely powerful. It's been really helpful to me, so I imagine other folks will find it useful as well!

Brian
 
Me again, this time with some hopefully helpful screenshots. The TransMIDIfier ones were taken of version 1.2.0, which is now available! Get some: https://www.bewaryprods.com/software/pro ... sMIDIfier/

Okay, so this is how I use TransMIDIfier w/ Cubase (and MIDIoverLAN for the virtual MIDI cable functionality). I'm currently using eight instances of Vienna Ensemble Pro in Cubase, the first three being for Strings, Brass, and Woodwinds. Those are the ones with which I currently use TransMIDIfier.

1. Run the MIDIoverLan control panel via All Programs -> MusicLab -> MolCp III Driver -> Configuration Panel and setup some ports to "Local pipe mode" like this:
00_MoL_ControlPanel.png

As you'll see in the proceeding images, I set aside a handful to be used as connections from Cubase to TransMIDIfier, and the rest to be used from TransMIDIfier back to Cubase. Make these changes when no other MIDI apps are running, as the changes you make muck with the available MIDI devices. Other virtual MIDI cable programs like MIDI Yoke, Maple MIDI, etc. probably don't require this step, as they're not capable of doing the MIDI-over-network thing that MIDIoverLAN does. Anywho, ...

2. In Cubase, open Devices -> Device Setup... and choose what MIDI pipes you'd like to use, and optionally give them names. As you can see in the following image, I use the first 24 pipes for input into Cubase (from TransMIDIfier), and I've named them according to what VEPro instances/ports they'll be targeting. These inputs are NOT "In 'All MIDI'" since I don't want to have wacky feedback loops w/ the MIDI tracks I record onto (whose inputs I usually leave as "All MIDI Inputs").
01_DeviceSetup_MIDIInputs.png

(I leave the pipes after "VEPro Woodwinds 8" enabled, though I'm not currently using them)

The following image shows the four pipes that I use for sending MIDI data from Cubase to TransMIDIfier, named appropriately:
02_DeviceSetup_MIDIOutputs.png


3. In TransMIDIfier, go to Edit -> Preferences and in the MIDI Inputs and MIDI Outputs sections, specify what inputs and outputs you'd like to use and what you'd like them to be called. Mine are setup like this:

03_TransMIDIfier_MIDIInputs.png


04_TransMIDIfier_MIDIOutputs.png


4. Now in your Cubase project, for a MIDI track that you'd like to use w/ TransMIDIfier, set its output port/channel to an available TransMIDIfier input port/channel, like this:
05_Cubase_RecordMIDITrack.png

This image shows that Violins1 is outputting to TransMIDIfier Input 1, port 1.

5. Over in TransMIDIfier, here's what the Violins1 input looks like:
06_TransMIDIfier_Setup.png

The active output, "Legato", is outputting to VEP Strings Port 1, channel 2.

6. Back in Cubase, we've got a collection of 24 MIDI "passthrough" ports, a set of 8 for each of the VEPro instances to be targeted (Strings, Brass, and Woodwinds). All of them have input monitor turned on, so they don't need to be record enabled to pass the input through to the output. The image below those these passthrough tracks, with the "To VEP Strings 1" track selected. As you can see, it receives its input from TransMIDIfier's first VEPro Strings port, "Any" channel (meaning "all channels"), and outputs to the actual VEPro instance, port 1.
07_Cubase_PassThroughMIDITrack.png


That's it! Piece of cake, right? ;) It is a little bit complicated the first time you set it up, but you shouldn't have to do it again...

Hope this helps!

Brian
 
Hey Brian - thank you for all the trouble you've gone through! I really appreciate it.

I haven't had a chance to sit down and try this yet, but I will as soon as I can and report back to you and the rest of the VI Control community.

Cheers!
 
This is a great tool. I've been trying to configure it so that keyswitches are done with the ipad using touchosc, instead of my keystation 88

The problem I have is that I cannot seem to have it so that TransMIDIfier responds to 2 inputs, the ipad for keyswitches & the keystation 88 for playing stuff.

Is there a way to do that? Or some kind of way to route it that way?

Thanks
 
This is a great tool. I've been trying to configure it so that keyswitches are done with the ipad using touchosc, instead of my keystation 88

The problem I have is that I cannot seem to have it so that TransMIDIfier responds to 2 inputs, the ipad for keyswitches & the keystation 88 for playing stuff.

Is there a way to do that? Or some kind of way to route it that way?

Currently each input in TransMIDIfier receives MIDI messages from one specific MIDI input port and channel. I have it in the backlog for an input to support something like "All MIDI Inputs" with the inputs you'd like to be included in "All MIDI Inputs" being specified in the preferences, but I haven't gotten to it yet. However, as you'll likely want TransMIDIfier to act upon recorded MIDI data (as opposed to just what you play in from your keyboard/controllers) you'll probably want to situate TransMIDIfier between your sequencer and your instruments (like I've outlined w/ Cubase above, for instance). In your sequencer MIDI tracks, you can set them to receive input from all MIDI inputs, and make sure both your Keystation 88 and iPad touchosc MIDI output are included. Does this make sense?

Hope this helps,

Brian
 
Yes yes it does as it's how I usually have it set up but which unfortunately couldn't get TransMIDIfier to work with any configuration involving both the ipad, keyboard and Cubase. Cheers anyways
 
I've looked into this further and got it to work nicely. I am extremely impressed by this piece of software.

I spent time setting up a template that uses keyswitches on the ipad.

I think the biggest problem I have with this setup so far however - and I wonder what your strategy is here - is when you want to duplicate a track. So if you have all your violin 1 articulations in one keyswitch setup and you want to use 3 violin 1 legatos, or a legato and spiccato, where does that leave the connections. When you want 2 tracks with different articulations that stem from the same keyswitch setup how do you do it? Is there a workaround?

Cheers.
 
I've looked into this further and got it to work nicely. I am extremely impressed by this piece of software.

Great! Glad to hear it. Several nice things coming in the next version. :)

I spent time setting up a template that uses keyswitches on the ipad.

I think the biggest problem I have with this setup so far however - and I wonder what your strategy is here - is when you want to duplicate a track. So if you have all your violin 1 articulations in one keyswitch setup and you want to use 3 violin 1 legatos, or a legato and spiccato, where does that leave the connections. When you want 2 tracks with different articulations that stem from the same keyswitch setup how do you do it? Is there a workaround?

Cheers.

I'm not sure I understand exactly what you mean, but I think the issues you would have in duplicating a track (and making further changes) would be no different than what you would experience if you were to duplicate a track that uses keyswitched instruments directly - or one that uses Kontakt instrument banks or Cubase expression maps. One track's articulation changes and controllers would be stomping on things done by the other. One workaround is to load multiple copies of the instruments/articulations you're using, with one TransMIDIfier input using one set and another using the other set, etc. This way you won't have to worry about one track interfering with another. It'll take more ports and channels, though...

HTH,

Brian
 
Hello Brian,
I use Logic 9 . I must be doing something wrong becasue when use the keyswitch to access different articulations on a different channel, all channels/patches play.
I'm am using the internal midi IAC midi driver.

Help
 
Hi dadmac,

Can you post a screen shot of the setup (with everything expanded)? Also, can you send me the .ms file? That will help me see what you're doing better... [email protected]

Thanks,

Brian
 
Brian,
Thanks for the quick response.
Attach is screen shot of my setup however, i do not know what ms file is.
 

Attachments

  • Screen shot 2012-11-26 at 1.45.12 PM.gif
    Screen shot 2012-11-26 at 1.45.12 PM.gif
    72.4 KB · Views: 4,966
Thanks for the image, dadmac. It looks like you're using "IAC Driver Bus 1" for both input and output - which probably isn't what you want. Close Logic and TransMIDIfier and create another virtual MIDI cable for output, so you'll have one port for sending MIDI from Logic to TransMIDIfier, and another for sending MIDI from TransMIDIfier to Kontakt (or back to Logic, etc.). You can go into TransMIDIfier's preferences and change the display names for each input/output and have the ones that are to be input-only not show up in the outputs and vice-versa. Hope this makes sense. Let me know how you make out.

.ms files are TransMIDIfier setup files. In TransMIDIfier if you go File -> Save As... it will save a <name>.ms file.

Version 1.5.6 is available now, just FYI. https://www.bewaryprods.com/software/pro ... sMIDIfier/

Brian
 
Top Bottom