Wednesday, October 28, 2015

Fill in the blanks

Given an ABC score and a non-exhaustive set of fingerings, we should be able to determine if the fully annotated score can be inferred, based on the fingerings provided and some set of formalized editorial conventions.

The only conventions that seem apparent to me at present are the "next note, next finger" (NNNF) convention and the "only one way" (OOW) convention. There may also be a simile convention that repeats fingerings for repeated sections of (similarly beamed?) notes in cases when NNNF does not strictly apply.

NNNF seems to have a straightforward linear-time algorithm (for melodies at least), where we move left-to-right through a list of notes n_1, n_2, n_3, .... The first notes will infer their fingerings from the first downstream annotation encountered. Subsequent notes will infer fingerings from themselves (trivially) and from the most recent prior annotation encountered. We keep track of n_i.finger (the controlling annotation) and n_i.offset (the signed difference--as a count of lines and spaces--between n_i and the note with the controlling annotation.) And we simply assert that 1 ≤ n_i.finger + n_i.offset ≤ 5. There may be some subtlety when accidentals are involved.

Dealing with polyphony is another kettle of fish. OOW seems to be in play for chords in The Little Pianist. There may also be standard fingerings (SF) that are assumed for chords.

Chunking into phrases seems very material here. We should look at Radicioni's work in this area. I know he had some things to say about phrases, and this is its own research topic, I believe.

If we can implement something reasonable in this area, we should also be able to auto-fill fingerings in MDC4 (MDC5, anyone?). We could pad with xes in the input field and (optionally) render the complete annotations on the score. Or maybe we need separate input fields for each note or a pop-up for each note as it is clicked for more surgical entry in this mode of input. And do we want to revisit the utility of voice fingering (as opposed to the left-to-right, low-to-high approach currently employed in MDC4) in this new context?

Another application would be to identify "unnecessary" annotations in a score and to learn (infer rules for) when such unnecessary annotations are appropriate (i.e., appreciated by performers). We could try to come up with some sort of model of good editorial practice.

No comments:

Post a Comment