Currently, in Expression Maps, we can add Note Length conditions to trigger different Actions based on the length of the note. The length of the note is a bit vague and I don’t believe it changes based on tempo. Yet, I could have a sample library with a staccatissimo articulation (very short) and a staccato articulation (slightly longer). I’d like to be able to match the absolute duration of a note in milliseconds to map to an articulation.
In that scenario, my piece with staccato notes could be played with the staccatissimo articulation when played at fast tempos and it would play at staccato with slow tempos.
Each articulation in a sample library has a total duration in seconds and it would be nice to match that to the actual absolute note duration (adjusted for tempo) in Dorico.
In some ways it is a bit vague and in other ways not.
They are described in the documentation (which I have reworded here for clarity):
Very short: Any note 0.1875 seconds or shorter
Short: Any note longer than “very short” and no more than 0.375 seconds in length
Medium: Any note longer than “short” and no more than 0.75 seconds in length
Long: Any note longer “medium” and no more than 1.5 seconds in length
Very long: Any note longer than 1.5 seconds in length
These number of seconds correspond with the duration of a dotted sixteenth, dotted eighth, dotted quarter, and dotted half note at 120bpm respectively.
The grouping is quite simple becuase it can be understood as an enumerated type, integers 0-4 of 5 different categories, and each note only has to fall into one category. Limiting things to 5 integers (one of those 5 categories) would minimize processing overhead.
I expect allowing exact durations in note length conditions might have some negative performance impact, as otherwise they probably would have done it from the beginning. I don’t have any inside knowledge of course but I do have some programming experience, and breaking things into categories with enumerated types means you’re doing integer operations instead of floating point, so lower cost.
Am I correct thinking that the absolute duration of the “very short” etc…is dependent on the tempo? So at slower tempos it would be longer than at fast tempos?
I ask because that to me, is really the most important part of this. If I increase the tempo of the piece, then I would like those notated staccatos to play the staccatissimo articulation (because it is even shorter), but at slower tempos, the staccato articulation would be fine.
It would be nice because the sounding length of some of these sample library articulations are the same regardless of the tempo.
It is based on the number of seconds as I indicated. For instance, very short is always going to be any note 0.1875 seconds or shorter regardless of tempo. So a slower tempo will need a smaller note value to be considered “very short” whereas larger note values might be “very short” at higher tempi. For instance, at fast tempi, an eighth note might be considered “very short” while at very slow tempi it might need to be a 32nd note to be considered very short.