Seven-Limit Just Intonation

: Intro

: The Septimal Music of Ancient Greece

: Chromatic Extensions Of The Diatonic Greek Tetrachords

: Septimal Temperaments

: Erlich's Consonant Septimal Tetrads

: Other Consonant Septimal Chords

: Lessons From Mannfishh

: Rank-4 Chromatic Interpolation

: Simple Rank-4 Intervals

:: Intro 

In the chapter "Five-Limit Just Intonation", I argued at length that western diatonic music is best represented with just frequency ratios having factors of 2, 3, and 5. If we include one more prime harmonic in our ratios, we get 7-limit just intonation. The adjective for fractions including factors of 7 is "septimal", and I may occasionally refer to rank-4 intervals as being septimal in so far as they are justly tuned to septimal frequency ratios. Septimal music has sounds that are quite unfamiliar to western diatonic music. You can still compose beautiful music in 7-limit, but it will often have an alien character, and one that many people will find unsettling, unapproachable, or even abrasive at first.

One of the first microtonal pieces that I like to share with people is Ben Johnstons's "String Quartet No. 4, Amazing Grace". It's in 7-limit just intonation and it's one of the best and most impressive microtonal pieces ever composed. It's also a fairly long, vast, and imposing orchestral work. If I had to select a short piece with limited instrumentation that showed more simply the beauty and importance of 7-limit JI, it would probably be "Winter Septimalia" by Mannfishh. I've occasionally been frustrated when I've tried to figure out how to compose in 7-limit and only come up with dissonance, but pieces like these two inspire me to keep honing the craft.

I once listened to a few hundred chords with septimal intervals, and rated the chords for consonance. Unfortunately, I'm so accustomed to five-limit intonation, that I basically just found septimal approximations to five-limit chords, instead of finding good chords with a beautiful new and somewhat-unsettling alien character. For example, I liked the sound of these chords:

(P1, AcM3, SpAcAA4)

(P1, SbAcd4, P5)

(P1, SpGrM3, SpGr5)

but they're effectively all just the Pythagorean major chord, (P1, AcM3, P5) with some very small septimal commas added on. Or this septimal chord I liked

(P1, SpA2, SpAcAA4),

but it basically just sounds like a just minor triad, (P1, m3, P5). A lot of the septimal intervals in chords that I liked were only different from familiar 5-limit intervals by tiny commas like the septimal super augmented zeroth interval, SpA0, which is justly tuned to 225/224. This has a hardly perceivable size of 7 cents.

If I can't trust my ear, how do I figure out how to compose beautiful music in seven-limit just intonation? We're going to try a few tricks. 1) We're going to look at ancient Greek tunings, like the septimal scales and tetrachords of Archytas and Ptolemy. 2) We're going to look at a little bit at the tonality lattices of modern music theorist Paul Erlich. 3) We're going to keep listening to septimal chords and judging their consonance, because you can't compose music without using your ears. 4) We're going to look at Mannfishh's score for "Winter Septimalia" and see what we can learn from it.

I'm excited. I hope you are too.

I will caution that septimal music sounds better on some instruments than others. When I compose with software synthesizers, things often sound better with a harp or a tuba or a clarinet than with a piano or a guitar. Or they might sound fine on your preferred instrument, but only if you play an octave higher up than you're used to playing. It can be a finnicky business, but the point is that if you're frustrated in your investigations of septimal music, you should try to experiment with a different instrument or register before giving up.

For easy reference, I'm putting a table of simple septimal intervals at the end of this chapter, with coordinates in both the rank-4 prime harmonic basis and the rank-4 Lilley-Johnston comma basis, which will both be familiar from the chapter "Prime Harmonic Bases and Comma Bases". As a refresher, the rank-4 prime harmonic basis has intervals (P8, P12, M17, Sbm21), which are justly tuned to (2/1, 3/1, 5/1, 7/1), while the rank-4 Lilley-Johnston comma basis has intervals (Ac1, A1, d2, Sp1), which are justly tuned to (81/80, 25/24, 128/125, 36/35).

:: The Septimal Music of Ancient Greece

The ancient Greeks had tons of scales and tetrachords, and many of them had fairly high prime limits. Even among just the 7-limit ones, most of them sound pretty bad to me. But here are two of my favorite tetrachords that are pretty decent. I'll show them first as tetrachords spanning a perfect fourth, but the extension to a full scale is obvious: start with the tetrachord, then add an acute major second to bring us up to P5, and add on another copy of the tetrachord. My names for the tetrachords come from ex-tempore.org who seems to have done more thorough scholarship on the subject than anyone else online.

Archytas's Diatonic Toniaion tetrachord has these ratios in some order:

[8/7, 9/8, 28/27] : [SpM2, AcM2, Sbm2]

I think there's supposed to me a definite order, but I'm going to ignore that. These intervals are roughly sized like just or Pythagorean [M2, M2, m2], so a scale made from the tetrachord in this order will sound major, and if you swap the first two ratios, that will also sound like a major scale. You can do other arrangements of the intervals and get decent scales, but those two orders are my favorite.

Ptolemy's Diatonic Malakon tetrachord has these intervals in some order:

[8/7, 10/9, 21/20] : [SpM2, M2, SbAcm2]

They're also roughly sized like [M2, M2, m2], so a scale in this order, or with the first two ratios swapped, will also sound like a major scale. Other orders also make decent scales.

Those two orders of those two tetrachords are my favorites. Next I'll show the full scales and the triads formed from each scale degree:

Archytas' Diatonic Toniaion 1:

[1/1, 8/7, 9/7, 4/3, 3/2, 12/7, 27/14, 2/1] :: [0, 231, 435, 498, 702, 933, 1137, 1200] cents

[P1, SpM2, SpM3, P4, P5, SpM6, SpM7, P8]

I: [1/1, 9/7, 3/2] : [P1, SpM3, P5]

II: [1/1, 7/6, 3/2] : [P1, Sbm3, P5]

III: [1/1, 7/6, 3/2] : [P1, Sbm3, P5]

IV: [1/1, 9/7, 3/2] : [P1, SpM3, P5]

V: [1/1, 9/7, 32/21] : [P1, SpM3, SpGr5]

IV: [1/1, 7/6, 3/2] : [P1, Sbm3, P5]

VII: [1/1, 32/27, 112/81] : [P1, Grm3, SbGrd5]

Archytas' Diatonic Toniaion 2:

[1/1, 9/8, 9/7, 4/3, 3/2, 27/16, 27/14, 2/1] :: [0, 204, 435, 498, 702, 906, 1137, 1200] cents

[P1, AcM2, SpM3, P4, P5, AcM6, SpM7, P8]

I: [1/1, 9/7, 3/2] : [P1, SpM3, P5]

II: [1/1, 32/27, 3/2] : [P1, Grm3, P5]

III: [1/1, 7/6, 3/2] : [P1, Sbm3, P5]

IV: [1/1, 81/64, 3/2] : [P1, AcM3, P5]

V: [1/1, 9/7, 3/2] : [P1, SpM3, P5]

VI: [1/1, 32/27, 32/21] : [P1, Grm3, SpGr5]

VII: [1/1, 7/6, 112/81] : [P1, Sbm3, SbGrd5]

Ptolemy's Diatonic Malakon 1:

[1/1, 8/7, 80/63, 4/3, 3/2, 12/7, 40/21, 2/1] :: [0, 231, 414, 498, 702, 933, 1116, 1200] cents

[P1, SpM2, SpGrM3, P4, P5, SpM6, SpGrM7, P8]

I: [1/1, 80/63, 3/2] : [P1, SpGrM3, P5]

II: [1/1, 7/6, 3/2] : [P1, Sbm3, P5]

III: [1/1, 189/160, 3/2] : [P1, SbAcM3, P5]

IV: [1/1, 9/7, 3/2] : [P1, SpM3, P5]

V: [1/1, 80/63, 32/21] : [P1, SpGrM3, SpGr5]

VI: [1/1, 7/6, 40/27] : [P1, Sbm3, Gr5]

VII: [1/1, 6/5, 7/5] : [P1, m3, Sbd5]

Ptolemy's Diatonic Malakon 2:

[1/1, 10/9, 80/63, 4/3, 3/2, 5/3, 40/21, 2/1] :: [0, 182, 414, 498, 702, 884, 1116, 1200] cents

