Measured tremolo playback with Expression Maps

Currently, when using duration constraints on Expression Maps, Dorico will not use the appropriate techniques when playing back a measured tremolo.
So if you have a crotchet with two slashes, playback should interpret that as semiquavers. However it seems to be interpreting the crotchet duration.
Is there any workaround that would make this work correctly?

This is not the behavior I am experiencing. The only thing that does not work (and the team knows) is tuplets. But if we’re talking straight 8ths or 16ths, it does play.
[Edit] sorry, I didn’t understand the problem. You want Dorico to change the trigger in the expression map for short notes.

Can you be more specific…are you referring to the length percentage or the note length conditions?

if it’s the note length conditions, I wouldn’t myself expect it to work as a tremolo should not be in such a grouping, assuming here that we’re talking about a sampled tremolo? NoteLength is designed to choose the correct articulation dependent on speed only. But, as @fratveno says, clarify “duration constraints” and I expect we can help.

@dko22 @fratveno Indeed I meant note length conditions (where you can do stuff like “duration >= long”).

ok, so does it work if you take it out of the NoteLength group? If at all unsure, just post the relevant Expression Map and we can see what might be going on. Which sample library are you using by the way?

There a bug with tremelo and playback, maybe this is what you mean?

Lets say I have this:
Screen Shot 2021-05-26 at 13.33.00
And I’ve created these expression map rules:
Screen Shot 2021-05-26 at 13.34.56
Playback results in this:
Screen Shot 2021-05-26 at 13.35.52

As you can see the switch in the expression rule only happens when the written length is a semi.

As far as I can tell, the quarter notes with 2 strokes do produce four 16ths, but Dorico is using the articulation corresponding to the quarternote. In other words, disregarding the strokes/slashes. I guess it would have been preferable, and I assume this is what you expected to see, that Dorico would select the articulation based on the resulting note value… maybe one day :slight_smile:


Indeed, let’s hope they figure out how to make it work. I do understand the logic behind their system.
I also tried adding a rule for “Natural + Tremolo”, but that only works for unmeasured tremolo.

I’m very curious about this case but I don’t understand it. When I try a quarter note with 2 slash tremolo just like you have in your notation, I hear four 16ths notes playing back - without adding any conditions.

Confused as to what you’re trying to do with note length conditions, could you clarify? Thanks.

Yes, I’m testing building expressions for VSL, I own the regular VI instruments (not synchron/ized).
In VSL you can trigger certain samples according to the speed, so if you have a “natural” sound, but played very quickly, you could use a marcato sound, for example.
The problem with using this is that if you have fast notes, but suddenly you have a long one, it will still use the last note length, so you’ll get the short version played back.
If Dorico were able to tell VSL that the notes are all short (in a measured tremolo, for example), I wouldn’t have this issue, as we know the length beforehand, and playback would be swift.
The exact same thing happens when you have a trill (executed by Dorico, not the sampled version). Dorico assigns a Legato technique (which makes sense), but doesn’t use the correct length constraints in the expressions, much like on measured tremolo.

I think the way to solve it is to first create entries in the expression map for the specific techniques you’re trying to map that have the same trigger (note length). Let’s say Tenuto and Staccatissimo.

Note that these are not “Natural” - they have written marks in notation, so you need a way to link the specific notation symbol/icon for each articulation to the specific sample - you need to create that entry in the Expression Map specifically. And then you define the note conditions that are unique for each so Dorico can tell the difference.

I had a somewhat similar case where 3 playing speeds trigger 3 different articulations. In my case, Natural is in the map, but completely blank and is not connected to anything. But legato, detache, spiccato etc - are all connected to their corresponding notation symbols. I don’t have the issue of mixed up note lengths.

It’s important to make the distinction of how measured and unmeasured tremolos work which I didn’t actually do in my last post so apologies for that. Take VSL (I’m using the synchron-ized SE just now but the same will apply for the VI versions), a standard unmeasured tremolo with three slashes will select the sampled tremolo patch so my first post should then apply.

But your question seems mainly about unmeasured. A two or one stroke tremolo does not change the patch per se which will then be selected as appropriate by the “normal” NoteLength condition depending on how you have programmed this. Recreating your little example, a crochet with two slashes is played back as a semiquaver. A crochet with one slash is played back as a quaver. That’s exactly how it’s supposed to be. So you must be doing something different from me!

@dko22 if you use this:
Screen Shot 2021-05-26 at 16.15.11
It’s the same as:
Screen Shot 2021-05-26 at 16.15.58
However on playback you can see the difference between those two bars:
Screen Shot 2021-05-26 at 16.16.34
You can also see that Dorico assigned a “Natural” sound to the tremolo note, and “Natural, note lenght <= medium” to the short notes, event though they should be the same.

1 Like

Here’s what I see when I do not define any note length conditions:


I believe this is the correct behavior, with the correct playback.

So, again I think the problem is with how you approach length conditions. According to the earlier image you posted, you’re telling Dorico to play the same exact “natural” technique in the following 3 situations

  • always (base=natural, any length), but then also
  • on up to medium note lengths (base=natural, up to medium), and also
  • on up to short note lengths (base=natural, up to short)

If you’re trying to trigger specific articulations using note length, you need to define them first and then define the note lengths that trigger only one or only the other. Right now you have 3 conditions applying to the same exact articulation. I wonder if this is the reason for the added dot length…

I used the same example as you did.
I defined these maps:
As you see, there is a technique for each note length group. I’d expect Dorico to trigger some Key switches for every type of note length.
Here is what the playback defines:
As you can see, the first note is interpreted as “very long”. So, Dorico sends 4 quavers and plays 4 quavers, but the “keyswitch” that gets activated will be the one in the “Natural, Very long” technique.
So Dorico ends up playing those 4 notes (for the tremolo), what should be expected to be the correct “articulation”, the one that matches “Very long”? or the one that matches “Medium”?

The technique you’re using is always the same - natural. It even says so in the pop-up you’re showing.


I think what you’re trying to do is this:

  • note length: long → play staccato
  • note length: medium → play marcato
  • note length: short → play tenuto

But what you’re doing instead is this:

  • note length: long → play staccato
  • note length: medium → play staccato
  • note length: short → play staccato

I thought this worked the other way around:
Dorico knows which technique it’s playing, in this case it’s “Natural” since there are no other symbols, so:
if technique = natural & note length = long - send C0 keyswitch
if technique = natural & note length = medium - send C#0 keyswitch

Here keyswitches are arbitrary, they don’t mean anything, and I think that’s the idea: to abstract sounds from techniques.

Maybe I’m not interpreting the way these expression maps work correctly.

As far as I can tell the gist of it is:

  1. Dorico has hardwired support for abbreviations, which can not be influenced by, and has no bearing on, Expression maps, and it works as expected, e.g.:
  2. Dorico’s note length conditions in Expression maps work as expected