Dear Henrik:
I'm greatly enjoying using abcMus version 2.0, particularly the multi-
voice MIDI file creation. I have a wish-list item which could improve
playback and MIDI file timing of multiple-gracenote sequences as occur
in Highland bagpipe music (my main abc application). This might also be
useful for other abc player and MIDI-rendering programs, so I'll CC
this to abcusers.
As far as I can tell, abcMus begins all gracenote sequences at the
nominal start-time of the note that follows. In other words, they steal
time from the following note. This works well for most short gracenote
groups, but some longer ones, such as taorluaths {GdGe} are definitely
meant to *end* when the following note begins and should steal all
their time from the preceding note.
Other gracenote groups have gracenotes that occur both before and after
the beat. For example in a c-doubling, {gcd}c , one school of the
thought has it that the c gracenote should start at the nominal start
time of the c melody note and the g gracenote should precede the beat,
stealing time from the previous note.
To allow for this, here is my suggestion: abcMus would use a (user
editable) file containing a list of gracenote timing templates. Each
template is simply a abc gracenote expression with a '.' added to show
where the "zero-time" of the embellishment falls. So in the examples
above, the taorluath template would be {GdGe.} and the c-doubling
template would be {g.cd}.
If no match for a given gracenote sequence were found in the template
file, the sequence would simply start on the beat as a default.
Wildcards could be used to cover several gracenote patterns, so {g.*d}
would cover most low-hand doublings. A specific match should over-ride
a wildcard, so if {.gcd} existed, it would trump {g.*d}.
I hope this makes sense! It would be great to hear whether you (or
anyone else) might be interested in implementing something along these
lines.
best wishes,
Ewan Macpherson
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html