[P1, M2, SpGrM3, P4, P5, M6, SpGrM7, P8]

I: [1/1, 80/63, 3/2] : [P1, SpGrM3, P5]

II: [1/1, 6/5, 3/2] : [P1, m3, P5]

III: [1/1, 189/160, 3/2] : [P1, SbAcM3, P5]

IV: [1/1, 5/4, 3/2] : [P1, M3, P5]

V: [1/1, 80/63, 40/27] : [P1, SpGrM3, Gr5]

VI: [1/1, 6/5, 32/21] : [P1, m3, SpGr5]

VII: [1/1, 7/6, 7/5] : [P1, Sbm3, Sbd5]

Most of these are decent chords to my ear. These two show up four times each:

[P1, Sbm3, P5] # [1/1, 7/6, 3/2]

[P1, SpM3, P5] # [1/1, 9/7, 3/2]

And these make a lot of sense to me. They're the most obvious septimal triads that you could ask for. So I'm glad that the scales that I like contain them repeatedly. I bet sub-minor and super-major, "Sbm" and "SpM", will keep coming up as consonant interval qualities in our investigations.

These two chords show up twice each in the scales:

[P1, SbAcm3, P5] # [1/1, 189/160, 3/2]

[P1, SpGrM3, P5] # [1/1, 80/63, 3/2]

Those look... weird and bad? Maybe they're okay. Let's also keep a look out for SbAcm and SpGrM qualities in our investigations, I guess.

We've got at least one good septimal major triad and at least one good septimal minor triad now! And that's a lot of what you need to compose music. So we've done good work here. We have some decent scales now too. They're basically just randomly mistuned major scales, but they don't sound terrible, and people know how to compose on major scales. I won't pretend that this is the divine music of the spheres, but if you want to make some septimal music, you can get a lot done in this framework.

Let's look at the triads that appear on scale degree VII in all the scales to see what a septimal diminished chord might look like. 

[1/1, 32/27, 112/81] : [P1, Grm3, SbGrd5]

[1/1, 6/5, 7/5] : [P1, m3, Sbd5]

[1/1, 7/6, 112/81] : [P1, Sbm3, SbGrd5]

[1/1, 7/6, 7/5] : [P1, Sbm3, Sbd5]

For the thirds of the chords on degree VII, we have, going down the line, a Pythagorean minor third (Grm3), a just minor third (m3), and two sub-minor thirds (Sbm3). For the fifths of the chords, going down the line, we have SbGrd5, justly tuned to 112/81, and a sub-diminished fifth (Sbd5), justly tuned to 7/5, and then those two repeat again. I'm okay with calling those things diminished chords. They're not too crazy. I'm not sure if any of them has a claim to be the canonical, best, or simplest septimal diminished chord, but they're a fine start.

Let's also look at the septimal seventh chords / tetrads of those four scales. Since each scale is made of two copies of a tetrachord separated by a perfect fifth, there are going to be lots of cases where the seventh of a chord is a perfect fifth higher than the third. This

[P1, Sbm3, P5, Sbm7] # [1/1, 7/6, 3/2, 7/4]

is by far the most common extension to the sub-minor chord, with the Pythagorean Grm7 (justly tuned to 16/9) also making an appearance. Similarly for the super-major chord, this

[P1, SpM3, P5, SpM7] # [1/1, 9/7, 3/2, 27/14]

is most common seventh extension, with the 7th and 3rd both being "super major". The Grm7 (tuned to 16/9) and SpGrM7 (tuned to 40/21) also make appearances.

Here are the diatonic septimal diminished seventh chords: 

  [1/1, 32/27, 112/81, 16/9] : [P1, Grm3, SbGrd5, Grm7]

[1/1, 6/5, 7/5, 9/5] : [P1, m3, Sbd5, m7]

[1/1, 7/6, 112/81, 7/4] : [P1, Sbm3, SbGrd5, Sbm7] 

[1/1, 7/6, 7/5, 7/4] : [P1, Sbm3, Sbd5, Sbm7]

The first chord pairs up Grm3 with Grm7. The second one pairs up a just m3 with a just m7. And the last two chords pair up a Sbm3 with a Sbm7. There's also no reason why we couldn't mix and match tetrachords, and then we'd get a mixture of thirds and sevenths with different interval qualities.

:: Chromatic Extensions Of The Diatonic Greek Tetrachords

The scales in the previous section are good tools. Anything that helps you to write good music is a good tool. But they're a little lacking in theory. "Here are four mistunings of the major scale; pick whichever one you want." We can do better.

Let's review the tetrachords.

Archytas's Diatonic Toniaion:

[8/7, 9/8, 28/27] : [SpM2, AcM2, Sbm2]

Ptolemy's Diatonic Malakon:

[8/7, 10/9, 21/20] : [SpM2, M2, SbAcm2]

They both have a SpM2 tuned to 8/7. Then Archytas has a Pythagorean major second while Ptolemy has a just major second. Finally we have whatever altered minor second is needed to reach the perfect fourth. For Archytas, the altered minor second only has factors of 2, 3, 7, while Ptolemy's altered minor second has a factor of 5 again, like its just major second.

We might say that Archytas's Diatonic Toniaion is a septimal extension to Pythagorean tuning and Ptolemy's Diatonic Malakon is a septimal extension to five-limit just intonation. Let's try to develop minor or chromatic scales around each tetrachord that maintain these properties. Let's also try to find a nice rank-2 temperament over rank-4 interval space that shows both the Archytasian intervals and the Ptolemaic intervals at once. That will be useful for keyboard design. I've got a good feeling that one of the commas will be the schisma.

Since 7-limit just intonation respects octave complementation, we should be able to look at the octave complements of our major scales to get a bunch of minor intervals.

Archytas' Diatonic Toniaion 1 (chromatic union with octave complement):

[P1, Sbm2, SpM2, Sbm3, SpM3, P4, P5, Sbm6, SpM6, Sbm7, SpM7, P8] : [1/1, 28/27, 8/7, 7/6, 9/7, 4/3, 3/2, 14/9, 12/7, 7/4, 27/14, 2/1]

In relative intervals, there's still a repeated structure. This subscale spans P4, then AcM2 brings us up to P5 and then we repeated the subscale:

[Sbm2, SpSpA1, SbSbAcm2, SpSpA1, Sbm2] :: [28/27, 54/49, 49/48, 54/49, 28/27]

Archytas' Diatonic Toniaion 2 (chromatic union with octave complement):

[P1, Sbm2, AcM2, Grm3, SpM3, P4, P5, Sbm6, AcM6, Grm7, SpM7, P8] :: [1/1, 28/27, 9/8, 32/27, 9/7, 4/3, 3/2, 14/9, 27/16, 16/9, 27/14, 2/1] 

Here's the P4-spanning subscale in relative intervals:

[Sbm2, SpAcA1, Grm2, SpAcA1, Sbm2] :: [28/27, 243/224, 256/243, 243/224, 28/27] 

Ptolemy's Diatonic Malakon 1 (chromatic union with octave complement):

[P1, SbAcm2, SpM2, Sbm3, SpGrM3, P4, P5, SbAcm6, SpM6, Sbm7, SpGrM7, P8] :: [1/1, 21/20, 8/7, 7/6, 80/63, 4/3, 3/2, 63/40, 12/7, 7/4, 40/21, 2/1]

Here's the relative interval structure up to P4:

[SbAcm2, SpSpGrA1, SbSbAcm2, SpSpGrA1, SbAcm2] :: [21/20, 160/147, 49/48, 160/147, 21/20]

Ptolemy's Diatonic Malakon 2 (chromatic union with octave complement):

[P1, SbAcm2, M2, m3, SpGrM3, P4, P5, SbAcm6, M6, m7, SpGrM7, P8] :: [1/1, 21/20, 10/9, 6/5, 80/63, 4/3, 3/2, 63/40, 5/3, 9/5, 40/21, 2/1] 

Here's the relative interval structure up to P4:

[SbAcm2, SpGrA1, Acm2, SpGrA1, SbAcm2] :: [21/20, 200/189, 27/25, 200/189, 21/20]

If we look at the two Archytas major scales as giving us options for each scale degree where they differ, then under octave complementation we get this almost chromatic scale (just missing an element between P4 and P5):

