Expression Map Dynamics

I’m working on an expression map for NI’s Solo Brass Essentials, which has different articulations for loud/soft notes. I’ve been trying for a while to get the dynamic level to trigger the proper CC message to switch articulations based on the dynamic range, but to no avail. It doesn’t appear that the “p”, “mp”, “mf”, etc. playing techniques work normally.

It’s surprising to me that there’s a whole “Conditions” field that only deals with note length. Why can’t I have conditions trigger certain CC signals or keyswitches if the dynamic is above or below a certain level?

there is currently nothing in the Expression Maps to support articulation switching by dynamics but you can rest assured that this is something which was raised years ago, in fact almost as soon as the EM’s reached maturity with Dorico 3.5. Since then, Dorico priorities for various reasons have tended to be elsewhere but I’m sure this is indeed something which will come in due course and, like yourself, I’d greatly welcome it. The other main thing currently missing in EM’s in my view is the scope for user defined boundaries between the various note lengths as relative tempi in works naturally varies considerably and the current hard coded boundaries are not always ideal.

Thanks for the info. Expression maps have so much promise, I hope they continue to improve.

I’m sure they will. There have been one or two recent useful developments but I suspect the area of conditions is one that the developers will be revisiting before too long as I can remember from earlier discussions that precisely the area of dynamics automation is one in which they would implement when conditions allow.

+1 for further score translation abilities.

In the meanwhile…
For those who cannot wait, there are third party options.

I’ve been inventing interesting score translation abilities since Dorico 1 with a little help from Bidule. Using existing, and adding a few ‘custom’ playing techniques in Dorico, and one can get quite creative.

Dorico hosts bidule, and then inside this I can host whatever plugin(s) I like. Bidule has all sorts of tools to intercept MIDI and VST events and manipulate them in real time. You can also chain in other effects, or even build your own onto the audio outputs of instruments (I.E. build an LFO for some plugin/instrument that doesn’t have it natively). Ever wanted to do something like: from a single stave/track, use an arco violin sound from NI, staccato from HALion, and portato from Vienna? Well with something like bidule you can :slight_smile:

(Screen shot of a bidule instance made for Dorico 1, well before it could channel bounce. It translates keyswitches that Dorico 1 could send, into channel bounces among different ARIA instances. It also fixes a problem with legato/slur pedaling implementation that to this day Dorico still cannot do quite right [slurred phrases get played backwards of how they are written]. It effectively merges 5 separate instances of Garritan ARIA into one, delays the legato pedal event, and builds in a more complicated shared effect chain that Dorico at version 1 could not yet accomplish).

So far, Dorico still doesn’t give up to the second tempo information to plugins, but it will at least set it at the beginning of the flow.

ASIO sample count is provided by Dorico properly/consistently to VST2 plugins (hopefully Dorico will fix it for VST3 soon), so it’s possible in bidule to snoop it and do math on that, and keep things in sync (even play audio files that stay in sync with Dorico’s transport).

Until Dorico is keeping the tempo parameter up to date for plugins, it’s currently possible to route the Dorico click track into bidule to make score interpretation a tiny bit smarter further down the chain. I.E. change instruments/libraries automatically based on tempo. You could have entire sound sets attuned better to different tempos. I sometimes use this technique to swap between different short bow setups with strings. I.E. measure delta on the click track, if it gets low enough, swap to a lighter/bouncier set of string sounds.

So, as an example for changing dynamic layers for a given sample library…

You could have a bidule group that monitors note velocity, or a particular cc, or even both, and either triggers a keyswitch, channel bounces, or even reroutes MIDI to an entirely different plugin/instance.

It’s pretty interesting stuff. I can’t even scratch the surface of what all a tool like bidule can offer. Diagnostics, sound design, remote control, and more.

Aside from getting fancy and doing sound design, I also know I get a good ‘bridge’ to continue using VST2 and others on the dreaded and promised day that Steinberg pulls VST2 support for all their hosts. It’s also nice to be able to quickly/easily pull entire instrument setups that are identical into all of my Hosts (Cubase, Finale, Sibelius, etc)

2 Likes