Change midi channel with expression maps?

In expression maps,it seems I can’t do a midi channel change with articulation changes. It does have keyswitch/program change/etc. options but I need to be able to change the midi channel for the VST to play a different articulation patch. Does this option exist and I missed it? If not, is this capability going to be added in the future?

This isn’t currently possible, but we do intend to add this ability in the future. You will be able to route a instrument to multiple ‘endpoints’ (=device + channel) so that you’ll be able to have eg violin arco played by VSL and pizz by EW Play, which will be a lot more general than just supporting a change of channel

If this is an ability you need in your workflow NOW, there are some third party ‘work arounds’ using third party utilities.

I personally use Bidule, which loads as a VST instrument in Dorico (Must add to WhiteList) and acts like a host within’ a host. It allows me to merge multiple plugins into ‘one plugin’ in Dorico. I.E. I can build a single instrument using various elements from HALion, ARIA, EW, SONiVOX, Vienna, and Kontakt players, as if it were all one seamless instrument.

From there I could use a Bidule that would use my choice of CC Events, Key Switches, or Program Changes to force the ‘channel bounce’. It’s pretty neat to have the ability to mix and mesh all my VST2, VST3, and AU plugins into a single instrument of sorts. This also buys me the ability to convert MIDI Events into ‘VST Automation’ that Dorico does not yet support (Quite a few FX plugins can’t be automated via MIDI, but they can via VST. Bidule allows one to build a bridge that would ‘convert’ MIDI events into VST Automation events). I also get the ability to fully monitor, transform, and forward MIDI pretty much anywhere I like (Including external MIDI Keyboards/Tone Generators like my Roland XR). It’s also possible to set up rtpMIDI and reStream in order to host instruments on other computers (Of course you’ll need plugin licenses on the remote machine, and would need to do audio renderings in real time under such a multi-PC setup).

Bidule is a truly remarkable plugin of which I can’t even begin to list all the possibilities here. This plugin has ended up being my ultimate “Swiss Army Knife” plugin. It chains, transforms, automates, records, plays back, and much more.

Bidule probably isn’t the only option out there for chaining plugins/hardware and transforming MIDI/Audio.
Try a web search for “VSTi Chainer”.
I have no experience with any of these titles, but some of these examples might be worth a try:
Vienna Ensemble Pro
Blue Cat’s Patchwork
MetaPlugin

While Vienna Ensemble Pro is the bread and butter solution for distributed audio processing, I do appreciate your broad knowledge and generous sharing of ideas and solutions on this forum! Would it be possible for you to upload a Dorico project which uses Bidule to overcome the channel switching limitation? Thanks!

I’m not sure if it will upload as a fully intact project, but I can try.

For now, I’ll just show what such a Bidule would look like:

It’s simple really…

First, use a “MIDI Splitter” Bidule to separate out each MIDI Channel.

Next, use “MIDI Key Switch” Bidules. This is a very simple Bidule that will transform the MIDI Channel given a specified “Note On” Event.

In the screen shot below you can see where I’m able to “Channel Bounce” between different sounds with key switches in a couple of ARIA Instances that I have set up for Violin 1 and Violin 2.



This is just one way…it could also be done via Program Changes or CC Events using a different sequence of Bidules. There are even more options…such as ‘velocity layers’ (if falls in a velocity range, send to channel 1, if not send to channel 2, etc.), or even splitting a virtual keyboard into ‘zones’ (send one half of the keyboard to one plugin/channel, and the other half to another, etc…even if you need to do real time interval transposition to make it happen as intended). Bidule also has the ability to snoop the MIDI buffer, create more buffers, and even analyze the input and make decisions on what to do next (possibly figure out the tempo as an example, and use that information to decide between martele, sautille, staccato, or spiccato bowing on the fly). This is just the MIDI side of things…we get to manipulate the audio sample data in real time as well :slight_smile:

I’ve got leave my studio for most of the afternoon so I’m a little crunched for time, but I’ll try to offer up an example score/project later.

What is the timescale for this addition? e.g. will it be a few months or more than a year. I ask because I haven’t actually purchased Dorico yet, I’m just experimenting with the free trial. The main reason I started looking at Dorico is that my current notation software doesn’t really have this capability either. Bidule looks like it would be about $100 in addition to the crossgrade price for Dorico, so this is a consideration for me. BTW, I have also tried some apps to interface the notation program’s output midi with my DAW…sometimes it sort of works, but tends to crash a lot.

Unfortunately we can’t give a definitive answer about how long this will take to add, though it’s definitely a high priority. The only thing I can say with certainty at this point is that it will not be included in the next update, but I would say it is at least possible that it will be included in the one afterwards.

A followup to this issue that I recently discovered.