Chromatic scale from Archytas's Toniaion:

P1 :: 1/1

Sbm2 :: 28/27

(AcM2, SpM2) :: (9/8, 8/7)

(Grm3, Sbm3) :: (32/27, 7/6)

SpM3 :: 9/7

P4 :: 4/3

P5 :: 3/2

Sbm6 :: 14/9

(AcM6, SpM6) :: (27/16, 12/7)

(Grm7, Sbm7) :: (16/9, 7/4)

SpM7 :: 27/14 

P8: 2/1 

If we treat the two Ptolemy major scales as similarly giving us options on each scale degree when they differ, and then we take octave complements, then we get this almost chromatic scale (just missing an element between P4 and P5):

Chromatic scale from Ptolemy's Malakon:

P1 :: 1/1

SbAcm2 :: 21/20

(M2, SpM2) :: (10/9, 8/7) 

(m3, Sbm3) :: (6/5, 7/6)

SpGrM3 :: 80/63

P4 :: 4/3

P5 :: 3/2

SbAcm6 :: 63/40

(M6, SpM6) :: (5/3, 12/7) 

(m7, Sbm7) :: (9/5, 7/4)

SpGrM7 :: 40/21

P8 :: 2/1

These chromatic scales, derived from tetrachords of Archytas and Ptolemy, have the same options for septimal alterations on the major second, minor third, major sixth, and minor seventh intervals, namely (SpM2, Sbm3, SpM6, and Sbm7) tuned to (8/7, 7/6, 12/7, and 7/4). Cool.

The chromatic scales differ on the septimal options for minor second, major third, minor sixth, and major seventh. In the chromatic Archytas, those septimal intervals look much simpler: (Sbm2, SpM3, Sbm6, and SpM7) tuned to (28/27, 9/7, 14/9, and 27/14). In the chromatic Ptolemy scale, we've got versions of all of those that are altered by a syntonic comma, namely (SbAcm2, SpGrM3, SbAcm6, and SpGrM7) tuned to (21/20, 80/63, 63/40, 40/21).

I still really like using one tetrachord twice to make major scales. There's an audible structure there that an audience can follow. Another thing I appreciate about those scales is their simplicity and the challenge they offer to the composer to commit to doing just one thing - namely to optimize their music within the constraint of a fixed scale. And even though I have combined Archytas-derived major scales with each other, and combined Ptolemy-derived major scales with each other, to get a better picture of two septimal interval spaces, you could take the union of a single septimal major scale with its octave complement to get a single chromatic scale (with no options for alterations) if you wanted that same structure and constraint as the original major scales had.

Like here's Like here's the chromatic/octave-mirror version of Ptolemy's Diatonic Malakon 1:

P1 :: 1/1

SbAcm2 :: 21/20

SpM2 :: 8/7

Sbm3 :: 7/6

SpGrM3 :: 80/63

P4 :: 4/3

P5 :: 3/2

SbAcm6 :: 63/40

SpM6 :: 12/7 

Sbm7 :: 7/4

SpGrM7 :: 40/21

P8 :: 2/1

It's a pretty cool scale. And this might not be fixed by the tetrachord structure, but if you wanted to fill out the gap between P4 and P5, you could do a lot worse than using Sbd5 (justly tuned to 7/5) and SpA4 (justly tuned to 10/7): these have very simple frequency ratios, and like the other intervals in the scale, they're septimal alterations of 5-limit intervals.

For the Archytas chromatic scales, if you're looking for septimal tritones to fill out the gap between P4 an P5, a decent option is to alter those two Ptolemaic tritones by syntonic commas to get version without factors of 5, giving us SbGrd5 (justly tuned to 112/81) and SpAcA4 (justly tuned to 81/56).

:: Septimal Temperaments

In the chapter "Unimodular Matrices, Isomorphic Keyboards, and Unequal Temperaments" we talked a lot about how to use interval bases to define temperaments and keyboard layouts, which are both great for playing high dimensional music. 

Unimodular bases are great for making isomorphic keyboards, so we'll try to find some unimodular rank-4 bases to make nice isomorphic keyboards for playing septimal music. 

For temperament tuning systems, we made a distinction between systems that temper out small unnoticeable commas, having little effect on main chromatic intervals we use most in music, and systems that temper out larger commas, which we usually do in order to simply how we think about the interval space, like how tempering out Ac1 collapses the auditory distinction between Pythagorean and just intervals, or how tempering out A1 collapses the auditory distinction between major and minor intervals, or how tempering out d2 collapses the auditory distinction between pairs of pitches with separations like that between G# and Ab, allowing for very free modulation with a small set of distinct diatonic frequencies per octave. Likewise in this chapter, we'll look into septimal temperaments that barely mistune the interval space and we'll look at septimal temperaments that significantly mistune the interval space in ways that allow us to think less.

Now it's entirely possible to mess up the interval space in weird ways by tempering out an imperceptible comma. Finding the right commas to temper out, either to not mess up the interval space or to mess it up in a desirable way, takes some work or creativity.

 Here's the first temperament that I've found that I like as a keyboard layout:

The basis is [SpGr1, Sbm2, AcAcA0, SpGrGr1], which is unimodular in the rank-4 prime harmonic basis, and then I temper out the last two intervals to get 2D grid coordinates. 

The second to last interval in the basis, AcAcA0, is our old friend the schisma, justly tuned to 32805/32768. Similarly to how the schisma is the difference between the Pythagorean comma AcAcAcA0 and the just acute unison Ac1, the last interval in this basis, SpGrGr1, is the difference between one septimal super unison and two acute unisons. It's justly tuned to

(36/35) / (81/80)^2 = 5120/5103

which is

1200 * log_2(5120/5103)

about 6 cents.

I had correctly guessed that the simpler septimal intervals would fall just off of the chromatic diagonal in a schismatic temperament, but I was a little surprised to see their placement above. I had guessed that the unusual 5-limit intervals GrM2 and Acm2 (in contrast to the diatonic Grm2 and AcM2) would be tempered together with simple septimal intervals. And they might be in another temperament of course.

I've said that the last two basis vectors are are tempered out, i.e. tuned to a frequency ratio of 1/1, but what about the first two basis vectors, SpGr1 and Sbm2? We could try tuning them justly, but this will give us impure harmonics. Instead, let's figure out what tuning of the grid vectors will get us a pure octave and a pure 7th harmonic.

The easiest way that I know to do this is to define a temperament that has 1) the same tempered commas as the grid layout and 2) prime harmonics for its other two basis elements:

t(P8, Sbm7, SpGrGr1, AcAcA0) = (2/1, 7/4, 1/1, 1/1)

I always support pure octaves and it seems logical to use a pure seventh harmonic (or octave reduced seventh harmonic, which is equivalent if we also have pure octaves) for septimal music. This basis isn't unimodular in the primes, so it doesn't make a nice keyboard layout, but it sounds nice and we can use it to get tunings for the grid vectors of the layout temperament. Here's the basis in Lilley comma coordinates:

[3, 12, 7, 0],

[3, 10, 6, -1],

[-2, 0, 0, 1],

[2, 0, -1, 0]

Which has this matrix for an inverse:

[5/7, -6/7, -6/7, -1/7],

[-13/14, 17/14, 17/14, 11/14],

[10/7, -12/7, -12/7, -9/7],

[10/7, -12/7, -5/7, -2/7]

This inverse basis matrix will convert interval coordinates in the Lilley-Johnston comma basis into intervals in the (P8, Sbm7, SpGrGr1, AcAcA0) basis. We simply multiply an interval's comma coordinates by the conversion matrix to get temperament coordinates out. Here are the grid coordinates:

SpGr1 = (-1, 0, 0, 1) # 64/63 -> (5/7, -6/7, 1/7, -1/7)

Sbm2 = (0, 1, 1, -1) # 28/27 -> (-13/14, 17/14, 3/14, -3/14)

The first set of coordinates are equivalent to the fact that

SpGr1 = 5/7 * P8 + -6/7 * Sbm7 + 1/7 * SpGrGr1 + -1/7 * AcAcA0

which is an additive relation that we could express multiplicatively in frequency space as

t(SpGr1) = t(P8)^(5/7) * t(Sbm7)^(-6/7) * t(SpGrGr1)^(1/7) * t(AcAcA0)^(-1/7)

