|
From: | Hans Aberg |
Subject: | Re: Diatonic/modal transposition function |
Date: | Tue, 30 Dec 2008 09:42:44 +0100 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |