lilypond-devel
[Top][All Lists]

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

 From: Hans Aberg Subject: Re: Lilypond's internal pitch representation and microtonal notation Date: Mon, 20 Sep 2010 20:30:11 +0200

```On 20 Sep 2010, at 18:00, Wols Lists wrote:

```
```As a related issue, have you considered how (different kinds of)
transposition would be handled in your pitch scheme?
```
```

This is much simpler: the linear combinations are vectors that you
just add. For example, if a, b, c, ... are represented by 0, M, m+M,
```
..., and you want to transpose from b to c, just add m. A sharp is M-m
```and a flat m-M. If you want transpose from a note x to a note y, just
```
```What you've missed (and I need to address) is "what is x?".

```
Let's say I want to transpose up three semitones. That's probably easy,
```it's a minor third, but it could be an augmented second. So, trying to
remember the pitch class, is it (0,2,sharp) or (0,3,flat)?
```
```
```
The staff system always distinguishes between those, because they have different degrees, which are put in different positions. A minor third m3 = m + M has deg(m + M) = deg m + deg M = 2; an augmented second M + (M - m) = 2M - m has degree 1 as an accidental does not change the degree. The first one will move the notes two steps, and the second one step.
```
```
```And, for your
example of that, I've currently got a modified chord engraver on the
```
frogs list that's added a guitar capo property. All the engraver is told is how many semitones to transpose, and it's got to sort out all the keys!
```
```
Then with this system, you will have to add E12 enharmonic equivalences afterwards. It is not difficult: add or subtract M - 2m. But the degree of M - 2m is -1, so the position on the staff will change, like for example F# <-> Gb.
```

```