On 22 Sep 2009, at 01:09, Joseph Wakeling wrote:

Currently Lilypond's transposition is tonal only, with the 'smart
transpose' snippet providing a Scheme function to minimise accidental
use.  Unfortunately this function is incompatible with quarter-tone
notation.

Discussing with Graham Breed, I got the impression that LilyPond does it correctly, only that it insists on substituted values for the intervals.

When transposing, roughly, one transposes intervals and scale degrees separately. The scale degrees may be identified with the pitch values of the staff.

Then, on top of that, one may impose enharmonic equivalents with respect to some tuning system. (E12 is a favorite.)

The attached snippet shows the problem.  A quarter-tone
chromatic scale is displayed, first untransposed; then untransposed and run through the naturalizeMusic function; then transposed a quarter- tone up; then transposed up and run through naturalizeMusic; and finally, run
through naturalizeMusic and then transposed.

So here you transpose a quarter-tone and a scale degree zero. All note heads should remain in the same position in the staff; only accidentals change.

What you see is that

(i) without naturalizeMusic, transposition fails: transposition alone
      leaves the final pitch being 'g+5/4' which has no accidental

I think is just a bug. Somehow the sharp drops out.

  (ii) naturalizeMusic saves the transposition, but alters accidentals
       which don't need to be altered -- e.g. g-3/4 is transformed to
       f+1/4.

Here, the most obvious thing for a machine to do, is to merely impose E12 enharmonic equivalents in order to minimize the number of accidentals. So the problem is to figure out a rule for the changes.

  Hans




_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to