Automatic tempo-sensitive articulation switching

Hello Everyone!

As I was setting up my Expression map for East West Symphonic Orchestra, I realized that in the Conditions I can only add a condition based on note length.

There are some patches that are designated fast for faster pieces, and it would be nice if there was a Conditional statement to allow for using a specific switch based on bpm or tempo markings.

I think you might misunderstand. The note length used in the condition is in seconds, so the tempo already has an impact. The same written note value is going to be a different number of seconds long at two different tempi, and so they might fall into different note length categories.

Thank you for your response @mducharme. While I do know that the note length based on tempo does change over all that was not what I am aiming for. Certain patches and/or samples that I have are designed to be played at specific tempos to sound better regardless of the note length and timing itself.
For example, if I have two samples where one is recorded at 120 bpm, and another is recorded at 92 bpm. I only want those samples to be selected when the tempo reaches that point regardless of the notes timing duration. I hope that I am explaining my idea clearly.
I look forward to hearing more responses. Thank you!

Which would you want to be chosen if your actual tempo were 108 bpm? (edit: or 93 bpm, or 119 bpm)

But if it is a single note, with a single attack and sustain, you aren’t going to hear the original tempo. You would only hear the difference if it was not just a single note but a pattern of some kind that was recorded, as the pattern would impose a pulse. So, what type of sample/patch are you talking about here?

I realize I had a poor example after reading back on my past posts. So, a better real-world example is as follows:
I am setting up an expression map on East West Hollywood Strings Opus. In the Master KS patch, there is the measured tremolo keyswitch. According to the East West manual I should keep this patch due to its time sync feature to +/- the original tempo of the recording which is 145 Bpm. So, what I want to do in my expression map is set a condition for this key switch to only activate when the tempo is within +/- 10 of the samples speed. Otherwise at other speeds I will use one of the other patches that I deem sounds better. Currently the Conditions section of the Keyswitchs only allows me to base this on note length which will not work for this current scenario. Please let me know if this explanation is a bit clearer and I am sorry for the previous confusion.

The best way of doing this is to create hidden playing techniques with the various speeds, and have them associated with playback techniques for those different variants (tempi), and then manually select the one you want by adding that playing technique to that point in the score instead of expecting them to be selected automatically. You would need to do it this way in a DAW too, so it is really no different.

There are some serious performance limitations as every time you add a note to a score, Dorico has to read the expression map to determine what to do in this case. At least in older versions, with people on really old/weak computers, they often had to change playback templates to “Silence” to increase Dorico performance to satisfactory levels for really big scores. So even though we might want a whole ton of additional conditions added, they have to be careful as to not add a condition that will make working in Dorico much too slow. I believe that’s the main reason we don’t have a ton of conditions available in the list at the moment, and instead we have these rather straightforward but imprecise categories for note length (very long, long, medium, short, very short), presumably because they fit nicely into an enumerated type as integers and are faster for processing over a large score. After all, it’s no good if it has all these features if it makes it too slow to be usable.

An even better approach would be if EastWest could create a way to allow selection between these various patches in a tempo-based way in the Opus sampler itself (a sort of “tempo switching”). It should be relatively easy for them to build that support into Opus, without incurring the performance penalty that Dorico would have with a similar task.

I can understand that. I have only been using Dorico 5 for around a year and have not reach a massive score yet. I do agree it would be nice if EastWest would have their temposync features better set up with their patches in Opus. Grant it, Opus is light years ahead of the Play engine but, it does still leave room for improvement.

I did not even think of Dorico having that type of performance limitation. I just rightfully assumed that all of my performance bottle necks were in the Opus plugin. Thank you for your thoughtful response.

Yeah it is a different type of performance bottleneck though. Bottlenecks in Opus would be felt when hitting the play button in Dorico or the DAW and hearing the playback - if your system isn’t powerful enough, you get dropouts, pops/clicks, etc. In Dorico, bottlenecks related to the expression map would be mostly felt when adding or changing notes, techniques, articulations, etc, and not really during playback. Every time you add or change a note, Dorico has to look at the expression map and see which technique or techniques apply and which conditions apply to that note so it can write the controller data and keyswitches for that note. That happens as you are adding/editing the score, so the more complicated it is, the slower you notice note entry to be, and the more of a slog it becomes just adding the notes to the page.

What people with older or slower computers used to find is that when they had really big scores, they would go to add a note and it would take a few seconds for it to appear instead of appearing right away, and some of them found they had to switch to “Silence” to improve performance to satisfactory levels. There have likely been some performance tweaks made to newer versions of Dorico however, and also people have most likely upgraded their older computers since then. But the Dorico developers really have to keep a close eye on how the expression map functionality impacts editing performance.