Expression Maps Generator - Create expression maps quickly

Also, note that those colors are per sound slot, not per articulation

Indeed. However I handled it differently.
The sound slot’s color is based on the color of the first non-empty articulation, i.e. if you only use group 1 then it’s a 1 to 1 match.

Anyway, update released. Old files should be compatible. Haven’t tested thoroughly but I don’t think I added any bugs.


That was fast! thanks! will test it tonight :pray:

My god that’s a wonderful tool! Thank you so much @mk1x86 for your splendid work!
I’m wondering: is there any chance to create a sort of dual layer setup in order to use some “transitional” articulations?

I’ll explain better:
a few libraries like Best Service’s “Emotional Violin” let you pick not only a single articulation with keyswitches, but also some others, like ornaments, with keyswitches as well.
So for example, you can hit C0 to trigger the “Slow & Passionate” articulation, and while the note is playing, you can momentarily trigger the “To Delicate End” ornament with E6 note. Is there any way to translate this into an expression map with your tool? It seems like I couldn’t find any solution with Cubase’s expression map window.ù

I’m attaching a screenshot to make myself more clear in case.

Yes, you have 4 groups in Cubase, and that’s the greatest thing of expression maps.
So in group 1 you put the main articulations, in group 2 the secondary one, then with this tool just add all of them with one click to the sound slots (the second page of this tool) so it will make not only the sound slots for all groups 1 and 2 articulations but also for their combinations, so that when you assign both to a note it will play both articulations.
I recommend using all in attribute mode to avoid lanes, otherwise you can use directions for the main articulation (group 1) and attributes for the secondary (group 2).
I suggest you get familiar with expression maps first then use this tool to speed up the process.

Yes, basically, what @ravez said. So here’s a short explanation of how expression maps work:
You have different articulations that belong to one of four “groups”. Let’s say you have the following articulations in group 1:

  • Sustain
  • Legato
  • Staccato
    These will probably be used as “direction” articulations so the articulation is used until you change it to something else.

For sustains and legatos you may have different attack and release ornaments. We will add attack ornaments to group 2:

  • Bend up
  • Bend down
  • Harmonic
    and release to group 3:
  • Bend up
  • Bend down
  • Rip
    Both group 2 and 3 articulations will be used as “per note”. In Cubase you can now select one articulation per group in the midi editors, e.g. piano roll.

What Cubase then does is look at the selected articulations and find a “slot” (the middle section in the expression maps editor) that matches your selected articulations as closely as possible. When a slot has been found it will trigger the notes/CC/PGCs that are associated with that slot (upper right area in the expression maps editor).

The problem with Cubase’s editor is that for each slot you need to set the trigger one by one. If you have sustain & legato + 3 attack ornaments + 3 release ornaments this is 233 = 18 slots you have to create.

My tool basically allows you to set triggers per articulation and then just combine the triggers of all articulations that make up a slot. This way you just set up triggers for the 8 articulations and with a few clicks auto-generate the 18 slots from them. You can still overwrite the final triggers if need be.

This is a simple example. My Ventus Winds expression map has 72 slots:

1 Like

Hey @ravez, thanks for your reply!
I see what you’re saying, although I’m already familiar with expression maps, even if I use it always with a single articulation group, and the problem here is that I don’t need two articulations to be played at the same time with a single KS note.
I need to have a latched articulation, and a toggled one that happens after I played a note. From what I understand, groups in expression maps editor will just let you play those articulations together, like when you need “marcato” + “sustain”, but what I need here is a little different.

I think part of the problem is expressed by @mk1x86 when he says:

The problem with Cubase’s editor is that for each slot you need to set the trigger one by one. If you have sustain & legato + 3 attack ornaments + 3 release ornaments this is 23 3 = 18 slots you have to create.

But still, in my case I’d have to create a huge amount of combinations, as I’d need to combine 18 ornament variations for each of the 15 articulations…

Also, I have to try it out, but I’m not sure I can use the articulations of group 2 as attributes, because I suppose I’d need the note to be retriggered with the KS for that, while some libraries (again, just like “Emotional Violin”) are scripted in a way that if I retrigger the note and then use the ornaments, I won’t get the same smooth result as playing the note, then hit the ornament KS and hear a smooth transition from the note (that’s still playing) to the ornament. And also, retrigerring or leaving the ornament KS on (pretty much like if it was a “direction” articulation) would lead to a bad behavior of the note release.

I’m sending some screenshots and videos to explain better. Basically the situation I’m trying to translate with a more flexible expression map is this one, where I hit the articulation KS, play the note, and hit the ornament KS, and everything works nice:

And the basic map would only let me to have this configuration working, with only one group:

Now, if I create a new ornament articulation in group 2 and set it as an attribute, this won’t be useful because I’d need to play the note once again and it would result in an unwanted retriggering of the note. Like this:

Ideally, the best thing would be to use it as a direction articulation, but it doesn’t work anyway, as I won’t hear that final ornament played.

Also, the following configuration is the only one that works, because I put the “sustain” KS and the “ornament” KS together, as you can see in the top right box of the expression map editor, but as I mentioned earlier, that would mean to combine all of the 18 ornaments for each of the 15 articulations that would require those…insane!

I’m probably missing something related to the connection between group 1 and group 2, but I’ll try what @mk1x86 suggested and will let you know!

Right, you need to have a slot for every group 1 articulations (direction), a slot for every group 2 articulations (attribute), a slot for every combination of the 2 groups, which in the cubase editor would take forever to do but with this tool all you do is select all the articulations in the left panel of the second page (where you create the slots) and generate the slots, it’s basically one click solution.
I attach an example on how to create your patch.


Also, you can totally use only attributes if you want, that’s how i do so i don’t have to use lanes that take up space. But that is just a preference

