Expression Maps

I’ve tried to make an Expression map for “GIFF” (Garritan Instruments for Finale) Strings. But it doesn’t seem to work very well.

Pizzicato and arco seem to work, but I can’t get any of the others to switch on. Anyway, here it is. Note that most GIFF Strings have only 3 KSes: Normal, Pizz and Tremolo, MIDI Notes 0, 5 and 7 respectively. However Violin Solo KS 3 and Violins 2 KS have 11 switches, including Up and Down bows and Trills.

I’ve cobbled this together from some of the other expression maps made for GPO Strings, though helpfully GPO uses different keys from GIFF. I have checked that the keyswitch key values are correct.

If anyone can work out what’s going wrong, either with my expression map, or with Playing Techniques, or elsewhere, that would be great. (1.81 KB)

You can define extra staves for any instrument in Dorico 2. Even better, if you put some notation (e.g. key switches) on an extra staff and then hide that staff, it has no effect on either vertical or horizontal spacing in page view (though any extra horizontal spacing still shows in galley view), but the hidden stuff still plays back.

You could use that for “written out” ornament playback, etc, as well as key switches. But you can also edit playing techniques and expression maps, so maybe you don’t need to write your keyswitches as notes any more…

Thanks Rob, but I think you missed the first part of the conversation as to why Expression maps are not ideal, I quote:

As for your suggestion on defining extra staves, where would these be? In Setup?


Yes, Setup.

Sorry, but I thought you were asking for an extra staff for keyswitch notes. If you want to control playback that way “manually,” instead of using expression maps, you can - but of course you have then “hard wired” your dorico file to use one specific virtual instrument for playback, which might not be a good idea if you need to collaborate with someone else (or even if you discover a better playback library that uses different keyswitches!)

FWIW I don’t think some of your objections to expression maps are quite correct - if you want ten different versions of “legato” using different playback patches etc in different circumstances, that’s no problem - just define ten different playing techniques pointing to different expression maps, and make all ten of them say “legato” in the score if you like.

Select a note, right click, choose the Staves entry in the menu.

They aren’t in Setup because you can add or remove staves multiple times at different places in the score if you want (for example keyboard parts may have sections that require 3 or 4 staves for the human-readable notation, quite apart from keyswitches).

Yes, that’s kind of the idea in this conversation, a devoted/specialised keyswitch staff (or lane) that then can easily be removed with a click in case you want to either share the file or just want to move to a different library.

Ah! That’s very interesting, I hadn’t thought of it… So a bit like you would do with percussion heads i.e. have lots of different samples being triggered by the same ‘looking’ notation element? That’s certainly a possibility, but sounds incredibly time consuming to set up and then of course memorising what does what. The keyswitch solution is much more straight forward, since it’s a) visual, b) easy to find the right articulation on the MIDI keyboard and c) the fastest method since it would be the same as notating music, so nothing new to learn.

Yes, this is what I already do, it’s a bit of a visual clutter (especially if you have 20+ instruments plus percussion) and at the end I have to duplicate the flow and delete the extra staves to produce the readable score. A devoted keyswitch staff, at least what we’ve been discussing, could easily be hidden when not in view. So say for example you have a bar where you need to switch to a few different articulations:

  • In the current system you right click > Staves > create extra stave below (ossia staves don’t play for me, don’t know if it’s a bug), then change clef, then notate. And then of course you’re left with extra spacing for the rest of the score. And if you have 20+ instruments that is a huge score and very difficult to navigate.

  • The proposal of a keyswitch staff would simply be right click > open keyswitch lane (which give you specialised clefs that go very, very, low or very high), then input the keyswitch and hide in properties (or a little cross in the corner). By default this lane would always play say -10 ticks from the rest of the score and you could always edit it by going to the Play window under the instrument “keyswicth lane”. Easy peasy… :smiley:

The idea is to make Dorico as powerful as a DAW for realistic playback. The workarounds are fine but, these were already possible in other programs. It would also be good to see pitch bend added to the CC control window… Strange omission.

You do not have to duplicate the flow if you use separate staves for keycodes and take advantage of layouts.

Separate staves as in a second instrument?

If you “remove” the extra stave, it disappears from the layout, and the music on it doesn’t mess up the note spacing of anything else, but the music is still there in your project, and it still plays back.

So you can make your keyswitch staff invisible, once you have finished working on it.

You can “add” and “remove” a staff multiple times at different points along the flow, so you can show and hide the keyswitches at any level of granularity you want - not just per flow, or per project.

Ah right! So you mean in the setup page, when I want hide the keyswitch staff, I click on the Flow and then on the right hand side I unclick the layout? So that would have to be a separate instrument controlling the same device right?

I’m doing my own Xmaps for the VSL libraries I have, starting from the Expression Maps supplied by VSL for Cubase. As explained in the course of this thread, I imported them, and am editing some articulations to my need/taste. Editing is quite easy.

There are still a few things I can’t understand, and would like to see if you can help me.

  • Some articulations (for example, Legato) are there twice, with different values (min and max, I would say). I can’t understand if they are meant as separate instances for On Events and Off Events.

  • What are the articulations starting with “pt.” (like “pt.moltoVibrato”) for? They appear usually as duplicate of other articulations.

  • Can I add my own articulation names, for example “sempre più vibrato” or “sempre meno vibrato”?

  • Is some mass-replacement of parameters doable, maybe with a text editor? For example, I’m thinking of replacing all occurrences of CC1 in the various actions with a different controller, and doing it one articulation at a time would be incredibly time-consuming.

I concur with the request of having folders in the list of maps. It will look cleaner.

Thank you!

For an example of mass replacement of parameters see this:

Thank you very much, Dbudde, for pointing to to this solution. That’s very useful!


Again on my questions:

  • Batch-editing is easy to do on the exported .doricolib XML file.

  • I could add my own articulation names, by editing the exported .doricolib XML file. Dorico sometimes fixes it after import, as if it had some hidden names not shown when clicking on the articulation name.
    [EDIT: Some names are supplied to the Expression Maps dialog by the Playing Techniques used in the current project; “pt.” articulations could mean “playing techniques”.]

  • I can’t still explain why so many articulations are in the list more than once, either with the same, or a different name. Is there a guide to understand the meaning of the different name structures? Can duplicated by removed to have a cleaner and more manageable list?



When in troubles, does Dorico automatically recalls the ‘Natural’ articulation, or just an internal default one? One can program ‘Natural’ in the expression map, and choose whichever sound that is needed.

‘Natural’ is a bit of a mistery, for me. If trying to create an universal map, pointing to fix cells in the various presets, which one should be natural? A modern flute and violin usually play vibrato. A modern clarinet and baroque violin play non vibrato. A modern trombone plays, at most, a light vibrato. How to deal with the defaults, in an universal map?

The UACC astutely calls them Generic and Alternative. But Dorico (with its Natural default articulation) and the VSL presets (with a fix sequence of vibrato and non vibrato cells) demand for a choice.

If the Natural articulation in Dorico, or the default articulation in Logic, has to call a default articulation, which one should it do? Go for the most common today (vibrato), and write (and hide) ‘n.v.’ where the alternative one is preferred?

I’m thinking to create a first, default cell in my universal preset map, where each instrument’s preset has the most common articulation. Then, the usually sequence of articulations (vibrato, non vibrato, molto vibrato…) begins, starting from the second one.

Not elegant, but funcional. Is there a better, cleaner and more elegant way to deal with the different defaults?

One of the possible solutions is to place the ‘Natural’ articulation, in my presets, at the very end. A repository for a preferred sound. If Dorico always recalls ‘Natural’ when not knowing what to do, this may be the most elegant solution.


“pt.” does indeed stand for “playing techniques”, and is the prefix used for all of the playback playing techniques you see in the Expression Maps dialog, and assignable to individual playing techniques in Engrave > Playing Techniques.

The idea behind “natural” is simply to specify what sound you want to be the one produced in the absence of any other playing technique or articulation. It’s a matter for you as the person designing the expression map whether you want to use e.g. a vibrato or non vibrato sound as the natural sound.

Daniel, thank you very much. This is much clearer to me, now.

Are the Engrave > Playing Techniques the same you see in the left side pane in Write?

By the way, if I create a new Playback Playing Technique (say, “Sempre meno vibrato”), in the Write > Playing Technique pane I can see, when hovering on the matching “sempre meno vibrato” technique, something like “!-ko-gr-gr”. Is there a way to “clean-up” a little this kind of information, maybe replacing the long strings with something like “pt.user.sempre_meno_vibrato”?


No, there’s no way to change those IDs, but I hope that in the future we will instead show the human-readable string as it appears in the lists of ‘Playback playing techniques’ in both the Expression Maps and the Playing Techniques dialogs.


For your collection of “things to improve with Expression maps”:

  1. I am glad that you recognize that support for multiple MIDI ports is essential. VSL freely allows mixing articulations in a player instance. Other libraries, like Orchestral Tools, separate things into Long and Short patches. You can’t add a pizzicato articulation to the “Long” patch. So, the only option in Dorico is to clutter the score with a Violin Short & Violin Long staff, which is not really desirable.

  2. Being able to see only a single controller lane in Play mode is quite limiting. In Cubase, I often have three or more open to be able to fully control a patch.

The whole thing is cumbersome enough (define a playing technique, define a playback technique, define an expression map and tie them all together) that Dorico will remain a NotePerformer environment for me, and all sample libraries will be accessed in Cubase.

I’m not sure that making articulations = playing techniques is the way to go. You have likely given it way more thought than me. I understand how it works, and it does put everything on the score. But a lot of orchestral library articulations are not separate playing techniques. They are just nuances of how a player would execute something, and would never be printed on a final score. Pizz. is a playing technique, but in Berlin Strings, the Portato Short and Portato Long articulations are just variations on a short/medium note, without legato transitions. I wouldn’t need a marking on the score for them, but I might want the playback to use one or the other to get a better expression on the line or a note. The playback bit really is separate from the score bit, and I think that separating these explicitly is not a bad thing. The score should be about instructions to a human player. The “Play” tab could be just about how to tell the computer to play it back. Cubase does this simply as articulations can change note by note in the piano roll editor. If you haven’t yet, you may want to speak to some media composers who regularly have to produce finished mockups. There is a whole workflow here, with its own pains and frustrations that you’ll no doubt run into as you expand this feature area over time.

I know the list is long. I guess like a lot of people, I would like a notation based DAW capable of full mockup. Cue unicorns and rainbow theme.

Thanks for all you doing. I do like the software a lot and use it daily. NotePerformer is fine for writing, but production has to go to Cubase, which is not the end of the world. It would just be faster to do it in one place.

Hear, hear! I couldn’t agree more… I would also love to be able to separate the play window from the score and put it in a different monitor (a la Cubase) while editing in the play tab. The biggest shortcoming in DAWs for me is that I get lost in piano rolls, especially when working on a single viola for example that’s playing the 6th voice of a harmonisation.