Expression Maps

I posted a version in this thread in July of last year.

It contains more than just the strings maps. Also, the strings expression maps will work with any of the VSL string libraries except for Dimension Strings.

Thanks for this dbudde, I really appreciate you making that available.

I have imported the expression maps and hooked everything up right I think, but I am having a bit of trouble getting dorico to switch the VSL patches properly, for example, legato is not getting activated by slurs, and pizzicato doesn’t change back once a new articulation is expressed

Is there something I still need to set up? I have imported the Cubase expression maps presets in to the VSL player. Are those the ones which match up to your Dorico expression maps?

The problem seems to be with non special-edition libraries, as those seemed to switch fine. Its the full libraries such as Apassionata Strings I standard that I am having an issue with.

You need to use the presets that VSL provides for each library that are located in your VSL Custom Data folder. So for instance, with the Appassionata extended library, for AS violins, you would use this preset:
VSL Custom Data/Expression maps/VSL_Str._Expressionmaps_v/Strings VI-Presets VST-Expression/Appassionata Strings/AS I+II - extended/AS_Violins_L2+II.fxp.

I have not had problems with Legato using these presets and the Doricolib file I posted.

For pizz. and nat. you may need to add some nat. techniques in judicious places. This is because exclusion rules don’t yet work in Dorico. Also, if you are using VE Pro, there was a bug that articulations on the first note of flow did not get recognized all the time. I think this has been fixed, but since I have worked around this bug, I am not certain this is the case.

Ah brilliant, that has got it, it was the use of ‘Nat.’ that I was missing, and that has solved it.

Thank you very much for making those expression maps dbudde, I really appreciate it and it has saved me a lot of time

Hi there

Does anybody have an expression map for Vienna Synchronised Appassionata Strings? I am guessing this would be the same as any of the other synchronised products in the Vienna range



I’ve done some simple work on the Spitfire strings, which might be a good starting place for a lot of people.
Spitfire Symphonic and Chamber (2.33 KB)
It’s rough still, and not fully tested, but I thought it might work to get people going.

This attachment includes Expression maps for both the basic Symphonic and Chamber strings, and Extended Core techniques for the Symphonic strings.

I know not everything is implemented yet, but here are some thoughts, comments to be aware of:

These are using the default settings. If you have your short notes mapped to cc1 instead of velocity for dynamics, you will need to go in and change the expression map to use the controller.

On the Chamber strings, if you want to use the legato keyswitch instead of the long, you should change natural to keyswitch 0.

On all of the bass sounds in Symphonic strings, there is no con sordino, so it is mapped to flautando.

A lot of possible sounds have not been used yet, because I don’t see a way to do the following things:

  1. Doubled expressions - e.g. con sordino staccato
  2. Alternative Short notes
  3. Trills (due to not being able to pick between major and minor 2nd trills) - (I do see this is possible in some of the default sounds… so there must be someway to make this happen…)
  4. Vibrato controls on a cc controller - The vibrato in Spitfire uses CC21 on a continuous crossfade… I don’t see a way to implement something like this (other than just program it in) – Same could be true for using expression cc11 to control volume, since dynamics are mapped to cc1.

    Just one question… what are the exclusion groups? I know they aren’t working, but I don’t understand what the plan is for them.

The idea behind exclusion groups is that they allow you to specify which other playing techniques must be removed when another is added: at its simplest, “pizz.” removes “arco” and vice versa, or “mute” removes “open” and vice versa, but it gets a lot more complicated when you consider that e.g. “col legno” needs to remove “pizz.” which needs to remove “snap pizz.” which needs to remove “left-hand pizz.” which needs to remove “sul pont.” which needs to remove…

Hi Daniel and others,

Re: Programming a Con Sordino effect in the Chris Hein Solo Strings

I have put together an experimental expression map for Chris Hein Solo Strings Extended. Its based on the Cubase Expression Map which comes with the Library but I have extensively modified it to be more comprehensive of the many string techniques and to match it to the techniques that already exist in Dorico. I can say that its a great library if strings are important to you and you want use them all the various possibilities of these instruments. There are many types of short and spiccato/jeté/sautillé sounds and you can program a change in a sound in context by simply altering the attack on the note head using MIDI CC. As well there are many other effects even including a jazz doit and fall. Nice!

However I do not understand what I would to program in the con sordino function of this library. The CH solo strings uses an audio filter instead of samples to create the Con Sordino string mutes (as others have done), which is smart programming and saves a lot of sampling space. It uses CC 48 for Sordino on/off which I presume is a MIDI value of 127 for on and 1 for off. Dorico is using a mute glyph/symbol (looks a bit like an M) instead of the words “Con Sordino” or “Senza Sordino.”

My problem is that I am still not clear on how all this works. I want to program this effect using a CC controller and a value. However there is no sordino glyph to select or match to in the Techniques dialogue box on the Expression Maps page. That also means there is no Technique to select in the Techniques symbol dialogue page. How do I deal with this? Also is it possible to have all the other features of the sound library work along with the Sordino or is there some sort of exclusion principal at work? (Arne Wallander complained about a shortcoming such as this in his introduction to the NotePerformer for Dorico.) There are a lot techniques that you can map to keyswitches in the Chris Hein Solo Strings (and many keyswitches available too) and it would be great if I could just make them all sound as Con Sordino just by putting on the Sordino filter. Its effectively what happens on the instrument too.

I also just wanted to confirm whether basic legato works in Dorico or if notes just always default to 75% of their note value. I have had contradictory information about this.