Without any third party tools, there is currently at least one workaround to hop channels. It’s not as simple as an expression map entry, but none the less, here’s how I accomplished it TODAY without a $90 UDS third party app in play.

  1. Insure in Setup/Layout Options, that “Allow Instrument Changes” is turned on.

  2. Go to the Setup Tab.

Put this into Galley View (ctrl-alt-2), or you can do it via the View Menu, or with a little icon in the lower left panel.

Add a new Instrument to the Player that you wish to use multiple plugins/MIDI Channels.

In this case, I’m going to assign three instruments to my “Violin I” and “Violin II” Players. Ultimately, I’ll have a big key-switching instrument for Violin 1. For Violin 2, I’ll be implementing a special ‘no vibrato’ sustained violin section that isn’t included in the big key-switching variant. For Violin 3, I’ll be entering the ‘soloist’ violin passages.

Note that when Dorico is in Galley View, you’ll see all of the instrument staves unfolded as above. When you change to Page View, all the staves merge into one as long as there are empty bars in the other staves of this player.

  1. In the Play Tab, assign each player to the plugin and MIDI Channel of your choice.

At this point simply use Galley View mode in the Write Tab to cut/paste, or enter fresh music on the ‘instrument’ you want to sound. Here you can see where I’ve put my senza vibrato and Soloist passages onto the different instrument staves, but made sure all other staves are empty for these particular bars.

Now notice that when I switch back to Page View, All these staves are folded into one visually, but I get the expected playback over different MIDI Channels.

  1. Finally we’ll need to make adjustments so we get the Instrument Names until they display as we want.

In the Setup Tab, unfold the Player Flows, and alter the Instrument Names by clicking on the little > marks.

In this score I simply renamed as follows:
Violin 1 as “Violin I” for the long name, and “Vlns.” for the short name.
Violin 2 as “senza vib.” for both the long and short names.
Violin 3 as “Solo Violin 1” for the long name, and “Solo” for the short name.
Violin 4 as “Violin II” for the long name, and “Vlns.” for the short name.
Violin 5 as “senza vib.” for both the long and short names.
Violin 6 as “Solo Violin 2” for the long name, and “Solo” for the short name.

Now I get this in Page View, while all the staves are spread out and visible in Galley View.

I usst want to underline the need to change (at least) the Channel via Expressionmap.
You should convince the Cubase-developpers aswell, that this would be an essential addition to the whole Concept of expression maps in a Sequencer to. Or any other way to change the samplesource (+VSTplugin) for the same voice. With every new Orchestralibrary or sampled single instrument the need of such an additions grows.

You can specify the Midi channel in Cubase expression maps… :slight_smile:

:confused: :question:
ehm , …that “would” be great, since I do work very much with Expressionmaps in Cubase

but…

…as far as I know this is simply not true.
Could you please link me any documentation or Handbook-page, which explicitly documents that option?!

(I already asked for in the german Cubase-Forum without any response reaction as far as I can see. Soft-eLicenser (SeL) FAQ - Cubase - Steinberg Forums)

here:

Ah Ok, looks interesting.I have to try it, but if that works that might be pretty helpful.
Thank You

I’ve tried the gallery view approach to workaround this, it works OK, but its less than ideal and its basically the same thing I am doing using the DAW. I read on Daniel’s blog where there will be only one more major update to 1.x. There was nothing mentioned about improvements to playback or expression maps. Should I take it that this feature might be part of a Dorico 2.x update sometime next year?

We’re not yet sure what playback improvements will make it into the update that is focused around unpitched percussion and cues, but I’m sure there will be some. Beyond the things that we’re actively working on right now and the things that we have identified as the anchor features for the update, I really can’t provide any concrete information about when any specific improvement might be added. I know that’s frustrating, and I’m sorry, but plans change, software development is hard, etc. etc.

Please don’t get the impression I’m frustrated. I completely understand the situation, so nothing for you to be sorry about. I’m thinking about picking up the 3rd party software as a better workaround, but if you we’re sure the feature would be in next update, I’d hold off.

Any news here?
I just recognized that my keyswitches for a certain expression map send on all midi channels…aaaahhhhhhhhhh

I confess that I have found workarounds for pretty much everything in Dorico! But it does take a little bit of fiddling… If you have say a Sustain in one instrument and Staccato in another, load them both in the same channel, but then assign the volume knob (or any other volume controller) to say CC20 and the second instrument to CC21. Then in the expression map tell Dorico (add control change) that when playing sustain it must use CC20 at 100 and CC21 at 0 and then do the exact opposite for the staccato. This is how I work with the EW Choirs which have all the patches in different instrument/players.

This is certainly something that we are aiming to look at for a future version, and it’s quite a high priority item on our list.