I was doing the same thing as you did in the video, although if I want to replicate with all possible ornaments for all the sustain articulations, it’s going to be a huge list of combinations, because I’d need to have something like the following combo list:

Slow&Passionate + to delicate end
Slow&Passionate + to cresc
Slow&Passionate + to sul pont
Slow&Passionate + to tremolo sfz
Slow&Passionate + …

and then
Sus Non Vib + to delicate end
Sus Non Vib + to cresc
Sus Non Vib + to sul pont
Sus Non Vib + to tremolo sfz
Sus Non Vib + …

and then
Bright Vibrato + to delicate end
Bright Vibrato + to cresc
Bright Vibrato + to sul pont
Bright Vibrato + to tremolo sfz
Bright Vibrato + …

while the goal here would be to have any single current articulation combined with any ornament, on the fly, pretty much as you would do with KS when playing live, when you hit the articulation KS of your choice, you play the note, and then you color it with an ornament KS of your choice.

Let me know if I’m not getting what you’re saying though, but the result on your video seems pretty much the same as mine, on the video that goes after the “screen5” picture I posted earlier.

that’s correct, you need all those combinations for cubase to know what a KS1 and a KS2 should trigger when you play them live.
So it works basically just as live keyswitching with the advantage of not having any KS notes in your recording.
In the articulation lanes (or pulldown menu in case of attributes) you will only see the single articulations of each group, not all the combinations, those are just in the expression map so cubase knows how to handle them, and it takes one click to create them with this EM generator, no matter how many there are.
All you need to create is the articulations of each group, but the slots creation is one click per group and one click for the combination of all articulations of all groups, it doesn’t get any faster than this.
So having all combinations is a non issue if you use this generator.

Nice! I’ll try with a bunch then and will let you know. Thank you man!

1 Like

Works like a charm!
here’s the video:

The articulation list is big, sure, but that’s library-related, you can’t really do anything about, although what you can see, is that now I’m able to switch between articulations and put ornaments wherever I need them. I was able to create a reset articulation for the ornaments, but again, that’s just because that library has those ornaments latched like if they were actual articulations.
And it took me 3 minutes to create it all with the Map Generator, absolutely wonderful! Thanks for your job @mk1x86, you’re just great; and thanks @ravez for the help!
(Let me know if you guys need these maps I’m creating for Best Service’s Emotional Violin/Viola/Cello: I’ll be glad to send those your way!)


Thank you very much for creating this great tool!

I’ve a question about empty slots. I’m familiar with why they exist, but just trying to understand if i need the red marked slots on my screenshot. (“cs ON/OFF” means con sordino on or off)

Con sordino is globally either on or off. So i think they aren’t really needed.

@a4000 If “off” equals “no key switch” then you probably don’t need them. However con/senza sordino is usually used as direction articulation and afaik you cannot “stop” a direction, only change it to another. In happy to be wrong here though.
I also recommend to have an all empty slot which is then always used as default if a midi part has no articulations at all.

Thanks @mk1x86

Maybe you could implement a ‘Clear up (unneeded) empty slots’ function? Or they aren’t generated to begin with?

I’ve another question. Say i have a third group ‘legato ON/OFF’, but staccato doesn’t have legato at all. When a select all articulations and then press ‘Generate slots’ i get slots like
staccato - cs ON - legato ON
I’m not sure these are needed.

Or should i select a specific set of articulations press generate and then another set, so one after another? Could be a little complicated that way.

It’s up to you which articulations you select to create slots from them. Just don’t select the “empty” articulation.

Indeed, you don’t need these slots. However in practice it doesn’t really matter because the legato KS won’t affect playability of the staccatos, i.e. you can have multiple slots for the same play style.

If you want it to be “clean” though, then you need to create slots in multiple steps.

That being said I’m a little disappointed with how the whole system works. Articulation lanes take a lot of space in the midi editor and I wished Steinberg would have an easier system to select articulation combinations. I don’t even want to see legato features while playing shorts.

1 Like

True. The UI/UX is less than ideal. I think they were the first coming up with articulation switching but then kind of neglected it. I’ve read that they are aware of it, but doesn’t seem to find the time to rework it. But it should be easier now for them since others started doing the same which they could just copy or get some ideas from. I didn’t look at other systems yet tbh. Who has the best implementation? If there is a clear winner we could start asking them to just copy it.

IMHO they already have the best implementation, the only thing they need to do is to keep only 1 lane per group in the articulation lanes, as every articulation in direction mode can happen only sequentially, just like in Studio One.
The problem with S1 is it doesn’t support 4 groups but just one, which makes it a mess with VSL libraries that would generate thousands of articulation rather then a few dozen.
I can’t believe this hasn’t been addresses since Cubase 5, it would be such a simple change but still make it very easy to work with…Also a better expression maps editor of course with some kind of auto generation of the maps based on presets, like in S1, but with the possibility to decide which ones rather than everything, which is why the dynamic mapping in S1 is unusable with big Synchron player patches that use many keyswitches to select the articulations, especially when it involves crossfades that use CC/velocity
Also i like how X-DAW for Logic lets you see the articulations on an automation lane in the arrangement view, that’s great so you can see your tracks and know what every instrument is playing in terms of articulations, instead of being limited to see only one track and only in the editor window.


Thanks for your input. That’s what im talking about.

The vertical collapse/expand function per group in the articulation controller lane should be a no brainer. A reworked map editor is a must for sure. That arranger window preview sounds good too. I will have a look at Logic.

Logic uses articulation sets, which are like expression maps attributes, with the disadvantage that they don’t show up on the notes, which sucks.
The one i was referring to is a third party solution, i’m just saying i like one of its features (the arrangement view articulation lanes).