Once we tune our basis elements, t(P8, Sbm7, SpGrGr1, AcAcA0) = (2/, 7/4, 1/1, 1/1), then we can tune our target intervals:

t(SpGr1 ) = t(P8)^(5/7) * t(Sbm7)^(-6/7) = (2)^(5/7) * (7/4)^(-6/7) ~ 1.0155541799543253 

t(Sbm2 ) = t(P8)^(-13/14) * t(Sbm7)^(17/14) = (2)^(-13/14) * (7/4)^(17/14) ~ 1.036548857845813

And now our keyboard layout can both look and sound good.

One thing that I particularly like about the keyboard basis can be seen on the horizontal rows around the impure intervals. For example, from left to right we have on one row the intervals [Sbm3, Grm3, m3, Acm3, Spm3], in the same order as their just tunings. This makes septimal intervals easy to find, even if your keyboard isn't labeled.

I'm pretty happy with that as a schismatic temperament which doesn't distort the most useful intervals in Pythagorean + Just + Septimal chromatic space. One thing that I don't like about the keyboard basis is that it doesn't distinguish e.g. the SbAcm2 that we saw in Ptolemy's Malakon from the Pythagorean Grm2. The best unimodular basis I've found for a 2d keyboard layout that does distinguish these has the basis:

[Ac1, Sp1, SbSbSbSbdddd4, SbSbGrGrdd3]

with the last two intervals tempered out. This temperament is exactly as ridiculous as it looks, and it's so fine-grained in the intervals it can represent that an image of it wouldn't really fit on this page. So that needs some work. I know that, among equal temperaments, 60 and 65-EDO both distinguish among (P1, Sbm2, SbAcm2, Grm2, m2), so maybe I can generalize from there.

Yeah, that worked pretty well. Using the same grid intervals and two simpler commas tempered out by 60-EDO, I got this basis:

[Sp1, Ac1, SpA0, SbSbm2] 

which looks like this:

This one has some drawbacks relative to the previous grid layout and it also has some advantages.

What if instead of wanting a finer grained view of septimal intervals, you instead wanted to to simplify the interval space? There are lots of possibilities. We might try tempering out Sp1 or SpGr1 or SpA0, or maybe Ac1 and SpGrGr1. Here's an interesting temperament I found. I wanted a temperament that showed off the just and septimal intervals while downplaying Pythagorean ones. So I thought, let's temper out the difference between the Pythagorean minor second, (Grm2 @ 256/243) and the subminor second (Sbm2 @ 28/27), and then we'll aslo include Sbm2 in the non-tempered intervals, so that we have the option to tune it purely. After a little experimentation, I found that I liked the layout when we use Sp1 as the other grid dimension and the schisma, AcAcA0, as the other tempered interval. It looks like this:

Its basis is [Sbm2, Sp1, SpGr1, AcAcA0], with the last two intervals tempered. There are many more layouts like these to find. If you find an interesting one, please let me know.

As long as we're talking about unequal septimal temperaments, we should also touch on equal septimal temperaments. Which EDOs, you might ask, approximate the musical harmonic series up to the 7th harmonic with an error of <= 7 cents per prime? Here are the first few:

[31, 41, 46, 53, 56, 57, 58, 61, 62, 63, 66, 68, 69, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87]-EDO

Most of these are definable by tempering one rank-2 comma, if you care about representing EDOs as a tempered circle of fifths. The exceptions are these:

[57, 58, 62, 66, 68, 72, 76, 78, 82, 84, 85, 86, 87]-EDO

If you're curious, the list of EDOs that approximate the 11-limit is basically the same, at least up to 87-divisions; these are really surprisingly good EDOs. If you want to try 31-EDO, take note that it tempers out Ac1, so it won't distinguish between Sbm2 and SbAcm2, or between m2 and Grm2, et cetera. However, [41, 46, and 53]-EDO all distinguish between the two septimal minor seconds, so you don't have to go very far if you want that - just add on another 10 to 22 keys per octave.

:: Erlich's ConsonanT Septimal Tetrads

In a 2001 paper, "The Forms Of Tonality", microtonal music theorist Paul Erlich used a psychoacoustic model of consonance called "octave-equivalence harmonic entropy" to give a ranking of the harmonic strength of different just intervals. In his model, the strongest 5-limit harmonies are found at [6/5, 5/4, 4/3, 3/2, 8/5, and 5/3] and the strongest 7-limit harmonies are found at [8/7, 7/6, 7/5, 10/7, 12/7, and 7/4].

Based on these consonances, he selects two 7-limit four note chords with strong harmony between all the notes. I will call the first one the harmonic dominant 7th chord:

[4:5:6:7] . [1/1, 5/4, 3/2, 7/4] . [P1, M3, P5, Sbm7]

and I'll call the second one the minor super sixth chord:

[70:84:105:120] . [1/1, 6/5, 3/2, 12/7] . [P1, m3, P5, SpM6]

Like with most septimal chords, these can sound unpleasant on some instruments and registers while on others they sound a little unusual but inoffensive and perhaps even beautiful.

Erlich draws 3d graphs to show these chords and the intervals between all the notes, and he links the graphs up into an irregular lattice. I don't really know how to use his lattice for composition, but I think we should explore these two chords in greater detail.

A major septimal chord and a minor septimal chord are probably enough to compose quite a bit of septimal music. Let's look at subsets and inversions of these two chords to fill out our pallet and then try composing a chord progression.

Here are the harmonic dominant seventh chord and its inversions, i.e. its cyclic permutations:

[P1, M3, P5, Sbm7] # [1/1, 5/4, 3/2, 7/4]

[P1, m3, Sbd5, m6] # [1/1, 6/5, 7/5, 8/5]

[P1, Sbm3, P4, M6] # [1/1, 7/6, 4/3, 5/3]

[P1, SpM2, SpA4, SpM6] # [1/1, 8/7, 10/7, 12/7]

And here are the minor super sixth chord and its inversions:

[P1, m3, P5, SpM6] # [1/1, 6/5, 3/2, 12/7]

[P1, M3, SpA4, M6] # [1/1, 5/4, 10/7, 5/3]

[P1, SpM2, P4, m6] # [1/1, 8/7, 4/3, 8/5]

[P1, Sbm3, Sbd5, Sbm7] # [1/1, 7/6, 7/5, 7/4]

It's easy to see the triads that we get by knocking off the last interval of these. And a nice thing about diatonic seventh chords is that if we were to remove the first interval and rebase the chord on the third, we'd get that same set of triads. Let's write them out.

[1/1, 5/4, 3/2]

[1/1, 6/5, 7/5]

[1/1, 7/6, 4/3]

[1/1, 8/7, 10/7]


[1/1, 6/5, 3/2]

[1/1, 5/4, 10/7]

[1/1, 8/7, 4/3]

[1/1, 7/6, 7/5]

Much like the tetrachordal Greek scales and their chromatic extensions, I think that working within the constraint of this chord space could provide an interesting and unified sound for a piece of music.

Here's what I propose. In a major key, only the fifth scale degree gets a dominant seventh chord, so that's where we'll put the harmonic diatonic seventh chord, [P1, M3, P5, Sbm7]. And the only diatonic minor chord (out of scale degrees ^2, ^3, and ^6) that has a major sixth over it is ^2, so that's where we'll put the minor super sixth chord, [P1, m3, P5, SpM6]. Scale degrees ^1, ^3, ^4, and ^6 just get just triads. And then for scale degree ^7, we'd like to have a diminished chord, and we saw two options in our table of inversions, namely [P1, m3, Sbd5, m6] and [P1, Sbm3, Sbd5, Sbm7]. The chord tones in the first of these, over M7, have already shown within the tones of the other diatonic chords, so I think that's the more conservative addition.

All together we get a pretty basic justly tuned major with the addition of AcM2, SbAc4 ( justly tuned to 21/16), and SpGrM7 (justly tuned to 40/21). So it seems like we're not going to get very septimal music out of this, but maybe you want something conservative for your first exploration with septimality. If so, I've got just the chord space for you. On the other hand, if you have septimal chords on ^2, ^5, and ^7, you can push that really far. Like, in jazz, no one will bat an eye if you do a long sequence of 2-5-1 chord progressions based on a randomly modulating tonic. You can totally make a song that is 2/3rds septimal using just this chord space.

