Automate a MIDI Port Change?

Forgive me if I’m not understanding something about the limitations of some of the sounds and their plugin(s). If I understand correctly, ‘some’ of the sounds you wish to use cannot be loaded into a single multi-timberal plugin. In that case, reroute with virtual ports and cubase tracks, or:

I’m not ‘sure’ about this, but I’m thinking VEP has a host-in-host setup that are in some ways similar to what Bidule does. I have no experience with VEP, but if my assumption is correct, it might be somewhat user configurable in terms of opening some kind of control panel and making alternative routings therein.

Otherwise, when possible:

Cubase expression maps can already channel bounce as long as you stay on the same port/plugin. So, can you not use multi-timbral instances of Kontakt for each stave then just channel bounce within the instance? Do you need more than 16 articulations/sounds form a single stave/track all that often? If it’s pretty rare that you need more than 16 sounds on a given stave/track, maybe there is a way to have several articulations loaded in a single Kontakt instance, but on different channels, and simply ‘channel bounce’ using Cubase expression maps. That’d be the more dorico-like method, and in some cases the expression maps might even port between Dorico and Cubase directly.

Each of the outputs you see in my list above represents one Kontakt multi-instrument in OMNI mode. The idea of UACC is that it uses CC32 values to switch articulations across many instruments/patches - as opposed to one articulation set to one particular midi channel. So the articulations of, for example, “VLN I (symphonic)” - arco, pizz, trill, trem, etc - are ALL contained in that Kontakt multi. That particular VEP instance is one of my larger ones - 21 ports.

So, in a way, I never really use standard MIDI channels in my setup. It’s all built around Ports that receive in OMNI mode.

I have another idea:
In VEP I should be able to assign ports to receive only on a certain midi channel (instead of the usual ALL).

Is there such a thing as creating a midi track that could be assigned to multiple ports?

Theoretically, I could then change the midi channel of that track and trigger only a specific port. That would limit me to 16 ports per VEP instance, but I could live with that.

My head hurts… :crazy_face:

Yes, MIDI tracks have AUX Sends (While instrument tracks do NOT). So each track can send to up to 5 ports I think. The main end point, plus 4 on the “MIDI Sends” tab of the track inspector.

Before you can see the port/plugin and channel options of a MIDI Send slot, you’ll need to click the power button for a slot, then the areas to set the endpoint stuff become active. You can also put a MIDI effect for a logic transformer in the slot. It can be set pre-parts (only effect things coming into the track’s input), or post-parts (send the parts in the track’s lane(s), AND what’s coming into the track input if monitor or record buttons for the track are active) in the flow.

MIDI Tracks VS Instrument Tracks
In my experience, hosting instruments in Rack Mode and using MIDI Tracks tends to offer more flexibility when working with through composed music. These tracks post a MIDI fader on the Mixing console, and also put an AUDIO fader (or more if you activate multiple audio outputs for plugins that support that). MIDI faders send the traditional CC7 (channel volume) and CC10 (Pan), and thusly the mixing is done in the Plugin itself, independently of the main audio folder.

One of the primary advantages to MIDI Tracks is that MIDI Sends option.

Instrument tracks include the plugin endpoint, and only put a single fader on the mixing console. That’s the actual audio fader, and while you can control it with a VST lane, it doesn’t respond to CC7 and CC10 (while the plugin itself still will of course).

The big advantage to Instrument tracks come into play in that you can export them as MIDIloops. MIDIloops include the plugin setup information, so importing such a track into Cubase will include the attached plugin and all of its settings. MIDIloops can also be instantly auditioned in the Cubase Media Brower without having to manually set up anything to hear it.

Instrument tracks are advantageous when you’re making loops, reusable themes, etc.

Looked into this. I don’t see an obvious way to make these connect to multiple ports at once, nor do I see an obvious way to connect them to a VSTi. It might be possible with deeper hacking at the XML itself (not much documentation on that anymore…maybe in really old versions of cubase that’d still apply), but it’s a no-go using the GUI provided by Cubase to build such a panel.

Yes, this is the common way composers use large orchestral templates that are hosted outside of the DAW. That’s how mine is set up.

Very cool. Looking forward to your discovery.

Also, having 4 additional midi sends per track should cover me in the vast majority of situations so that’s a pretty good option as well - if it works as intended. Stay tuned.

The MIDI Send feature is working. I can assign the Sends to various ports in the VST Rack so I didn’t need to assign each port to receive only on a certain midi channel as I described earlier.

I guess the next task is to toggle the sends on and off and automate that function.

I added some virtual midi ports (IAC Driver) via Mac’s AudioMIDI, but I don’t know how to use them in this context. What is the line of connection between the midi track, the virtual port, and the VST Rack? Where does the automation for switching midi ports come in?

As I mentioned,

If you’re hoping to toggle the power buttons on/off for the MIDI Sends in this inspector window, you’re in luck!

There appears to be an automation lane for this! More details shortly.

Think of it as a MIDI patch cable. Typically this is used to get MIDI from one app on your computer to another. In this case, we’re just using it to LOOPBACK into a Cubase track, process it with insert features on the track, and redirect it to the plugin and channel we want it to go.

What ever you send into its ‘out’ end comes out at its ‘in’ end.

So: Where you’d normally assign a stave/track with MIDI data on it to your VEP/Kontakt instrument, instead point it to your virtual port.

Now make an empty MIDI midi track. Set its “INPUT” to the virtual cable. Be sure to toggle the monitor button ON for such a track, or the data will not flow through it. Then make its ‘output’ go to your VEP/Kontakt instance.

So now the flow is MusicTrack>VirtualPort>RoutingTrack>Instrument

The point in doing this, is that if you set up filters for such routing tracks, is that now you can ‘reroute’ events to other plugins according to channels. You can filter or transform things through the 'RoutingTrack" inspector option(s) like MIDI Inserts, MIDI Sends, etc. You can also set/change the channel here one last time as well to exactly what your plugin needs to trigger the desired sound.

Click the little down arrow in the bottom left area of a track in the arrange window to drop the automation lanes for a track.

Set up automation lanes to toggle the MIDI Sends on and off as required. You’ll draw the changes right there in those lanes.

Note, if you use the main mute control it will mute ALL of the sends as well. A way around that is to also use a MIDI transformer in the MIDI Inserts lane that’s set up to filter all incoming events. Use an automation lane to toggle this insert on and off for the main endpoint.

The filter I have showing in the image above would serve as a ‘mute’ button that would block events going to the main track endpoint. So it’s kind of backwards of the 4 Sends, which you will turn ON when you want events streamed to those end point(s).

Example: say you have acro on the main, pizz on send 1, and spiccato on send 2

For arco, you disable insert 1 and all the sends.

For pizz you’d enable insert 1 and turn send 1 on, all the other sends off.

For spiccato you’d enable insert 1 and turn send 2 on, all the other sends off.

etc.

You’d enable the R button for the automation lanes, and just draw the changes in there.

2 Likes