On 30 Dec 2008, at 03:08, Graham Breed wrote:
Right, that's how it looked to me. If it doesn't assume equal
temperament it should work generally. But I haven't tested it.
Note that I discovered it is possible to get more than 7 scale steps
to the octave (see the development list). So this would probably
generalize accordingly. But I don't know if anybody's ever going to
make the (AFAIK global) change of scale size and then want to do modal
transpositions. If they do they can hack your code.
I think one in general just add a degree-pitch, but the amount depends
on the scale degree of the pitch itself. So it should generalize to
microtones and arbitrary scale degrees, but also to other diatonic
permutations (inversions, etc). A more formal description:
LilyPond uses essentially (if I have understood Graham right) pairs in
the set Z x Q, where the first integer is the scale degree, and the
second the (logarithmic) pitch. Then choose a transition function f: Z
-> Z x Q; if the process should be invertible, the restriction Z -> Z
should be invertible. Then any p in Z x Q is mapped onto p + f(d(p)),
where d(p) is the scale degree of p.
It might be good to have such a general function, since various pitch
permutations are used by composers.
Hans
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user