Something I don't understand about VST Expressions...

I’m trying to create custom VST Expression Maps for my personal VSL presets. Something I don’t understand about Expression Maps is “Groups”, and how they interact to create combined articulations.

Say I have two categories of articulations, “Staccatos” and “Portatos”. and both come in two speeds, “Slow” and “Fast”. What I want to do is have a keyswitch decide between Staccato or Portato, and CC12 decide whether it’s the “Slow” or the “Fast” variety.

So I map Staccato to C0 and Portato to C#0, assign them to Group 1, and give them both an attribute of “Direction”. Then, I create two more articulations “Slow” and “Fast”, and assign one to CC12=1, and the other to CC12=127. I also give them attributes of “Direction”, but this time I assign them to Group 2.

What I’m expecting to happen doesn’t happen. Since the “speed” variable belongs to a separate group as the “articulation” variable, I’m expecting to be able to define a speed “Slow” or “Fast” and have this persist no matter which keyswitch I have active.

However, it seems that VST Expressions doesn’t behave like this. In order to combine these in my MIDI track, I have to go back into my expression map and actually create a combination for every possible permutation of Staccato or Portato (ie. Staccato+Short, Staccato+Long, Portato+Short, Portato+Long).

Given the complexity of my personal VSL presets, this would take me forever.
Is there something I am missing?

You may find the following topic helpful, generally (it’s quite old now, but it should explain a bit about groups :wink: )…

Furthermore, when playing live, is it not possible to allow my Expression Map to change articulation via CC#? I understand that the output of an Expression Map Articulation can be any combination of keyswitch, cc#, or program change, so why is it that the only way to input is via keyswitch?

I do not see any other variable that can be defined via Remote Keys besides keyswitch. Again, with so many varieties of articulations this would mean upwards of 50 keyswitches!

Correct observation :wink:
If you really do need to trigger your articulations via CC# messages, you could create a MIDI track (on which you receive the CC# messages, use the Input Transformer on that track to convert them into note-on messages (which could be outside the “normal” playing range), and route the output of that track to a MIDI loopback software (e.g. LoopBe on PC, or the built-in IAC bus on Mac), then use a 2nd MIDI track, whose input is set to the loopback, and whose output is, finally, routed to your instrument.

Thanks for the quick reply!

Your link cleared things up for me. It’s a bit of a pity because it’s a very tedious job for what could otherwise be pretty quick to configure.