Expression Maps

Hello Daniel
Any improvement in Dorico 2.1 with Expression Maps

I think I can probably answer that myself. There has not been any major change to the expression map functionality in Dorico 2.1 from 2.0 and indeed I don’t think most of us were really expecting anything if you’ve kept up and read all of Daniel’s comments, even though we were maybe hoping… I have a question above about one element of the functionality, but I suspect the solution will not be forthcoming for a while…Or, maybe it will be solved shortly! One thing that has been fixed is that the playing techniques now show up in the controller lane of the Play window correctly. There may be some other changes that I have not become aware of…

Hello Grainger

I have post my question to Daniel



Hi there

Has anyone been able to link crescendos and dynamic changes to velocity-crossfade in Vienna Symphonic Library?

In the past it was simply a case of telling Vienna instruments to map velocity crossfade to CC11 and disable the input for expression.



Hi Rob,
Go to the Expression Map editor in the PLAY window. Select the Expression Map you are using and you can see a list of the techniques included. When you select each technique, you can choose how the Volume Dynamic should work - Either via note velocity or via a control change. If you select CC11 then it should work with the crossfade in VSL, assuming that you have CC11 assigned to the crossfade inside the VSL player - It does for me.

Just adding an image to Grainger’s comment since I happen have some handy…

You’ll find the Expression Map dialoge under the Play menu, while in Play Mode.

And here’s an example of an instrument that uses CC1 for dynamic control…and sends a legato pedal (CC64) for slur marks or other ‘legato’ techniques on the score.

Notice the box that says “Volume Dynamic” that contains radio buttons for “Velocity” or a “Control Change”.

In the case above, I’m using CC1 (mod wheel), but you could change it to CC11 (Expression Volume), or whatever you require. If your instrument is velocity based instead, then you’d click that instead.

Don’t forget that you’ll need to assign these expression maps to the relevant stave(s) that use them:

In this case I’m using ARIA, but the process is the same for other plugins.

Hi Andy

Thank you for a brilliant response, I really appreciate the detail and screen grabs. I changed the volume dynamic to CC11 on the expression map and enabled V.X fade in Vienna and that got it working brilliantly. I am really happy so thank you. (I have noticed that the only way to apply X fade across the board is to change the volume dynamic for every technique individually. Perhaps Dorico will have the feature to ‘Apply all’ in the future).

I have also been having a second issue with playback in that when importing the cubase expression map for VSL, I only hear audio when a performance technique is written (for example, a slur, or staccato).

It seems that when notes are just left unmarked that nothing gets played. I checked the settings for the ‘Sustain’ technique on the expression map (which is the one I am guessing is activated when nothing is written for the note), and all seems to be in order there.

If you have a staccato note followed by an unmarked note, the reverb tail of the staccato note remains in tact, which suggests to me it is not an audio playback cut-out. Furthermore, the unmarked notes can’t be seen being ‘played’ on the Vienna Instruments keyboard, which suggests they are not being sent to the instrument in the first place

Is there anything I am missing?

First thing to check:

Since some instruments use sticky key-switches (the last one tapped sticks until a different one is tapped), it’s a good idea to always have a ‘Natural’ technique included in the expression map. Notes with no technique(s) attached get a ‘natural’ node.

Here’s an example for a Garritan (GPO5) Sound I’ve been using. In this case I want to send all this stuff as the ‘default’ or ‘natural’ state (a plain arco bowing style).

  1. It makes sure the Legato pedal (CC68) is off.
  2. I make adjustments to the start time in the sample with CC119.
  3. I’ve got more events to adjust a tonal filter, make sure the ‘mute’ is off, and adjust the ADSR settings.
  4. I send the proper key-switch for a regular arco bowing sound.

For this particular instrument, I send this entire slate of events (with different values) for pretty much every different technique Dorico offers, as well as various combinations of techniques such as legato+tenuto, and so forth. I add them and tweak as needed to a score…things can be quite different from score to score depending on style/tempo/etc. I.E. A downbow can change CC119 to play the sample a little earlier (where the bow starts grabbing), and changes ADSR somewhat for a more downbow effect. Because so many parameters get moved about when playing different articulations/styles, I just send the entire slate every time something needs to change.

