Expression maps by note length (in seconds)


Since sample libraries are “snapshots” of articulations that (without having a major hit on CPU and quality) cannot be modified in terms of length, is it possible to have the expression map system read the duration of a note and calculate it in seconds and apply an appropriate (predefined) expression map to it? For example a note of 1 second for a cello might be more appropriately played portato rather than a sustain patch in most sample libraries. Additionally some libraries have different lengths of short notes, having this option might be helpful there too.

Just thinking in terms of usability, this would be a massive time saver since it would basically be doing what most people naturally correct things to anyway.


There isn’t support for this at present, but adding some controllability in terms of absolute note lengths is something we would like to add.

HALion itself can do something similar (Via scripted presets).
I think Kontakt can as well (Again via scripts).
Note Performer also does this sort of thing (not working in Dorico yet, but maybe someday).
Using a host within a host, like Bidule (Possibly VEP as well?) can also add this sort of thing to pretty much any plugin it hosts.

True VST3 plugins also have an advantage…at least in theory, but even if Dorico sends the duration information in a VST3 event…not every plugin knows how to use that just yet.

So in the short run (until more of the VST3 protocol is widely implemented in the industry), I’m thinking that instead of buffering the MIDI stream for up to a second (major latency) and analyzing it…I’d suggest just using a combination of velocity, key-switches, program changes, or CC events, combined with the ‘tempo’ (most if not all VST3 plugins should be capable of getting this tempo info, assuming Dorico passes it on). That should go along way towards making some automatic decisions on which articulation for a plugin to choose.

My point here, is that currently, the true power in manipulating sounds rests in the plugin itself. If it’s uber important, then it might be a good idea to invest in a high end plugin like Halion 6 or Kontakt, where you can really dig into the sounds themselves.

It’d probably be a quicker path to get a player/library combination with the ability to tweak/build your own presets, and which can detect tempo/velocity/etc. and make decisions based on that information.

Meanwhile, if building some advanced presets in your own Plugins (Something like HALion 6, or Kontakt) isn’t your cup of tea, there are ways to make expression maps that do some degree of auto interpretation.

Here’s a thread that is related to this topic. Where the goal is to build up a kind of sticky technique system that allows one to more easily change the defaults for staccato/tenuto notes in and out of quaver, so you don’t have to go through an entire score and ‘tag’ every note individually for special articulations.

Now that we have Sonic 3 and we users can extend or make content for it using HALion 6, I’m really hoping to contribute some reworked presets for Halion Symphonic Orchestra, along with some pretty smart and easy to use expression maps as examples. Hopefully I’ll have some stuff up here in the forums pretty soon, though it might require users to grab and install the free variant of HALion Sonic 3 SE (not sure yet).

Sorry for repeating myself, but Finale has had this capability for maaaaany years, thanks to the musical genius Robert Piechaud. However, it’s lack of flexibility and user adaptability should really inspire continued development along these paths…