:: Other Consonant Septimal Chords

One benefit that I've found of playing the tetrachord-derived scales is that I've started developing an ear for what septimal chords should and should not sound like. Here's what I found out.

Principle 1). No just m7 with septimal thirds. The just minor seventh, m7, tuned to 9/5, sounds bad in septimal chords. I didn't guess that this would be the case, but I find it to be true quite reliably. It doesn't sound good against the septimal thirds, Sbm3 and SpM3, and it doesn't sound good against a septimal sub-diminished fifth, tuned to (7/5).

Principle 2). No just M7 with septimal thirds. If you have a perfect fifth, P5, instead of Sbd5, then you can use any of the obvious thirds: [Sbm3, m3, M3, SpM3] to form a triad. Both septimal sevenths, Sbm7 and SpM7, work well as extensions to any of those triads. The Sbm7 sounds a little better, but they're both good and functional. I ruled out m7 as an extension if the third is septimal in principle 1. The just M7, as an extension to septimal chords, doesn't sound quite as bad as that, but it's still pretty bad. Definitely a step below SpM7, and I think we can do without it.

Principle 3). No SpM3 with Sbd5. The septimal sub-diminished fifth is surprisingly beautiful. It sounds good in a triad with [Sbm3, m3, or M3], respectively tuned to (7/6, 6/5, and 5/4). The Sbm3 triad sounds a little better and the just third triads sound a little worse, but they're all good and functional. All of these triads can also be extended with (Sbm7, SpM7, or M7), tuned to (7/4, 27/14, and 15/8) respectively. The Sbd5 does not work well in a triad with SpM3, tuned to 9/7. The Sbd5 and SpM3 are separated by an interval of a SbSbd3, tuned to 49/45, which is apparently dissonant. Now we know.

Principle 4). No Sbd7 against SpM3. The sub-diminished seventh, Sbd7, justly tuned to 42/25, sounds good as an extension to triads with any of these thirds, [Sbm3, m3, M3], and either of these fifths, [P5, Sbd5]. However, if you use a SpM3, with either fifth, then Sbd7 clashes pretty badly.

Principle 5.) Don't use SpM6 with Sbd5, but M6 is always a great extension for septimal chords. The SpM6, justly tuned to 12/7, works fine over triads with a perfect fifth and any of the usual thirds, [Sbm3, m3, M3, SpM3]. On the other hand, SpM6 sounds bad as an extension to triads with Sbd5, regardless of the interval quality on the third. The just M6 sounds good over most triads; use any of the usual thirds, [Sbm3, m3, M3, SpM3], and any of the usual fifths, [P5, Sbm5].

Principle 6). SbAcm and SpGrM3 interval qualities aren't as weird as they look. The SbAcm3 and SpGrM3, justly tuned to 189/160 and 80/63 respectively, both work well in triads, using either P5 or Sbd5 as a fifth. With those two thirds and two fifths, we have four triads, and if we add on extensions of SpGrM7 or SbAcm7, justly tuned to 40/21 and 567/320 respectively, those also sound fine. I'm not sure about mixing and matching these with the other septimal intervals. I haven't tried. I also haven't investigated combinations with Pythagorean intervals very much. There's so much variation possible.

What's the point of all this? Identifying a consonant chord space is a way to structure a musical piece. Broadly, when I compose microtonal music, I either fix a scale (or fix one scale for each section) and do my best with whatever weird and inconsistent chords fit within that scale (like scale degrees II and III having different varieties of diatonic minor seventh chords), or I fix a chord space, and then I do my best to link chords together melodically without the guidance of a fixed scale. The fixed scale method works well on an instrument that's limited to a few pitches per octave, like most keyboards, and it gives you interesting chords you wouldn't have come up with on your own, and interesting effects when you modulate because the irregularity of your scale means that the whole character of the scale changes with modulations. The fixed chord space method works well when you're not effectively not limited in your number of pitches per octave, like when composing in software, or when you're composing for an ensemble of microtonal instruments, where the players can find the notes you give them and thereby play whatever chords you specify; instruments that support continuous intonation, like fretless strings, trombones, and trained voices work well here. Also if you have lots of keys on a keyboard, than you can do almost anything that those gliding instruments can do. Anyway, structuring your piece by its consonant chord space means that your modulations can be consistent and isomorphic and you're free to pick the purest harmonies that your ear can find, but it requires more thinking because you lack the constraint of a fixed scale telling you what notes to use, and the music may have less of an irregular personal character due to being more regular. Even if you want to compose without a fixed scale, I think it's a good exercise to start with a fixed scale so that you can acclimate to 7-limit sounds: you can get a feel for which septimal intervals and chords and melodies you like.

Anyway, most possible chords have a function, but only some chords are consonant, and I hope these principles for finding consonant chords will help you compose freely without a scale, if that's what you want to do.

:: Lessons From Mannfishh

In the introduction of this chapter, I talked about the piece "Winter Septimalia" by composer Mannfishh. I'm going to write about the principles and tricks behind the piece as I figure them out.

There are a few spots in Winter Septimalia where a note is basically carried over from one chord to the next, but there's a difference of a small septimal comma between the successive notes. The SpA0, justly tuned to 225/224, shows up a lot as a comma between almost-common-tones, which was pleasing to me because it showed up a lot for me when I was initially trying and failing to find consonant septimal chords that different in sonority from the five-limit.

I know a composer who works in just intonation and always thinks about what commas are compounding in their notes away from the base key where they started, and how they will take the commas off the stack to get back where they started. When you have barely perceptible commas and imperceptible commas like SpA0, you don't have to think much about how to apply them or remove them to get somewhere in pitch space: you can apply them or remove them freely. Pretty cool, right?

Really cool. I don't think I would have come up with it: when I'm composing in a fixed scale, I don't have two notes that are a tiny comma apart from each other. And when I'm composing on a computer, I mostly have decided which intervallic relationships I like the sound of and then kind of weave things together logically without thinking about the sound too much. To do near-common-tone voice leading, I think you either need a 2D keyboard where you have options of notes that are a small comma apart, or you at least need two normal keyboards in different tunings, or you have to think explicitly about which intervals are effectively tempered out in your head, i.e. which ones are nearly imperceptible to your ear, even when your tuning doesn't temper them out. I suppose you could also play in a temperament and then apply some software that does detempering - i.e. adaptive intonation adjustments on a per-note or per-chord basis to make chords sound more pure. I think Mannfishh uses two keyboards with twelve tones per octave, but it might be worth thinking about how you would get this almost-common-tone voice leading effect if you want to achieve it.

Mannfishh uses Helmholtz-Ellis Just Intonation notation, in which natural intervals are Pythagorean, whereas I like to use Ben Johnston notation, in which natural intervals are 5-limit, so it takes me a while to read his stuff. But I hope you'll give it a try and find some things out for yourself. And even if not, we've already found a lot of good tricks for composing septimal music. Well done, us.

:: Rank-4 Chromatic Interpolation

When composing in five limit just intonation, I often try to have a diatonic key signature: that is to say, I update a diatonic scale (a scale made of major 2nd and minor 2nd intervals, with various accidentals) throughout the piece, so that there's a clear melodic space of seven notes per octave that can be played at a given moment. I don't think this requires too much justification, but I will say that it allows you to transpose melodic content. Usually I start with a sequence of voiced chords and I try to find a new diatonic scale with each chord change such that the new scale 1) contains the current chord, 2) doesn't clash harmonically with the chord too much on the non-chord-tone scale degrees, and 3) doesn't change the key signature too much from what it was during the previous chords. This is a useful scale to have at a given moment and I'll be talking about how to find rank-4 diatonic scales with the same desirable properties in a chapter in the composition theory theory. We might call this process "diatonic interpolation" or "melodic space identification".

Now that we've explored both diatonic and chromatic septimal scales in this chapter, I think we should also try to find chromatic key signatures: that is to say, we'll find a chromatic scale (a scale made of A1 and m2 intervals, with various accidentals) that we will update intelligently with each chord change so that there's a full chromatic space indicated at each moment of a musical piece for our use. I like diatonic scales fine, and I'll probably still write my music scores with just diatonic key signatures, but melodic chromaticism is beautiful and important and useful, and also, if you have a midi keyboard with twelve notes per octave, it makes sense to provide tunings for all twelve notes at a given moment. In 12-TET, the chromatic scale available to you is always simply the keyboard in front of you, but in interval spaces, things are more complicated.

