lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Contemporary music required feature #1: chromatic transposition


From: Hans Aberg
Subject: Re: Contemporary music required feature #1: chromatic transposition
Date: Tue, 22 Sep 2009 10:53:54 +0200

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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]