General > Theory

Generator lattices (for prime-numbered EDOs)

(1/1)

**Gedankenwelt**:

I came up with an interesting idea, which I call "generator lattices". Basically, these are multiplication tables for prime-numbered EDOs that allow (among other things) to generate scales by stacking an interval (= the generator) on top of itself, while octaves are ignored. Such a generator lattice consists of two sheets of paper: A context sheet (top, with slots), and a data sheet (bottom).

Here's a generator lattice for 31-EDO:

context sheet

data sheet

For better readability, here's the content of the data sheet in plain text:

--- Code: ---mothra semisept orwell casablanca miracle

meantone hemithird würschmidt squares mohajira

myna tritonic slender valentine nusecond

25, 6 19,12 7,24 14,17 28, 3 25, 6 19,12 7,24 14,17

13,18 26, 5 21,10 11,20 22, 9 13,18 26, 5 21,10 11,20

8,23 16,15 1,30 2,29 4,27 8,23 16,15 1,30 2,29

24, 7 17,14 3,28 6,25 12,19 24, 7 17,14 3,28 6,25

10,21 20,11 9,22 18,13 5,26 10,21 20,11 9,22 18,13

6,11..26 3,5,8,13,18 5,9,13,22 3,5..11,20 11,21

3,5,7,12,19 7,13..25 4,7..28 3,5,8..17 4,7,10,17,24

4,7,11..27 3,5..29 30 16 8,15,23

--- End code ---

In this opening post, I'll focus on 31-EDO, on scale generation (linear temperaments / MOS), and on modulation within scales and between scales of different generators.

In one of my next posts, I'll probably concentrate on how those generator lattices can be constructed.

Scale generation