Can anyone write down in plain English what the technique “Natural” is all about and how it has to be used or can refer me to where it is fully explained in one place? Is is just a stand-in for the basic Arco technique but which can one apply to any instrument?

Warmest regards

Paul Nicholls

HI Daniel,

I deeply respect what has transpired with the development of the Dorico music notation and performance software over the past two years or so. So many great advances! However, I wrote a post with a request a while ago in regards to the need for more documentation on Expression maps. You said in reply that there was no such document ready or one planned at this time and that the Expression maps feature set was not complete yet. You added some explanations on the forum about a few of these matters (which were appreciated) but some of it was a bit confusing for me or presumed some prior knowledge I did not have.

Would it not save time to write a document that clears up some of the more important questions rather than you having to read and reply to all of this stuff on the forum which is also itself partly generated in the first place by the lack of fuller documentation?


Hello Daniel,

Re: Incomplete programming of Performance and Expression Maps Features in Dorico

I would like to express that it seems to me a bit pointless to add features to the Dorico that presume in the first place that the performance and expression maps features work properly, especially when I am increasingly getting the impression that they don’t. Myself and a colleague would really like to use Dorico to score to film. You have added that feature in a pretty comprehensive way to the program. Yet the performance aspect of Dorico needs to be at a critically high level in order to make use of what could be an excellent new video scoring capability. You have even added professional audio output features such as recording to stems. That is not available on Sibelius. Its impressive that you thought of doing this. And you are about to add transcription of real time keyboard playing. Yet you have admitted that the performance aspects of Dorico are incomplete right now. Why not fix this critical aspect of the program first before adding new features that entirely depend on this key aspect of the program?

I admit that I can not possibly understand the complexities of what you are doing so there may be a deeper programming reason for why you are not completing this area at this time. However, I want to just tell you that it is the performance aspect of Dorico that keeps me from switching fully from Sibelius and fully recommending your program to others at this stage. There are complex reasons for this on my part and I am using Dorico for some publishing and part printing - but I can’t ditch Sibelius yet although I really want to. Working with both programs in frustrating partly because I want to make the switch and fully learn all the many lovely streets and alleyways of your product.

However, if NotePerformer could just sound as good in Dorico as it does in Sibelius that would be all I would need right now. Unfortunately my music sounds choppy in the Dorico version and I think I know why. Arne’s critiques make sense to me and truly I do not fully understand some of your response to them. I am hoping this is all a very temporary situation but your recent replies to similar questions and requests on this part of the forum leaves me feeling discouraged.

I hope I am mistaken in what I assert here and would warmly welcome being corrected in these matters.


Paul Nicholls

I’m increasingly under the impression that a specialised “keyswitch” ossia staff would be the best way to work in Dorico in the future, something that you could quickly open with a shortcut, that doesn’t get printed, that you can quickly hide again so it doesn’t interfere with layout and with dedicated clefs that go really low or really high. That, in combination with the already available MIDI CC drawing and the upcoming keyboard transcription would make Dorico as powerful as any DAW for quality Playback.

The reason being notation will never represent a players’ instinct, no matter how sophisticated the program is. For example,

  1. a staccato keyswitch is inappropriate at very fast tempos or slow ones, a real player will play staccatissimo on fast tempo, despite the score having staccato markings and simply cut the note short on a slow tempo (what VSL calls portato), in other words it’s completely tempo dependant.

2.- what we call sustain, most woodwinds will tongue, very delicately, on reasonable passages, but on very fast passages they will always play legato unless you specifically ask for double/triple tonguing.

3.- Legato in real life begins on the second note of a phrase, but it’s notated from the first

4.- SFZ, fp, etc. all need tempo and dynamic context, a one-dimensional keyswitch simply doesn’t cut it.

Most of the necessary tools are already in Dorico (for example the ossia has a Playback start offset, perfect for keyswitches!) It’s just missing this specialised staff that hides and has special cleffs.

I use to work like this in Sibelius when I needed a good playback demo and aside from the extra staves and the lack of proper CC control it was actually quite effective.

Bollen, I agree with your point. Since the intent here is for playback and not printed score, I’d think the team would rather expand the functionality of the current PT rows in Play mode. That would maintain the distinction between what is to be printed and what is to be played, which is the advantage of modes.

For the time being, I would suggest assigning an additional staff exclusively for Key Codes. You can assign the second staff to the same MIDI channel for playback and omit the staff in the conductor layout.

Derrek, are you saying identical parts in both, mute the first “written” staff, and write in the extra desired playback articulations on the second staff?

I’m saying notes on “Flute” staff and “Key Code” (ultra-Bass) “notes” on the “Flute KeyCodes” staff. IMO That makes as much sense as creating an ossia staff for them and avoids any possible restrictions/complications using an ossia might occasion.

Nice idea, but where do you write it in? In its own layout?

Bollen: sure. That’s the beauty of layouts. Super-easy to make a new one as needed.

I do this often for things like making a performing edition from an urtext. Copy the parts from one to another, and add stuff as needed. And the “both flutes” Layout is never printed or viewed beyond that.

Aha! So you would basically create an extra layout that contains just the instrument and its “key code” staff and you toggle to it when you need to make a change?

Yes. For a simultaneous urtext and performing edition, I make a layout called “flute master” or whatever, and use it for comparison purposes only. Easy way for me to quickly compare the difference between the two.

So for more accurate playback, your “playback score” would have your “playback” instrument parts, and your “print score” has your visually correct parts.

Hmmm… I’m not sure I’m following… So you have 3 staves then? 1 written part, 1 playback and one keyswitches?