So, if the expressionmap that causes you trouble already has a “Natural” technique, make sure it sends the right key-switch (or program change, etc.), and double check that the range and velocity limits, or length/duration percentages haven’t perhaps been clamped off by accident. If the expressionmap does not have a Natural technique, make one that will at least send the default key-switch.

If your expressionmap/plugin combo makes a lot of live dynamic changes to an assortment of parameters, be sure to reset them ‘all’ exactly how you’d like them for the default/natural sound.

Next thing to check

Sometimes a note can have more than one technique associated with it. I.E. It might have a slur over it, as well as a dot over it, thus it could trigger a “legato+staccato” expressionmap technique. So, double check in the score, that it’s not trying to trigger some sort of multi-node technique that is missing, or isn’t set up properly.

To build such a ‘combo technique’, hold the ctrl key while selecting more than one node when assigning nodes to a new technique. I.E. legato+marcato

If one unfolds things in Play View, and the instruments/players are properly pointing to a valid expressionmap, one can see a status bar with the piano scroll roll that shows any valid playing techniques, which also happen to have matching techniques in the expressionmap. Notes with cominbations of techniques will show an astrix (*), and hovering over that with a mouse will show all the active nodes. This status bar can really come in handy when trying to troubleshoot an expressionmap!

Sometimes I get odd combinations of techniques on my score, and there’s nothing even remotely close to the way I want it to sound assigned in my expressionmap. Or maybe it is falling back to something close, but not really what I have in mind. So, I find it’s not unusual at all for me to make a lot of combo techniques in the expressionmap on an ‘as need’ basis for each project. Sometimes I even find myself borrowing techniques meant for other instruments an hiding them from view in order to produce a ‘combi’ that will trigger the specific sound I need. I.E. I could make some wild combo like “legato+accent+staccato+mute+snares on” to force a certian set of ‘one off’ instrument parameters for a given piece. I’d simply hide the snares off technique in the score by setting it to full transparent.

Hi Brian

I added a ‘Natural’ playing technique to my expression map with the key switches in it to activate the sustain patch in Vienna, and that sorted everything. Thanks for all of the screen grabs and detailed explanation, it made the process a breeze.

Having the ability to add crescendos to multiple parts which drive velocity crossfades, and expression maps which are activated by playing techniques on the score is brilliant. I am actually finding it quicker to compose in Dorico now than in Cubase, even if the purpose is solely just for Virtual Instrument programming. In Cubase I had to draw each rise and fall in volume manually, but in Dorico I can very quickly get what I want just by notating crescendos and them tweaking in play mode.

One feature which I am missing a bit is for the ‘Volume Dynamic’ data of crescendos and other dynamics changes to be displayed within the graph in play mode. In my expression maps, I made it so that all of my volume dynamic data is sent to CC11, but in play mode, none of this data is displayed currently on the graph for CC11. This means that when I want to tweak the playback of a crescendo, I have to guess where it is on the graph and hope that the two don’t conflict.

I certainly hope this is a feature which is easy enough to add

CC7 is typically used for ‘channel volume’ in the general MIDI specification. It is possible to use this method of dynamic control in your expression maps too, though I personally do not advise it unless you know you will be exporting a MIDI file that will be played by an instrument that does not support CC11 expression volume.

If you want to MIX via MIDI events (I.E. to control the built in mixer of a plugin or MIDI Device), as opposed to adjusting the levels of the actual audio matrix, you can do this through Dorico’s Mixer by engaging the “MIDI” tab in the upper left hand corner.

When active, the vertical volume slider(s) should send CC7. The pan slider(s) should send CC10.

So, if I activate the MIDI tab in Dorico:

Instead of working with the internal audio stream for the channel directly at the host level, it will automate the built in mixer of ARIA at client level.

I’m not aware of the Dorcio mixer sending chorus and reverb adjustment events (CC91-94). But you can do that in the Play tab via CC lanes form Dorico 2 forward.

If you have Dorico 2 or later, One can also draw CC7 events into CC lanes from Dorico’s “Play” tab/mode.

I have not yet exported a Dorico project to MIDI to see if these Mixer CC7 values get inserted into such a MIDI rendering, but they do stick with the Dorico project itself, and they do transmit into whatever plugin, or external MIDI port/instrument a mixer channel is directed.

