[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lilypond's internal pitch representation and microtonal notation
From: |
Hans Aberg |
Subject: |
Re: Lilypond's internal pitch representation and microtonal notation |
Date: |
Tue, 21 Sep 2010 14:16:32 +0200 |
On 21 Sep 2010, at 11:46, Joseph Wakeling wrote:
A sharp is M-m and a flat m-M.
If I understand right, this is a key "trick" of your system, since
such
representations allow you to raise or lower the pitch without
affecting
the degree.
Yes - accidentals do not affect the degree: they are of degree zero.
One can add notes and intervals on this abstract level, and the
degrees add as well. In mathematics, a function f is called a
homomorphism (of abelian groups) when f(0) = 0, f(x + y) = f(x) +
f(y), f(-x) = -f(x). The degree, which is the sum of the coefficients
is a homomorphism.
So by extension, if we say that q is a quarter-tone, to raise or lower
by a quarter-tone would be to add (m-q) or (q-m); and to raise or
lower
by 3/4-tone would be to add (M-q) or (q-M).
Typically, one might set the neutral second n between m and M, so
there two choices: m + q and M - q. For an exact quarter-tone they
would be the same when plugging in values, but algebraically they are
different. So set n = m + q:
.... but where/how in that system do we distinguish between for
example
natural + 1/4 and sharp - 1/4 .... ? Presumably the former is (m-q)
whereas the latter is (M-m)+(q-m) ... ?
The whole pitch system is i m + j M + k n, where i, j, k are integers.
If k = 1, then one needs two accidentals n-m and n-M: the amounts
needed to go from the i m + j M to reach the n. If k = -1, then the
other pair is needed: m-n and M-n. If k > 1, then one needs k of the
first pair of accents, and if k < -1 one needs -k of the second pair
of accents.
In the traditional typesetting, one has a minor second m and a
major second M, so it is all combinations p m + q M, where p, q
are integers, which can be identified with all pairs (p, q).
... so if we extend this vectorial representation to a 3D case for
quarter-tones, (x_M, x_m, x_q), (NB my q is different from yours:-)
Yes, some mathematicians do that error, too, though in print, q as a
variable might be typeset in italic, whereas as constant in upright
type.
we
can think of natural+1/4 as being (0, 1, -1) while sharp-1/4 would be
given by (1, -2, 1).
No: this is the tricky part. Introduce a neutral n = m + q. Then the
two accidentals for k = 1 are n - m = q and n - M = n + q - M. In
coordinates, this is (-1, 0, 1) and (0, -1, 1).
The reason is that you want to express a pitch i m + j M + n and
notate it against a pitch of the staff system which is of the form i'
m + j' M. So the difference has coefficient 1 on the n.
Depending on the notational system desired, those could then be
represented by the same accidental (the half-sharp symbol) or
different
ones (natural-with-up-arrow and sharp-with-down-arrow).
If you are carful not writing any music which introduces the -n, you
will actually only need two accidentals for raising and lowering the
quarter-tone. I find the following example helpful for remembering:
In Persian music written (in one interpretation) in E53, one sets m =
4, M = 9 (Pythagorean tuning), n = 6. The raising accidental is called
sori and is n - m = 2, the lowering is called koron and is n - M = 6 -
9 = -3. The point is that the koron lowers with more than what the
sori raises. The algebraic system keeps track of this.
Suppose now that I wanted to extend the quarter-tone system to one
including eighth-tones (I'm thinking here of Ferneyhough's "La chûte
d'Icare" which uses the "standard" quarter-tone accidentals
supported by
Lilypond plus up- and down-arrows to indicate raising or lowering by
an
approximate eighth-tone). Would I have to add an extra dimension to
my
vector space,
(x_M, x_m, x_q, x_e)
... or is there a cleverer way of dealing with this which lets you
keep
only 3 dimensions?
The algebraic system allows you to do both are any number of extra
pitches, and also change the scale of the staff system.
The reason I ask is that I can't see a means of raising/lowering by an
eighth-tone without altering the degree, unless I have the possibility
to have forms (q-e) and (e-q).
... or did your term "neutral second" mean "something that does not
alter the degree by definition"?
It works just like in the Persian music example above. If your eight
tone is e, introduce a neutral n_2 = m + e. When the coefficient of
n_2 is 1, one accidental raises 1/8 and the other lowers 3/8, and when
the coefficient is -1, one accidental lowers 1/8 and the other raises
3/8.
These are then algebraic relations. If you really want to have exact
1/8 notes, then just introduce quarter-tone glyphs when the
coefficient of n_2 is 2 or -2.
Incidentally, if I understand right I think your system offers a way
of
separating out the definitions of staff pitches and accidentals, since
one can define the former merely in terms of degree values, while the
latter can be defined independently in terms of different zero-degree
"vectors"; ...
Yes, the values of the staff scale does not have anything to do with
the accidentals: accidentals are only needed in order to express a
difference between a note and the note value in the same degree on the
staff.
And the accidental is a sum of pairs of seconds, which can be computed
without any knowledge of available glyphs. The algorithm computes
(relative an order of the seconds) a minimum of accidentals. So I
think that if one wants to have a different representation, it would
be easier to start off with the minimal one.
...although I wonder whether it might be better from a
representational view to think of maps rather than vectors, e.g.
"Major second" -> 0
"minor second" -> 1
"quarter-tone" -> -1
for quarter-sharp, since this kind of representation allows you to
maintain different "neutral seconds" without risk of overlap.
Yes, this is how I wrote the Haskell code, as maps. I actually started
with the vector representation, but when defining Just Intonation, one
uses two major seconds: the Pythagorean M = 9/8 and the Just JM =
10/9. One might want experimenting with them.
So therefore I made them maps from strings. This way, the system does
not have any reference to any traditional scale or seconds m, M - they
are chosen as special cases.
A drawback is that one must keep track of these seconds m, M when
doing traditional typesetting. But one can write an interface hiding
it away.
(Forgive me if this kind of stuff is dealt with in your code; I
haven't
looked, because my Haskell knowledge is extremely basic and these days
are extremely busy in my day job...:-)
If you have more questions, just let me know.
- Lilypond's internal pitch representation and microtonal notation, Joseph Wakeling, 2010/09/20
- Re: Lilypond's internal pitch representation and microtonal notation, Hans Aberg, 2010/09/20
- Re: Lilypond's internal pitch representation and microtonal notation, Joseph Wakeling, 2010/09/20
- Re: Lilypond's internal pitch representation and microtonal notation, Hans Aberg, 2010/09/20
- Re: Lilypond's internal pitch representation and microtonal notation, Joseph Wakeling, 2010/09/20
- Re: Lilypond's internal pitch representation and microtonal notation, Hans Aberg, 2010/09/20
- Re: Lilypond's internal pitch representation and microtonal notation, Wols Lists, 2010/09/20
- Re: Lilypond's internal pitch representation and microtonal notation, Hans Aberg, 2010/09/20
- Re: Lilypond's internal pitch representation and microtonal notation, Joseph Wakeling, 2010/09/21
- Re: Lilypond's internal pitch representation and microtonal notation,
Hans Aberg <=
- Re: Lilypond's internal pitch representation and microtonal notation, Joseph Wakeling, 2010/09/21
- Re: Lilypond's internal pitch representation and microtonal notation, Hans Aberg, 2010/09/21
- Re: Lilypond's internal pitch representation and microtonal notation, Carl Sorensen, 2010/09/21
- Re: Lilypond's internal pitch representation and microtonal notation, Graham Percival, 2010/09/21
- Re: Lilypond's internal pitch representation and microtonal notation, Hans Aberg, 2010/09/21
- Re: Lilypond's internal pitch representation and microtonal notation, Benkő Pál, 2010/09/21
- Re: Lilypond's internal pitch representation and microtonal notation, Hans Aberg, 2010/09/21
- Re: Lilypond's internal pitch representation and microtonal notation, Benkő Pál, 2010/09/22
- Re: Lilypond's internal pitch representation and microtonal notation, Hans Aberg, 2010/09/22
- Re: Lilypond's internal pitch representation and microtonal notation, Hans Aberg, 2010/09/22