To create a scale by stacking intervals, at first we need to choose a generator (the interval that's being stacked). 31-EDO is known for approximating 1/4-comma meantone quite well, so let's choose 18, 31-EDO's meantone fifth. To do so, we have to align the Generator slot on the context sheet to the '13 18' space on the data sheet:

If we do so, the Temperament field will indicate the linear temperament associated with the generator: meantone. In addition, the MOS field shows us how many notes our scale should have if we want to generate a Moment of Symmetry (a scale that has Myhill's property). Stacking fifths until there are 5 notes generates the pentatonic scale, 7 notes the diatonic scale, 12 notes a chromatic scale and 19 notes something which I'd call an enharmonic scale.

Note: The first number in the MOS field means "all numbers from 2 to this number". So a '3' means 2 and 3, and a '6' would include all numbers from 2 to 6. Also note that "11,+5...26" is short for "11,16,21,26". In addition, the 30-tone MOS is generated by all generators, but should be associated with slender, so it's not listed elsewhere.

Ok, first, we create a simple pentatonic scale by stacking 2 fifths upwards and 2 fifths downwards. To do so, we start with 0, and add the intervals in the fields labeled 'Generator' (represents '1') and '2':

0 5 13 18 26 (31)

Similarly, the diatonic scale can be generated by stacking 3 fifths upwards and downwards, so we just have to add the two intervals in the '3' field (-> 8, 23) to our pentatonic scale:

0 5 8 13 18 23 26 (31)

Note that there are always exactly 2 different step sizes in MOS's, a large step L and a small step s. The above pentatonic scale has the form sLsLs (L = 8, s = 5), while this diatonic scale (Dorian mode) has the form LsLLLsL (L = 5, s = 3).

Now let's build another mode of the diatonic scale, by stacking 5 fifths up and 1 fifth down. Since our generator (18) is on the right side, intervals on the right side are generated by stacking the generator upwards, while those on the left side are generated by stacking the generator downwards. So we need the intervals on the right side of fields 1 to 5, and the interval on the left side of field 1. We start with 0, and since we need both intervals from field 1 (the Generator field), we don't have to care about left and right side, and just add 13 and 18. The intervals on the right side of fields 2 to 5 are 5, 23, 10 and 28, which gives us:

0 5 10 13 18 23 28 (31)

...which is the Ionian mode LLsLLLs from the diatonic scale, or the major scale. We can also build a chromatic scale by stacking 7 fifths upwards and 4 fifths downwards. We start at 0, take all the intervals from fields 1 to 4 (5 8 10 13 18 21 23 26), and the right side from fields 5, 6 and 7. Now there is no field 7, but -7. This simply means that right side and left side are considered to be swapped in this case. So we obtain 28 and 15 from the right side of fields 5 and 6, and 2 from the left side of field -7. Our scale:

0 2 5 8 10 13 15 18 21 23 26 28 (31)

sLLsLsLLsLsL (L = 3, s = 2)

...and while we're at it, why not create a 19-tone enharmonic scale by stacking 9 fifths upwards / downwards?

0 2 3 5 7 8 10 11 13 15 16 18 20 21 23 24 26 28 29 (31)

LsLLsLsLLsLLsLsLLsL (L = 2, s = 1)

About modulation...

Now let's jump back to the diatonic scale, and compare the Ionian and the Dorian mode:

0 5 8 13 18 23 26 (31) Dorian

0 5 10 13 18 23 28 (31) Ionian

We see that 5 notes are identical, while 2 notes differ by 2 steps. This interval is called a chroma, and in the case of the diatonic scale, it is associated with the accidentals '#' (upwards) or 'b' (downwards) in classical music theory.

While L and s denote scale steps, the chroma c, which is the exact difference between those (c = L - s), is a modulation interval that can be applied when changing the root of the scale (e.g. A minor -> E minor), or the mode (e.g. E Dorian -> E Mixolydian -> E Ionian = E major), in order to modulate to a nearby scale with the same structure. It can also be used to alter scale intervals by a chroma to create MODMOS scales, like the harmonic or melodic minor scale.

Here you can see how the intervals are shifted by the chroma while modulating through the modes of the diatonic scale:

--- Code: ----2 3 8 13 16 21 26 (29) Lydian (root = -2)

0 3 8 13 16 21 26 (31) Locrian

0 3 8 13 18 21 26 (31) Phrygian

0 5 8 13 18 21 26 (31) Aeolian

0 5 8 13 18 23 26 (31) Dorian

0 5 10 13 18 23 26 (31) Mixolydian

0 5 10 13 18 23 28 (31) Ionian

0 5 10 15 18 23 28 (31) Lydian

2 5 10 15 18 23 28 (33) Locrian (root = 2)

--- End code ---

Apart from using the formula c = L - s, the chroma can also be determined by stacking the generator upwards as many times as there are notes in the scale. Our generator is 18 (right side) and we have 7 notes, so we'd have to look at the right side of the field '7'. Since the field is labeled '-7', we have to look at the left side instead, which is 2. This method has two advantages:

* It tells us that the chroma has to be applied upwards (-> #) if we want to modulate in "fifths direction" (or in general: in "generator direction"). Note that if we chose 13 as a generator, our chroma would be c = 29 = -2, i.e. 2 steps downwards (-> b) when modulating in "fourths direction".

* This can be used to determine the modulation interval for scales that are not a MOS. For example, if we create a 6-tone scale by stacking fifths, the modulation interval applied when modulating in fifths direction would be the tritone 15.

So that's roughly how modulation for linear temperaments (MOS or not) works...

Relationship between linear temperaments of different generators

So we have 15 generator pairs, each associated with a different linear temperament, and capable of generating a full cycle of 31 notes in different orders. However, if two generators differ by a factor of 2, there's an interesting relationship between them: The one that's twice as large as the other one generates a scale that is contained twice in the scale the other generator generates. Ok, formulated like this, it's probably a little hard to understand, so I show in an example what I mean:

We use our fifth generator ('meantone' / 18) again to generate an 8-tone scale 0 2 5 10 15 18 23 28 (31), which can be seen as two whole tone scales, each of them generated by the whole tone generator 5 ('hemithird'):

--- Code: ---0 5 10 15

18 23 28 33

--- End code ---

Now the 8-tone whole tone scale 0 4 5 10 15 20 25 30 (31) can be written as

--- Code: ---0 10 20 30

5 15 25 35

--- End code ---

...which are two scales, each of them generated by the major third generator 10 ('würschmidt').

So meantone (18) contains hemithird (5), and hemithird contains würschmidt (10). Würschmidt contains squares (20) which contains mohajira (9) which contains meantone again. So there is a closed cycle of temperaments that "contain" each other:

(13,18) -> (26,5) -> (21,10) -> (11,20) -> (22,9) -> (13,18)

meantone -> hemithird -> würschmidt -> squares -> mohajira -> meantone

...and the other two cycles:

(25,6) -> (19,12) -> (7,24) -> (14,17) -> (28,3) -> (25,6)

mothra -> semisept -> orwell -> casablanca -> miracle -> mothra

(8,23) -> (16,15) -> (1,30) -> (2,29) -> (4,27) -> (8,23)

myna -> tritonic -> slender -> valentine -> nusecond -> myna

This means two things:

* If you're familiar with a temperament, adjacent temperaments in the same cycle will also be somewhat familiar, especially those to the right.

* Because of the similarity, modulation between adjacent temperaments will be very simple by either dropping half of the notes, or using MODMOS scales. For example, you can get from meantone to a 6-tone hemithird scale easily through the meantone chromatic scale (12-tone MOS), or the melodic minor scale (7-tone MODMOS).

The same more or less applies to generators differing by a factor of 3, though the relationship is weaker. You can create a closed cycle through all temperaments this way:

... -> (25,6) -> (13,18) -> (8,28) -> (24,7) -> (10,21) -> ...

... -> mothra -> meantone -> myna -> orwell -> würschmidt -> ...

In the generator lattice, a step to the right means x2 and a step down means x3, so you can see which linear temperaments are closely related. ;)

P.S.: I touched on quite a few subjects here, and it's hard to cover them all in detail. If you want to know more about a certain subject, need a more detailed explanation, have questions, want to see more examples, or have a prime-numbered EDO you're especially interested in, just tell me, and I can focus on that.

Edit: I fixed the data sheet image; previously, line 5 / columns 2 and 7 read 11,20 (instead of 20,11)

Navigation

[0] Message Index

Go to full version