As for inserting hair-pin dynamics in Cubase. I agree that out of the box, Dorico is much better set up to work with traditional scoring/notation; however, Cubase Pro can be taught to be one heck of a nice composer station that is fast/easy to use. It’s not so obvious though, and it does need to be ‘learned’ and ultimately ‘personalized’ into a workflow you like.

If you have Cubase Pro… Its score mode should have a way to build in automatic translation for terraced, as well as gradual (hair pin) dynamic changes, plus for making interpretive settings for articulations and other marks. I’m not sure about Artist, and I doubt Elements or AI can do it at all, but Pro and Nuendo do have the ability to create expressionmaps that are somewhat similar to the ones Dorico uses. Fire me a PM, or start up a thread over in the CuBase Pro forum if you’d like to discuss those possibilities further.


Oops, I misread your last comment a bit and went off on a long tangent about CC7 and Dorico’s mixer. I’ll leave it since it might be helpful to someone…

I agree, it would be nice if one could see the CC11 events generated via Dorico’s interpretive engine in the lane. I think it is missing for a reason though…as Dorico ‘interprets’ the stuff on the score, and all that can change depending on a variety of ‘other settings’ throughout the program and score. Perhaps at some point we’ll get an option to ‘freeze’ it into the lanes…kind of like Sibelius has a couple of modes…one that includes any frozen in MIDI events, and another that ‘only’ passes through stuff generated by its own interpretive engine.

I’m not sure how it would behave if you ‘also’ drew things manually into the CC11 lane of the play tab. In Cubase, one has flags to choose between ‘averaging’ multiple lanes that want to do the ‘same thing’; just dumping it exactly as is (even if it conflicts), or picking ‘one over the other’, etc.

I suppose one could try it to see. My first ‘guess’ is that it probably ‘averages’. So a CC send via expression map on the same tick as one sent in a CC lane would be averaged somehow?

Thanks Brian

I have done a little experimentation and it is not completely clear to me how the CC controllers lane data, and performance directions for volume interact, but it seems to me that the graph takes charge whenever it is programmed, taking all volume dynamics directions. I will have to experiment a bit more and get back to you.

In the mean time I have put in a feature request.

Is there anywhere in the forum or the documentation where I can find a detailed explanation of the difference between a Cubase Expression Map and a Dorico Expression Map and how to effectively convert from one to the other? I have a Cubase Expression map for Chris Hein Solo Strings Complete and just wish to know the details of what I do to get it working properly in Dorico and what its limitations might be.



There’s no detailed documentation on the differences, I’m afraid. You can import your Cubase expression map into Dorico via Play > Expression Maps (see the buttons at the bottom), and you should find that the basic things like key switches and MIDI controllers plus the type of MIDI message required for dynamics work, but things like modifying velocity, note duration, etc. are currently inoperable.

Hello Daniel,

When can we expect those ?



I can’t provide any specific timetable. All I can say for sure is that they will not be implemented in the update we are currently working on.

I can’t provide any specific timetable. All I can say for sure is that they will not be implemented in the update we are currently working on.

:cry: :cry: :cry:

Would it be possible to get a precise statement about what does and doesn’t currently work re: expression maps? These statements to the effect that ‘not everything works yet’, e.g. ‘etc’ above leaves it to every user to waste time discovering the current status when I presume you developers know exactly. I understand it’s not finished but you put in UI that doesn’t work so please help us out by being precise. Thanks!

Steinberg with Dorico is doing the same as Apple with Logic, doing a great job but not listening to users needs.
Notes Head editor was less important than Expression Maps
Daniel, why dont you provide a list of futur features so we can vote ?

Dear Cyril,
Do you think that ALL users read this forum on a daily basis? Do you REALLY believe that your needs are the same than other people’s need? If I may, I find your last post quite inappropriate, for Dorico’s team has proven enough that they DO listen to our needs.
I’m no developer myself (but with an engineer level, I think I’m not mistaken), but I’m quite confident that implementing the notehead editor and fulfilling your dreams about expression maps are two very different tasks. No pun intended. But please keep a respectful tone in this forum :wink: