Expression Maps

I have created my own expression maps and playing techniques for several of the EWSL Silk sound library instruments. I figured out how to “Export Library” for the expression maps (by selecting all of the maps and pressing the “Export Library” button). But I can’t figure out how to save/export the playing techniques I have created. Of course I need the notation that triggers the playing techniques to be exported and imported to any new scores. Please advise how to do this. I notice a “Save as Default” button at the bottom of any single playing technique that I edit, but I don’t know what that will do. Thanks. John O

At the moment there’s no way to export the playing techniques you have created, but if you select each of them in turn and do ‘Save as Default’, this will save them into your user library file, which means that every new project you start thereafter will automatically include those playing techniques.

Thanks Daniel! I tread very cautiously when learning new software, having tended in the past to start creating workarounds too early, and then later discovering that there was actually something already built-in that I had missed.

I 'migh’t be able to help you with the URI…it worked with Sibelius anyway…

I am on Windows, and the Garritan Personal Orchestra 5 library is installed at “%SYSTEMDRIVE%\Program Files\Garritan\Personal Orchestra 5”

Once I get this deep, I’ve decided I want to use the notation variants, so I will go into the “.\Banks\Notation” directory from here.

Using my favorite xml (or text) editor, I’ll open “Personal Orchestra”

Be careful, you don’t want to overwrite this file, as tampering with this particular file may be one of the ways that one can break the ‘registration’ for the library.

Look at the bank file though…see the paths for the tags? Maybe this is the information that needs to be passed to ARIA to get it to load instruments?

At least that’s what I used to get Sibelius to auto-load GPO5 stuff. Sibelius also needed a ‘bank’ number…not sure why, but an entry in the soundworld file looks something like this:

<Patch Name="Piccolo Solo Flutter" IsMultipleNoteSample="true">
            <AriaPatch Instrument="Notation/01 Woodwinds/01 Flutes/n-Piccolo Solo Flutter" BankID="2013"/>

Note the entry…

Maybe this path is what you need?

Thanks, Brian. It’s certainly somewhere to start. I’ll look through it all when I have a minute…

That is all very reasonable. I just want to say that I recently picked up NotePerformer and I’m blown away by it. I will be using that almost exclusively for my work with Dorico. If a certain project needs to get mocked up more elaborately with VSL or whatever, I will export it to my DAW and work on it there outside of the notational domain. I understand that Dorico has its own goals, as it should, but hopefully NotePerformer and Dorico will be able to synergistically come together to resolve the couple of issues the exist to make the experience seamless. Right now, Finale is even less seamless then Dorico, but Sibelius apparently has the best integration with it for whatever the reason. NotePerformer might be the perfect orchestral sound source for working with a notational product to hear the results as notated. For my own workflow, I will be using NotePerformer through most phases of composition. However, for final mockup to distribute, if needed, I will export project to DAW and use VSL or other libraries, with all the tools in the DAW to craft the best mockup I can.

The simple truth is that articulation handling is right now a very moving target. All of the DAW’s handle it differently, some don’t handle it at all. The various sample libraries all handle things differently, in some cases substantially so. There are some interesting challenges to deal with when you start digging into it, and it gets even more complicated once you start combining different sample libraries in one project. People need to be realistic about an expectation that they will be able to get NotePerformer-like automatic articulation handling with all the different sample libraries out there, at least not any time soon. NotePerformer is simple the best alternative at the moment for automatic score reproduction without having to fiddle around with articulation management.

The best two DAW’s for handling sample lib articulations are Cubase and Logic. Cubase has expression maps, and Logic has articulation id, plus a javascript engine that can be used to do almost anything you want. I’m not a cubase user so I can’t really comment about expression maps, but generally my understanding is that there are pros and cons to both approaches. In any case, having followed this topic for some time, I can tell you that there are plenty of users that run into complicated problems to solve inside both DAW’s when it comes to articulation management, particularly when multiple sample libraries are used in combination. In short… its a moving target and its not even close to standardized. Babylon waves is trying to come up with a subset of standard input key switches to use that map to myriad of output key switches for any given library…and sometimes its not trivial to do that, depending on the sample library, in some cases Babylon waves can’t really accommodate all of the flexibility built into many sample libraries, due to limitations in the DAW’s themselves more then anything, and the desire to have a common front end, which is a lowest common denominator.

I think it would be good if Dorico at least duplicated the functionality entirely of Cubase expression maps. Articulation handling will evolve in Cubase and Dorico along with it, but people need to realize, that there is a lot of fiddling often, even with expression maps. If you need a top quality mock up, then that is worth doing. If you just need quick and easy score playback that sounds something close to what you intend, then NotePerformer with Dorico is, IMHO, the way to go for the foreseeable future. Notion also has done a pretty decent job with this, but not as good as NotePerformer and Notion is not that greatest notational program either.

Thanks for your thoughts on this, Dewdman42. It is certainly our intention to beef up the handling of articulations, to complete the missing bits of support for the Cubase expression map format, and then to go beyond that to try to make it richer and more expressive. But it will take a bit of time! We also have ideas about how to expand the playback template mechanism to make it possible for vendors like Arne to selectively enable and disable some aspects of Dorico’s playback to better suit the specific needs of their instruments. NotePerformer is a remarkable bit of kit and we are committed to supporting it as fully as it is practical for us to do so.

The main problem for me right now, is the ‘temporary’ fix of having to put in a ‘Nat.’ playing technique before another custom playing technique, in order for it to key-switch properly. This is compounded by the fact that playing techniques seem to snap to notes, so you cannot place a ‘nat.’ playing technique in a random spot at the end of a bar (after the last note of that bar, for example) so as to switch an articulation quickly before the next note, and avoiding therefore, the triggering of the articulation associated with that ‘nat’ key-switch.

Is this something that can be fixed in the short term, without having to wait for the full expression map implementation, as hinted at by Daniel above, or is it a major development/programming hurdle that will only come as part of the full monty of sample library and expression map routing?

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.