The rank-4 chromatic scales that we'll consider for chromatic interpolation will have a tetrachordal structure, but not necessarily a single tetrachord repeated twice. We'll talk more about diatonic interpolation in the chapter "Melodic Space Identification: Mode Intersection, Harmonic Chromaticism, and Tonal Continuation" in the section on composition theory, but chromatic interpolation is actually easier so we'll touch on it here a little.

First I will show which chromatically-extended tetrachords we'll be using. Actually, we're going to go one step beyond using tetrachords: since two tetrachords separated by an AcM2 between P4 and P5 won't tell us what tritone to use to complete the chromatic scale, we're instead going to use a chromatic pseud-pentachord (8 notes or seven relative intervals spanning P5) followed by a chromatic pseudo-tetrachord (6 notes or 5 relatives intervals spanning P4). Technically a tetrachord should have four notes and a pentachord should have five notes, but also usually a tetrachord spans P4 and a pentachord spans P5, and those are the features that we're using here in our chromatic subscales. Here are the options of chromatic pentachords:

Just chromatic pentachord:

[P1, m2, M2, m3, M3, P4, d5, P5] :: [m2, A1, Acm2, A1, m2, Acm2, A1]

Pythagorean chromatic pentachord:

[P1, Grm2, AcM2, Grm3, AcM3, P4, GrGrd5, P5] :: [Grm2, AcAcA1, Grm2, AcAcA1, Grm2, Grm2, AcAcA1]

Archytas' Diatonic Toniaion 1 chromatic pentachord:

[P1, Sbm2, SpM2, Sbm3, SpM3, P4, SbGrd5, P5] :: [Sbm2, SpSpA1, SbSbAcm2, SpSpA1, Sbm2, Sbm2, SpAcA1]

Archytas' Diatonic Toniaion 2 chromatic pentachord:

[P1, Sbm2, AcM2, Grm3, SpM3, P4, SbGrd5, P5] :: [Sbm2, SpAcA1, Grm2, SpAcA1, Sbm2, Sbm2, SpAcA1]

Ptolemy's Diatonic Malakon 1 chromatic pentachord:

[P1, SbAcm2, SpM2, Sbm3, SpGrM3, P4, Sbd5, P5] :: [SbAcm2, SpSpGrA1, SbSbAcm2, SpSpGrA1, SbAcm2, SbAcm2, SpA1]

Ptolemy's Diatonic Malakon 2 chromatic pentachord:

[P1, SbAcm2, M2, m3, SpGrM3, P4, Sbd5, P5] :: [SbAcm2, SpGrA1, Acm2, SpGrA1, SbAcm2, SbAcm2, SpA1]

You can use one of those pentachords to start your scale, and then use the associated tetrachord to finish it off. I think using two different tetrachords will mainly be useful when you have a chord with intervals of mixed sonority, e.g. a just major third and a septimal sub-minor seventh.

You might wonder why I've used diminished 5th tritones instead of augmented 4th tritones in all of the pentachords. There are few reasons for this. One is that it's natural to define a a chromatic scale by taking a major scale and diminishing intervals to fill in large gaps: we diminish M2 to get m2, we diminish M3 to get m3; naturally we also diminish P5 to get d5. Another reason why you might want d5 in your chromatic scale more than A4, if you have to chose between them, is that we need d5 for a tertian spelling of any diminished chord, and diminished chords are very common and useful, whereas A4 is mainly useful for #11 chords, which are not useless, but they're not so useful that they should determine the form of our chromatic scale. I support using d5 over A4 if you have to make a choice, like if you're retuning a keyboard with 12-notes per octave on the fly, but if you're just composing in your head or in software, then you can of course have a chromatic scale with both A4 and d5. But it will still be unusual to use both in one melodic line, since they're usually tuned quite close to each other, and they're separated a dd2, which isn't a normal fluid melodic step.

Let's sketch out the algorithm for chromatic interpolation. First you have to identify your chord, and the chromatic interpolation algorithm will  be very similar to the chord identification algorithm, so we'll go through that first. Let's say your chord is [Sp1, Sp5, m10, Sp12, Sp15].  Subtract out the root interval from all the intervals:

[Sp1, Sp5, m10, Sp12, Sp15] - [Sp1] = [P1, P5, Sbm10, P12, P15]

I'll call this the uprooted form of the chord. Now subtract P8 from everything that's >= P8 in its just tuning. If the reduced interval is already in the chord, you can just throw it away instead of having, e.g. two copies of P5.

[P1, Sbm3, P5]

Now we can compare this octave-reduced chord to the chords in our consonant chord space. If our chord space only has chords with intervals up to sevenths, then we can compare directly. If we have higher chord extensions like 9ths, 11ths, and 13ths, then the chords in our chord space will have to be octave-reduced to match the chord being identified. Also, if you want to identify chords approximately / enharmonically rather than exactly, this is the point where you'll find tempered coordinates for your chords as a kind of fuzzy fingerprint, and then instead of comparing chords directly, you'll check whether they have the same fuzzy fingerprint.

The chord we're investigating in its uprooted and octave-reduced form, 

[P1, Sbm3, P5]

happens to be a recognizable septimal triad, so we're done. But in general, if this form of the chord doesn't match anything in our chord space, or if we're doing an enharmonic analysis and want to find all the matches in the chord space according to some temperament, then we need to also check all the cyclic permutations of the chord against the chord space.

To do this, we remove P1 from bottom and pop it up to the top as P8. Then we uproot the chord again and check if the permuted form is in our chord space. We need to this permutate-and-check operation as many times as there are notes in the chord, after which the chord will cycle back to its first form.

That procedure can tell us the chord quality, like ".Sbm3m7b9", but it won't tell us the tonic. However, we're very close. If the original chord was

[P1, Sbm3, P5]

then the tonic would just be whatever pitch class we associate with P1; I like to put P1 at C natural. But of course that wasn't our original chord, it was 

[Sp1, Sp5, m10, Sp12, Sp15] 

The procedure to find the tonic is to take an interval from 

[P1, Sbm3, P5]

that corresponds to the number of permutations you performed before finding a match - we didn't need to do any permutations and P1 would be the interval for us to select at this step, but if we'd done one cyclic permutation before finding a match, then we'd be looking at the interval "Sbm3" - and finally you add on the root of the original chord, which was Sp1 for us. That's the tonic interval of the chord, and since intervals are signed distances in pitch space, there's a unique pitch that's one tonic interval above C4 or C0 or wherever you root your pitch space. Finally, a tonic is normally presented as a pitch class rather than a pitch, so remove the octave at the end. I don't use pitch accidentals much in my text, but Ben Johnston's septimal accidental that's justly associated with 36/35 is a super-script seven, so we could write our tonic as C⁷, and if we call a sub-minor chord ".Sbm" for short, then our full chord name is "C⁷.Sbm", which is a sub-minor chord rooted a septimal unison above C natural.

Now for the chromatic interpolation algorithm. We'll start with the intervals of the sub-minor chord, now that we've made an identification:

[P1, Sbm3, P5]

In general, you'll have to octave-reduce this, but this this chord doesn't have intervals of ordinal more than 7, so we're already done. Instead of having a chord space to compare to, we'll have a scale space to compare to. Instead of checking for equality of chords (or tempered chord coordinates), we'll check whether our chord of interest is a subset of each chromatic scale in the search space. As with an enharmonic analysis, we won't stop our analysis after the first match, because a chord might be found in multiple scales. Interestingly, the chord might be found at multiple places within a single scale too, like how there are minor triads on scale degrees ^II, ^III, and ^VI in a just major scale - so we'll also have to check all cyclic permutations of each scale against the chord. However we don't have to check permutations of the chord - if any permutation of the chord fits in a scale in one place, then all of the chord's permutations will fit in the scale at their own locations. Instead of tracking how many permutations we've performed on the chord to figure out the tonic of the chord, we now have to track how many permutations of the scale we've done in order to figure out the tonic of the scale that matches the chord. Like if you find a match against a scale that start with this chromatic pseudo-pentachord:

[P1, SbAcm2, SpM2, Sbm3, SpGrM3, P4, Sbd5, P5]

And you find it after two permutations, that means that your chord can be found in the associated chromatic scale which is rooted one SpM2 below the tonic of your chord.

So there are some differences of procedure, but it's highly analogous. Once we do all of that, we can say that there are 2 or 3 or 6 or however many chromatic scales on different starting points that contain our chord, and then we just have to choose among them on aesthetic and functional grounds, like which one changes our chromatic key signature the least, relative to the key signature of the previous chord, or relative to the signature of the section's initial chord, or anything else. You also might have a preference for chords with repeated pentachord / tetrachord structure.

Now we can dynamically retune our midi keyboards to support, with full chromaticism, the playing and decoration of consonant septimal chords in very far flung regions of interval space. Like I think this is a very beautiful 5-voice chord:

[SpM-1, SpSpA4, SpSpA8, SpM17, SpSpA18]

and now we have to tools to work with it.

:: Simple Rank-4 Intervals:

P1 : [0, 0, 0, 0] :: (0, 0, 0, 0) # 1/1

SpA0 : [-5, 2, 2, -1] :: (0, 0, -1, 1) # 225/224

Grd2 : [11, -4, -2, 0] :: (-1, 0, 1, 0) # 2048/2025

Ac1 : [-4, 4, -1, 0] :: (1, 0, 0, 0) # 81/80

SbA1 : [-5, -3, 3, 1] :: (0, 1, 0, -1) # 875/864

SpGr1 : [6, -2, 0, -1] :: (-1, 0, 0, 1) # 64/63

d2 : [7, 0, -3, 0] :: (0, 0, 1, 0) # 128/125

AcAc1 : [-8, 8, -2, 0] :: (2, 0, 0, 0) # 6561/6400

Sp1 : [2, 2, -1, -1] :: (0, 0, 0, 1) # 36/35

GrA1 : [1, -5, 3, 0] :: (-1, 1, 0, 0) # 250/243

Acd2 : [3, 4, -4, 0] :: (1, 0, 1, 0) # 648/625

Sbm2 : [2, -3, 0, 1] :: (0, 1, 1, -1) # 28/27

SpAc1 : [-2, 6, -2, -1] :: (1, 0, 0, 1) # 729/700

A1 : [-3, -1, 2, 0] :: (0, 1, 0, 0) # 25/24wo

SbAcm2 : [-2, 1, -1, 1] :: (1, 1, 1, -1) # 21/20

Spd2 : [9, 2, -4, -1] :: (0, 0, 1, 1) # 4608/4375

Grm2 : [8, -5, 0, 0] :: (-1, 1, 1, 0) # 256/243

AcA1 : [-7, 3, 1, 0] :: (1, 1, 0, 0) # 135/128

SpSp1 : [4, 4, -2, -2] :: (0, 0, 0, 2) # 1296/1225

m2 : [4, -1, -1, 0] :: (0, 1, 1, 0) # 16/15

SpA1 : [-1, 1, 1, -1] :: (0, 1, 0, 1) # 15/14

Acm2 : [0, 3, -2, 0] :: (1, 1, 1, 0) # 27/25

SbM2 : [-1, -4, 2, 1] :: (0, 2, 1, -1) # 175/162

GrM2 : [5, -6, 2, 0] :: (-1, 2, 1, 0) # 800/729

Spm2 : [6, 1, -2, -1] :: (0, 1, 1, 1) # 192/175

M2 : [1, -2, 1, 0] :: (0, 2, 1, 0) # 10/9

Sbd3 : [2, 0, -2, 1] :: (1, 2, 2, -1) # 28/25

AcM2 : [-3, 2, 0, 0] :: (1, 2, 1, 0) # 9/8

SbA2 : [-4, -5, 4, 1] :: (0, 3, 1, -1) # 4375/3888

SpGrM2 : [7, -4, 1, -1] :: (-1, 2, 1, 1) # 640/567

Grd3 : [8, -2, -2, 0] :: (0, 2, 2, 0) # 256/225

SpM2 : [3, 0, 0, -1] :: (0, 2, 1, 1) # 8/7

GrA2 : [2, -7, 4, 0] :: (-1, 3, 1, 0) # 2500/2187

d3 : [4, 2, -3, 0] :: (1, 2, 2, 0) # 144/125

A2 : [-2, -3, 3, 0] :: (0, 3, 1, 0) # 125/108

Sbm3 : [-1, -1, 0, 1] :: (1, 3, 2, -1) # 7/6

Acd3 : [0, 6, -4, 0] :: (2, 2, 2, 0) # 729/625

AcA2 : [-6, 1, 2, 0] :: (1, 3, 1, 0) # 75/64

SbAcm3 : [-5, 3, -1, 1] :: (2, 3, 2, -1) # 189/160

Spd3 : [6, 4, -4, -1] :: (1, 2, 2, 1) # 5184/4375

Grm3 : [5, -3, 0, 0] :: (0, 3, 2, 0) # 32/27

SpA2 : [0, -1, 2, -1] :: (0, 3, 1, 1) # 25/21

m3 : [1, 1, -1, 0] :: (1, 3, 2, 0) # 6/5

Acm3 : [-3, 5, -2, 0] :: (2, 3, 2, 0) # 243/200

SbM3 : [-4, -2, 2, 1] :: (1, 4, 2, -1) # 175/144

Spm3 : [3, 3, -2, -1] :: (1, 3, 2, 1) # 216/175

GrM3 : [2, -4, 2, 0] :: (0, 4, 2, 0) # 100/81

Sbd4 : [3, -2, -1, 1] :: (1, 4, 3, -1) # 56/45

M3 : [-2, 0, 1, 0] :: (1, 4, 2, 0) # 5/4

SbSb4 : [-2, -5, 2, 2] :: (1, 5, 3, -2) # 1225/972

Grd4 : [9, -4, -1, 0] :: (0, 4, 3, 0) # 512/405

AcM3 : [-6, 4, 0, 0] :: (2, 4, 2, 0) # 81/64

SbA3 : [-7, -3, 4, 1] :: (1, 5, 2, -1) # 4375/3456

SpGrM3 : [4, -2, 1, -1] :: (0, 4, 2, 1) # 80/63

d4 : [5, 0, -2, 0] :: (1, 4, 3, 0) # 32/25

SbGr4 : [4, -7, 2, 1] :: (0, 5, 3, -1) # 2800/2187

SpM3 : [0, 2, 0, -1] :: (1, 4, 2, 1) # 9/7

GrA3 : [-1, -5, 4, 0] :: (0, 5, 2, 0) # 625/486

Acd4 : [1, 4, -3, 0] :: (2, 4, 3, 0) # 162/125

Sb4 : [0, -3, 1, 1] :: (1, 5, 3, -1) # 35/27

GrGr4 : [10, -9, 2, 0] :: (-1, 5, 3, 0) # 25600/19683

A3 : [-5, -1, 3, 0] :: (1, 5, 2, 0) # 125/96

SbAc4 : [-4, 1, 0, 1] :: (2, 5, 3, -1) # 21/16

Spd4 : [7, 2, -3, -1] :: (1, 4, 3, 1) # 1152/875

Gr4 : [6, -5, 1, 0] :: (0, 5, 3, 0) # 320/243

AcA3 : [-9, 3, 2, 0] :: (2, 5, 2, 0) # 675/512

P4 : [2, -1, 0, 0] :: (1, 5, 3, 0) # 4/3

SpA3 : [-3, 1, 2, -1] :: (1, 5, 2, 1) # 75/56

Ac4 : [-2, 3, -1, 0] :: (2, 5, 3, 0) # 27/20

SbA4 : [-3, -4, 3, 1] :: (1, 6, 3, -1) # 875/648

SpGr4 : [8, -3, 0, -1] :: (0, 5, 3, 1) # 256/189

AcAc4 : [-6, 7, -2, 0] :: (3, 5, 3, 0) # 2187/1600

Sp4 : [4, 1, -1, -1] :: (1, 5, 3, 1) # 48/35

GrA4 : [3, -6, 3, 0] :: (0, 6, 3, 0) # 1000/729

SbGrd5 : [4, -4, 0, 1] :: (1, 6, 4, -1) # 112/81

SpAc4 : [0, 5, -2, -1] :: (2, 5, 3, 1) # 243/175

