Phil Taylor writes:
| There is a small ambiguity which affects both global accidentals
| and accidentals added to the key signature. In conventional notation,
| sharps and flats in the key signature apply automatically to all
| octaves, whereas true accidentals written before a note in the tune
| apply only to that note (and any others of the same pitch for the
| duration of that bar*). Notes of the same name, but in different
| octaves are unaffected. Clearly, if the proposal is to deal with
| exotic scales which differ between octaves, we need the extra
| accidentals which are added to the keysig to operate like true
| accidentals, leaving notes of the same name but in different octaves
| unaffected, rather than like the normal components of the keysig.
Well, I'd argue that conventional staff notation doesn't actually
deal with this issue at all, and neither should ABC. For music
formatters like abc2mtex and abc2ps, it's a non-issue, because they
don't produce pitches. They only need to draw the key signature, and
the interpretation is up to the reader. If different gangs of
musicians want to use different rules, fine. This doesn't affect the
notation at all.
However, unlike printed music, ABC is also fed to players such as
abc2midi. These programs do produce pitches, and they need to know
how to interpret the key signature. The obvious approach is to give
the user an option or menu or bunch of checkboxes and let the user
decide. The default should probably be the usual interpretation of
applying the keysig accidentals to all octaves. Or maybe this should
be the default unless the key signature contains explicit accidentals
on the same note in different octaves, in which case it gets more
complicated.
| Or perhaps the rule should be that an accidental in the keysig
| operates on notes of all octaves unless cancelled by a subsequent
| accidental, and only the second accidental is specific to one octave?
Maybe ABC's rule should be "It's Someone Else's Problem". ;-)
A friend just discovered an interesting bug/feature in abc2midi: He
had a tune in K:G, and in one bar there was an F harmonized by "F".
What came out the speaker was F natural, both in the melody and the
chord, although he hadn't written =F for the note.
He thought this was a bug, because he had been using the midi version
to proof the ABC, and since it sounded right, he didn't spot the
missing '='. I pointed it out to him, which led him to investigate.
We verified that this only affects the root of the chord. It gave the
"F" chord the correct interpretation of an F major chord, and then
modified the melody F (which should have been ^F) to match the
chord's root. But a test with "A7" for the chord and a c in the
melody didn't modify the c to ^c.
It's a somewhat related topic, in that the software is doing an
"intelligent" job of noticing the transient accidental implied by the
chord, and applying it to the melody even though not written in the
ABC. Interesting ...
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html