lilypond-devel
[Top][All Lists]

## Re: Lilypond's internal pitch representation and microtonal notation

 From: Joseph Wakeling Subject: Re: Lilypond's internal pitch representation and microtonal notation Date: Tue, 21 Sep 2010 11:46:54 +0200 User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.12) Gecko/20100915 Lightning/1.0b1 Thunderbird/3.0.8

```On 09/20/2010 03:41 PM, Hans Aberg 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.

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).

.... 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) ... ?

> 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:-) we
can think of natural+1/4 as being (0, 1, -1) while sharp-1/4 would be
given by (1, -2, 1).

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).

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 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"?

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"; 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.

(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...:-)

Thanks & best wishes,

-- Joe

```