What's the big deal about VST expression map ?

I’ve been using Protools HD since the TDM era and contemplating adding Logic Pro X or Cubase Pro 8 as my composition tool so i bought Cubase Pro 8 and Logic Pro X last week. I have a few questions about the VST expression map.

I’m i missing anything or VST expression map is simply different articulations that are pre-mapped in CB 8 for a particular VI ? If this is the case then what’s the big deal ? i mean we could simply achieve articulation switching by entering or playing the proper notes, usually found on the lowest octave of a 88 key controller.

I don’t use any CB soundest, mostly 3rd party. This means no pre-mapped VST expression. In such case, do you guys manually map out all the articulations for your VIs ? Any tutorial on hoe to do this ? Does this speed up your workflow ?

On a positive note, CB pro 8 has been extremely snappy and reliable on my nMP 6 cores. I really dig the new ‘‘less cluttered’’ interface, the old lay out looks like mine craft for audio….

If you are already happy doing articulations in the way you describe, then the only things VST Expression brings to the table are…

  1. You can transmit multiple MIDI messages from a single “trigger” note (i.e; “remote key”)
  2. It really comes into its own if you do scoring, because, the the trigger notes do note appear on the score as unwanted “played” notes, but as dedicated articulation symbols.

To me this is much more elegant than embedding ‘articulation’ notes in your score and having to remember that they’re there just for articulation purposes.

What’s also nice about the expression map in Cubase is that you can view the current articulation while in track view (it changes dynamically as the articulations change). I find it easier to view this information there than to try and follow it while the score is scrolling by (which involves visually lining up the articulation data with their corresponding labels).

Yeah the ability to view articulations by name or symbol instead of having to remember that C#0 switches to staccato or whatever is worth it alone. Especially if you have a bunch of different VSTi’s that use different note values to trigger articulations.

Also expression maps will trigger the articulation even if you start playback after you switch articulations. Say you want to switch to staccato at bar 24. If you insert a trigger note at bar 24 it will work as expected if you start your playback somewhere before bar 24. But if you start playback at bar 36 that trigger note never gets played so the articulation doesn’t get triggered. But if you use an expression map it will look back and see what the articulation should be and trigger it no matter where you start.

One recommendation when using expression maps is to leave the first (top) slot empty so it doesn’t do anything. On and off in the past there have been situations where the articulations don’t change as expected. A blank first slot seems to clear that up and it doesn’t cause problems - so it’s a good thing to do.

The other big news is you can apply articulation to individual notes within a chord. For instance if you pitch bend it will apply to the track with this feature you can bend individual notes embedded in a chord.

Unfortunately, Steinberg has implemented the feature in such a way that it can’t be used with third party libraries. They have “invented” a separation in “Directions” and “Attributes”. Directions are valid for all notes from the insert position on, until another direction is scored & Attributes belong to single notes.

The problem is that only one “Direction” attribute can be used at any one time! This is not how keyswitches are handled in any sample library I’ve seen. It’s very common to use multiple “Direction” keyswitches simultaneously. Until Steinberg removes this limitation, the feature is pretty useless. I’s just as useful as a MIDI track that can only record one note (monophonic) at a time!

This is a great shame, since it’s a brilliant concept. It could keep the MIDI editors much tidier and not cluttered up with not musical notes.

The problem is that only one “Direction” attribute can be used at any one time! This is not how keyswitches are handled in any sample library I’ve seen. It’s very common to use multiple “Direction” keyswitches simultaneously. Until Steinberg removes this limitation, the feature is pretty useless. I’s just as useful as a MIDI track that can only record one note (monophonic) at a time!

Technically this seems limiting but in real life usage, can you give me examples when one would want/need multiple ‘‘Direction’’ keyswitches simultaneously ?

In any case, Svenne might not understand that you can have up to 4 simultaneous Directions by assigning them to Groups.

… but… you’d have to create a slot (i.e. triggered by a single remote key) that contains all four articulations… you can only use one remote key at a time :wink:.

Yes, but we are we not talking about scoring?

I used the “remote key” example to highlight that we are triggering a single slot :wink:. The Groups system , in the score editor, is just another means of triggering that same slot.
Either way, the four articulations must be assigned to a single slot (otherwise, the score will not transmit them :wink: ). For the receiving instrument to receive the necessary data, it doesn’t actually matter if they are assigned to different groups or not… All the Groups do is… “when you see the combination of these (up to four) articulations present concurrently in the score, then transmit this slot.” It is the output section of the slot that determines the entirety of what the instrument will receive (i.e. what is entered in the top-right section of the VST Expression Setup window, which, as we know, can itself contain several MIDI instructions… note-ons, CC#s, patch changes, velocity scalings etc.).
Put this another way… if you have three articulations, and you want to be able to transmit any combination of them, then, unfortunately, you have to create (if my rusty old calculus is correct…) eight slots, if you include “no articulation” as one possible combination :wink:

Hm… If you assign each of the four Direction articulations to different slots, and to separate groups, can’t you then have them happening together?

Admittedly you would need a way to end that articulation, so you’d have to have another articulation in a different slot, but in the same group. Yes, in this way you would lose the remote keys.

No. Only one slot can be transmitted at any one time. Groups are assigned to… slots :wink: (with up to four groups on the slot). And the Groups are totally meaningless apart from in the Score Editor (like I wrote earlier, if the articulations from those groups are present concurrently, then if that combination is recognized as belonging to a particular slot, then the slot will be transmitted).
Let’s try a not-too-complex concrete example…
Let’s use a string instrument, and have two articulations (plus the basic “arco” in slot #1)… Pizz, in slot #2, and sordino in slot #3.
This does of course assume that the receiving instrument (let’s presume a sampler, such as HALion or Kontakt) has three patches… arco, pizz, and sordino (which will, presumably, be played arco, but with the mute applied). The only way to hear pizz played sordino is if there is a fourth patch, which contains that particular sound.
So, for the time being, let’s just have the three slots, with the appropriate articulation loaded into each.
Write an “arco” into the score… Cubase will recognize that there is a slot which contains that articulation, and therefore transmit the data that is written in the top-right section for that slot.
Similarly for the other two articulations.
And it doesn’t matter which Group you assigned the articulation… if there is only one group present in the slot anyways :wink:. But, for the sake of simplifying what follows, lets put each articulation in to its own group (arco in group 1, pizz in group 2 and sordino in group 3)
So, at the moment, if you had started the score with pizz (which is on slot #2), and (without later changing it to arco (slot #1) ) you now write “sordino” (slot #3), it will simply play the patch that is sordino (i.e. still arco, because that’s what the samples for that patch are).
If you want to trigger the patch that contains the pizz played sordino (that fourth patch I mentioned), you have to write a fourth slot (where the top-right section selects that patch), and put the pizz articulation into group #2 of that slot, and the sordino articulation into group #3 of that same slot (don’t forget, you fixed the group numbers when you created each articulation, in the bottom-right section)…
Now, if you write the same as above, with pizz at the start, and later add the “sordino” articulation, Cubase will recognize that “pizz” and “sordino” are concurrent, and exist in a valid slot (slot #4), and now transmit that slot, which will now play the fourth patch (samples of pizz played sordino).
Time for bed and an aspirine :stuck_out_tongue:

That makes no difference. The limitation must be totally removed to comply with with how keyswitches are used! Until Steinberg does this, the feature can’t be used!

Absolutely vic_france !
Everything is correct. (fortunately I’m here to confirm :smiley: )

That’s right. And that leads to the most annoying part of Expression Map setup that is the inability to copy/paste slots or any other element !
I have slots with sometimes 8 or more Midi CCs and other values and it is a real pain and time consuming to always re-enter every single data one by one for every combination of articulations for orchestra ! With 4 groups there are 15 possible combinations, multiply this by the number of different expressions and the number of values for every expression … It’s time for a feature request and two aspirins for me …

Svenne, what would be the use of multiple Directions at a time ? Trigger separate samples simultaneously ?

Thanks Vic. That explains a lot, but not how you can write so clearly at 3 in the morning! :wink:


Well, one example of thousands is Scarbee Rickenbacker Bass where you use multiple simultaneous “Direction” keyswitches to control which strings the AI should chose as alternatives to where the note should be played. Add to this other articulations that use “Direction” keyswitches.

If you really want to see a Keyswitch jungle, take a look at the Acou6tics library.

The answer to your question is: It required very time I use a keyswitch powered sample library! That’s how keyswitches work everywhere, but at Steinbergs.

If I am understanding correctly, you are talking about holding down multiple key switches? (where, if using VST Expression, as soon as you press a 2nd key, it kills the first one?). If so, then of course, yes, we’d all like to see that possible with VST Expression also (it would still require slots for every key combination, but at least you could trigger them using fewer remote keys :wink: )

Svenne, it’s still not very clear for me why you can’t use Expression Map for what you want.

You say you have to use multiple simultaneous key switches (in our case “expressions”), for your virtual instrument to choose the right sample, based on the key switches which are “switched on”.

Ok. But what keeps you from creating your own Expression Maps, with all the necessary slots, so the program will do the job (choose) with its own logic, instead of your VI. This way you won’t have to use simultaneous Directions, but one at a time. The only disadvantage is you would have a little (a lot of) work to do, creating all the slots with all the possible combinations in the way Expression Map works.

Sure it would be even better if it could also work the way you need. But I don’t see here a limitation. At least not one that would make Expression Maps useless for any kind of project.
I’m building quite complex Maps for orchestra and I can tell you that my Expression Maps are not a jungle, but an entire galaxy !!! And it works absolutely great. The only limitations I’m facing are : the one I mentioned (Copy/Paste option), and for going further, the number of Groups (more than 4 Groups would be useful), it would also be great to have dynamic (progressive) values !!, more (custom) symbols etc …

It’s a very time consuming work. But the good thing is that it’s a one time job (for each instrument or each family of instruments !).