A4 : [-1, -2, 2, 0] :: (1, 6, 3, 0) # 25/18

Sbd5 : [0, 0, -1, 1] :: (2, 6, 4, -1) # 7/5

AcA4 : [-5, 2, 1, 0] :: (2, 6, 3, 0) # 45/32

SpSp4 : [6, 3, -2, -2] :: (1, 5, 3, 2) # 1728/1225

SbSb5 : [-5, -3, 2, 2] :: (2, 7, 4, -2) # 1225/864

Grd5 : [6, -2, -1, 0] :: (1, 6, 4, 0) # 64/45

SpA4 : [1, 0, 1, -1] :: (1, 6, 3, 1) # 10/7

d5 : [2, 2, -2, 0] :: (2, 6, 4, 0) # 36/25

SbGr5 : [1, -5, 2, 1] :: (1, 7, 4, -1) # 350/243

SpAcA4 : [-3, 4, 0, -1] :: (2, 6, 3, 1) # 81/56

Acd5 : [-2, 6, -3, 0] :: (3, 6, 4, 0) # 729/500

Sb5 : [-3, -1, 1, 1] :: (2, 7, 4, -1) # 35/24

GrGr5 : [7, -7, 2, 0] :: (0, 7, 4, 0) # 3200/2187

SbAc5 : [-7, 3, 0, 1] :: (3, 7, 4, -1) # 189/128

Spd5 : [4, 4, -3, -1] :: (2, 6, 4, 1) # 1296/875

Gr5 : [3, -3, 1, 0] :: (1, 7, 4, 0) # 40/27

Sbd6 : [4, -1, -2, 1] :: (2, 7, 5, -1) # 112/75

P5 : [-1, 1, 0, 0] :: (2, 7, 4, 0) # 3/2

Grd6 : [10, -3, -2, 0] :: (1, 7, 5, 0) # 1024/675

Ac5 : [-5, 5, -1, 0] :: (3, 7, 4, 0) # 243/160

SbA5 : [-6, -2, 3, 1] :: (2, 8, 4, -1) # 875/576

SpGr5 : [5, -1, 0, -1] :: (1, 7, 4, 1) # 32/21

d6 : [6, 1, -3, 0] :: (2, 7, 5, 0) # 192/125

AcAc5 : [-9, 9, -2, 0] :: (4, 7, 4, 0) # 19683/12800

Sp5 : [1, 3, -1, -1] :: (2, 7, 4, 1) # 54/35

GrA5 : [0, -4, 3, 0] :: (1, 8, 4, 0) # 125/81

Sbm6 : [1, -2, 0, 1] :: (2, 8, 5, -1) # 14/9

Acd6 : [2, 5, -4, 0] :: (3, 7, 5, 0) # 972/625

SpAc5 : [-3, 7, -2, -1] :: (3, 7, 4, 1) # 2187/1400

A5 : [-4, 0, 2, 0] :: (2, 8, 4, 0) # 25/16

SbAcm6 : [-3, 2, -1, 1] :: (3, 8, 5, -1) # 63/40

Spd6 : [8, 3, -4, -1] :: (2, 7, 5, 1) # 6912/4375

Grm6 : [7, -4, 0, 0] :: (1, 8, 5, 0) # 128/81

AcA5 : [-8, 4, 1, 0] :: (3, 8, 4, 0) # 405/256

SpSp5 : [3, 5, -2, -2] :: (2, 7, 4, 2) # 1944/1225

m6 : [3, 0, -1, 0] :: (2, 8, 5, 0) # 8/5

SpA5 : [-2, 2, 1, -1] :: (2, 8, 4, 1) # 45/28

Acm6 : [-1, 4, -2, 0] :: (3, 8, 5, 0) # 81/50

SbM6 : [-2, -3, 2, 1] :: (2, 9, 5, -1) # 175/108

Spm6 : [5, 2, -2, -1] :: (2, 8, 5, 1) # 288/175

GrM6 : [4, -5, 2, 0] :: (1, 9, 5, 0) # 400/243

M6 : [0, -1, 1, 0] :: (2, 9, 5, 0) # 5/3

Sbd7 : [1, 1, -2, 1] :: (3, 9, 6, -1) # 42/25

AcM6 : [-4, 3, 0, 0] :: (3, 9, 5, 0) # 27/16

SbA6 : [-5, -4, 4, 1] :: (2, 10, 5, -1) # 4375/2592

SpGrM6 : [6, -3, 1, -1] :: (1, 9, 5, 1) # 320/189

Grd7 : [7, -1, -2, 0] :: (2, 9, 6, 0) # 128/75

SpM6 : [2, 1, 0, -1] :: (2, 9, 5, 1) # 12/7

GrA6 : [1, -6, 4, 0] :: (1, 10, 5, 0) # 1250/729

d7 : [3, 3, -3, 0] :: (3, 9, 6, 0) # 216/125

A6 : [-3, -2, 3, 0] :: (2, 10, 5, 0) # 125/72

Acd7 : [-1, 7, -4, 0] :: (4, 9, 6, 0) # 2187/1250

Sbm7 : [-2, 0, 0, 1] :: (3, 10, 6, -1) # 7/4

AcA6 : [-7, 2, 2, 0] :: (3, 10, 5, 0) # 225/128

SbAcm7 : [-6, 4, -1, 1] :: (4, 10, 6, -1) # 567/320

Spd7 : [5, 5, -4, -1] :: (3, 9, 6, 1) # 7776/4375

Grm7 : [4, -2, 0, 0] :: (2, 10, 6, 0) # 16/9

SpA6 : [-1, 0, 2, -1] :: (2, 10, 5, 1) # 25/14

m7 : [0, 2, -1, 0] :: (3, 10, 6, 0) # 9/5

Acm7 : [-4, 6, -2, 0] :: (4, 10, 6, 0) # 729/400

SbM7 : [-5, -1, 2, 1] :: (3, 11, 6, -1) # 175/96

Spm7 : [2, 4, -2, -1] :: (3, 10, 6, 1) # 324/175

GrM7 : [1, -3, 2, 0] :: (2, 11, 6, 0) # 50/27

Sbd8 : [2, -1, -1, 1] :: (3, 11, 7, -1) # 28/15

M7 : [-3, 1, 1, 0] :: (3, 11, 6, 0) # 15/8

SbSb8 : [-3, -4, 2, 2] :: (3, 12, 7, -2) # 1225/648

Grd8 : [8, -3, -1, 0] :: (2, 11, 7, 0) # 256/135

AcM7 : [-7, 5, 0, 0] :: (4, 11, 6, 0) # 243/128

SbA7 : [-8, -2, 4, 1] :: (3, 12, 6, -1) # 4375/2304

SpGrM7 : [3, -1, 1, -1] :: (2, 11, 6, 1) # 40/21

SbGr8 : [3, -6, 2, 1] :: (2, 12, 7, -1) # 1400/729

d8 : [4, 1, -2, 0] :: (3, 11, 7, 0) # 48/25

SpM7 : [-1, 3, 0, -1] :: (3, 11, 6, 1) # 27/14

GrA7 : [-2, -4, 4, 0] :: (2, 12, 6, 0) # 625/324

Acd8 : [0, 5, -3, 0] :: (4, 11, 7, 0) # 243/125

Sb8 : [-1, -2, 1, 1] :: (3, 12, 7, -1) # 35/18

GrGr8 : [9, -8, 2, 0] :: (1, 12, 7, 0) # 12800/6561

A7 : [-6, 0, 3, 0] :: (3, 12, 6, 0) # 125/64

SbAc8 : [-5, 2, 0, 1] :: (4, 12, 7, -1) # 63/32

Spd8 : [6, 3, -3, -1] :: (3, 11, 7, 1) # 1728/875

Gr8 : [5, -4, 1, 0] :: (2, 12, 7, 0) # 160/81

AcA7 : [-10, 4, 2, 0] :: (4, 12, 6, 0) # 2025/1024

Sbd9 : [6, -2, -2, 1] :: (3, 12, 8, -1) # 448/225

P8 : [1, 0, 0, 0] :: (3, 12, 7, 0) # 2/2

The interval coordinates in square brackets are in terms of prime harmonics, while the interval coordinates in parentheses are in terms of Lilley-Johnston commas.