Track delay

If I remember correctly every articulation used on a Dorico staff will appear on their dedicated track in the Midi view. Will it be possible to specify a Track delay for individual tracks, like in Cubase? Several legato patches in high profile libraries require a timing offset in order to play “in time”…

I imagine we might handle this not as a delay for the whole track, but rather as part of the definition of the playing technique that gives rise to that track, e.g. you would specify that for the “legato” playing technique for a violin, or whatever, it should switch to using this particular patch or keyswitch within a patch, and specify that all notes should play some specified amount early.

Sounds great, & probably an even better solution!

This is awesome news, Daniel! Especially the per-technique settings. This issue has been a nuisance in the notation/VST interface for a very long time.

Question: Is there any provision in VST3 to allow hosts to inform the VSTi about MIDI events that will happen in the future? Such features would be extremely useful for choral libraries that “sing” Latin, etc., as the library needs to know where to put the consonants (for example) at the start of syllables, but (as you well know) for vocal music the notated note onset defines the vowel placement & the consonants (which might be of variable length) need to happen before the MIDI note on.

Handling this kind of thing via Lua scripting would also be a very reasonable alternative, if it would be possible for a Lua script to pre-process the score and add to the MIDI data (hopefully in a way that is tagged, so that such processing can easily be removed/redone without much effort). Such scripts would also be very useful for tunings, such as implementing something akin to Hermode tuning. Those are some scripts I’d love to write!

Hi Daniel

Is this feature ready in v3.5?

No, this isn’t yet implemented, but it remains in our plans.

1 Like

Great, Thank You.

Great that you’ll take the delay to the playing technique level.

Will you also consider in the design of that feature that some libraries (Cinematic Studio Series, Sample Modeling, Audio Modeling) have very different delays in their legato-patches when using different velocities? For instance, in CSS, a legato transition with a velocity value below 64 will have a delay of 333ms while a legato transition with a velocity value above 101 will have a delay of 100ms.

1 Like

That’s interesting to know, thanks.

1 Like

Yes, thanks for mentioning this!! CSS is a wonderful library, but this is one feature that renders it basically unusable in a notation program.

What @DonCajon says it correct and it’s clearly documented --however using the “advanced” with slow trill is not really advised by the developers and I can only find a fairly small number of situations where it definitely seems justifiable. Rather I would say that liberal use of hairpins is the best way to get really expressive playing out of these superb libraries – they have a decent number of dynamic layers.

In addition, the woodwinds already have and other sections will fairly soon receive a “low latency” update where the delays are only 70 or 90ms. So far, I find the expressivity in this mode all but indistinguishable from the “expressive” mode and if this becomes the case across all sections then we really won’t have a delay issue worth mentioning any more.

I simply can’t agree with @DanKreider 's conclusion that the library is basically unusable. Even if there are a few sections where you may want a large delay, you simply adjust the offset in the playback window or note properties. I don’t find such passages are particularly numerous and are usually caused when music for different instruments are moving at different speeds relative to each other.

There actually exists a script that corrects these delays for CSS:

http://alexjevincent.co.uk/css-control-panel/

If dorico expression maps had a parameter for ”previous note length” and that parameter would also return ”0” for rest, it would be possible to build a working solution inside dorico expression maps with playback start offsets (in ms).

I’ve mentioned this script a number of times and always advise folk to check it out. It’s not without its issues though, as a number of posts on VIControl can testify. For me the biggest one is stuck notes in certain fast passages (as well as question marks over correct playback of the two marcato articulations) so I have abandoned it for the time being. It’s not impossible, though, that a “previous note length” parameter in Dorico could help here.

The other important point is that the libraries are being updated with a new “low latency” mode already in the woodwind and some other improvements. This will reduce the latency to between 70 and 90ms and to a great extent eliminate the problem.