Skip to main content

Topic: TruncateMaestro.hmm and Truncate.hmm (0.2) - plugins to truncate note playing (Read 736 times) previous topic - next topic

TruncateMaestro.hmm and Truncate.hmm (0.2) - plugins to truncate note playing
NWC has some hard-wired rules how long notes are to be played, depending on the note's articulations. I am not always happy with these - e.g., tenuto bars can sometimes indicate "portato" articulation, where notes are played non-legato; marcato is sometimes used to indicate accented short notes, i.e., it implies a staccato; and, last but not least, equal notes immediately following each other often need a bit more of space between them.

The "TruncateMaestro.hmm" and "Truncate.hmm" plugins are a first experiment to create "note truncation rules" which affect the played length of a note. The sole example attached is for an initial part of R. Pearsall's "In dulci jubilo", where I needed a clearer separation of equal notes for rehearsal voices. I will add more examples in the future when I find time to play with this plugin; but maybe someone is interested in it right now.

Technically, the plugin sends MIDI note-offs which can truncate the notes earlier than NWC; but of course, the plugin cannot make the notes play longer than NWC allows. As a plugin can only send MIDI commands in a small vicinity (of 32 quarters - typically some 5 to 10 measures, depending on the time signature), one has to spread "Truncate" objects throughout the score to make all this work ...

H.M.

P.S. I am not sure "Truncate" is a good name; the plugin was called "Cutoff" for some time - if anyone has an idea for a better name, please let me know!
  • Last Edit: 2018-11-01 12:00 pm by hmmueller

Re: TruncateMaestro.hmm and Truncate.hmm (0.1) - plugins to truncate note playing
Reply #1
Thinking aloud:
Quote
the plugin cannot make the notes play longer than NWC allows.
You can put a "tenuto" perfomance style at the start of the staff, so as to have each note at its maximum length and then use your plugin to cut them short at wish.

Quote
one has to spread "Truncate" objects throughout the score to make all this work ...
Even if the plugin class is "StaffSig"? (But I'm sure you know better than me...)

Re: TruncateMaestro.hmm and Truncate.hmm (0.1) - plugins to truncate note playing
Reply #2
In your example "Pearsall_InDulci_1.nwctxt" I can't hear anything.
I suppose it's my synth to blame.
Also the dreaded Microsoft synth doesn't play.

Re: TruncateMaestro.hmm and Truncate.hmm (0.1) - plugins to truncate note playing
Reply #3
Even if the plugin class is "StaffSig"? (But I'm sure you know better than me...)
I posted this rather long-winded explanation a while back (it was actually in response to one of your posts :) ) But @hmmueller's statement is correct; the StaffSig object has to be within a certain distance of its target notes to effect playback at their locations.

Re: TruncateMaestro.hmm and Truncate.hmm (0.1) - plugins to truncate note playing
Reply #4
Quote
I posted this rather long-winded explanation a while back
A-ha! That's why it sounded dejà vu to me.
Sorry, Mike.

Re: TruncateMaestro.hmm and Truncate.hmm (0.2) - plugins to truncate note playin
Reply #5
Version 0.2 now actually considers multiple articulations (up to three, at most); the shortening is the average of all three. The limiting length ("up to-length") for multiple articulations is the shortest one.
I also corrected the example - now it uses the first play back device, as published scores should do.

H.M.

Re: TruncateMaestro.hmm and Truncate.hmm (0.2) - plugins to truncate note playing
Reply #6
Thinking aloud:You can put a "tenuto" perfomance style at the start of the staff, so as to have each note at its maximum length and then use your plugin to cut them short at wish.
Even with tenuto, not all notes will become "full-length". See the attached score, which has all the numbers for NWC's standard note shortenings (and, as bonus, a TruncateMaestro.hmm object which has about the parameters that shorten like NWC itself).

For example, a quarter note - which has a full default length of 192 ticks - is shortened to 73 ticks when provided with a staccato dot, i.e., it is 62% shorter than the full length.
Under performance style tenuto (or legato, which I prefer - but there is no difference in NWC's behavior between the two), the staccato quarter has 92 ticks, i.e., it is still 52% shorter than the full quarter duration.
So my Truncate.hmm machinery cannot create staccato notes longer than 48% of the full note duration.

But yes, adding a tenuto or legato to each staff will at least create longestmost notes that can then be shortened suitably.

H.M.
  • Last Edit: 2018-11-02 09:09 am by hmmueller

Re: TruncateMaestro.hmm and Truncate.hmm (0.2) - plugins to truncate note playing
Reply #7
This is just a side comment, but it seems to me that a nice enhancement to NWC (assuming that development continues) would be a way to override or explicitly set the playback performance settings for the various articulations. One way to do this would be the addition of new properties in the Instrument dialog, along the same lines as the default dynamic velocities that are present there. There could be a series of percentages for the various articulations.

Does this idea make sense?

Re: TruncateMaestro.hmm and Truncate.hmm (0.2) - plugins to truncate note playing
Reply #8
It does make sense - but simple, fixed percentages for articulations are, IMHO, not good enough; that's why, for example, I introduced those "minimal distances", separate for equal and different notes following each other irrespective of proportional length computation; and - but this requires much more configuration parameters - an (at least limited) dependence on performance styles - that's why I added those "Style" selection comboboxes on top.
And even this is not enough, as one could think of even more elaborate computations (my "to ..." parameters: shorten by percentage, but only up to some fixed value).

So, it seems to me that simple fixed percentages are not enough by far - a "note length model" is something more complicated. But providing only a programming interface where the virtuosos can plug in some arbitrary function that computes the note length is certainly not friendly for the average user ... this is the ever-lasting "complex configuration problem", which many programs have - see Excel formulas, editor macros, etc.etc.

Some sort of "2...4-dimensional graphic function editor" might help - but it's certainly not easy to design an intuitive, yet powerful one.

Just my thoughts ...

H.M.