Thank you, Laurie, for your advice regarding the different sorts of
transposing. In writing my script, I was mainly thinking of the first sort:
changing key to suit a singer's preferred range. But for the next version,
it's good to be aware of the different needs people may have.

I haven't yet tried John's test case:

http://ecf-guest.mit.edu/~jc/music/abc/Intl/tune/JovanoJovanke_D.abc
http://ecf-guest.mit.edu/~jc/music/abc/Intl/tune/JovanoJovanke_E.abc

I'll have to tweak the handling of key signature modifiers a bit before
transpose.pl will get a good grade on pieces like that. Modifiers are
recognized, but only if preceded by a space. (Are spaces even allowed
according to the standard? I'd better look that one up.)

Also, although the pitch will get transposed correctly in cases where the
original key signature has modifiers, the output uses accidentals rather than
key signature modifiers. Handling of double sharps and double flats is
similarly flawed -- the pitch will be correct, but it won't be notated with a
double sharp or double flat, even if that would be the "correct" way of
representing that pitch in the new key.

I don't think I've ever seen a double accidental in a jazz chart. Then again,
jazz charts tend not to change key signature when the key changes. Is the use
of double accidentals context-dependent, i.e., always in classical music,
never in jazz, etc.? Probably there's no hard and fast rule. Would it make
sense for double accidentals to be an option which the user can select?

At least transpose.pl doesn't render f-sharp as g-flat if the new key has
sharps....

The address again for the Perl source code, in case anyone wants to take it
for a test drive and offer suggestions for how to improve it:

http://tunes.hypermart.net/cgi-bin/transpose_abc.txt

- Matt

Reply via email to