Odd Limit Temperaments

Suppose we have a space of intervals with just tunings that have only odd factors - no factors of 2. We can define 1-dimensional equal temperaments over such a space (equal divisions of a "decade" tuned to 3/1), or even unequal temperaments in higher dimensions that are still lower than the dimension of the interval space in question.

If we represent rank-2 intervals in the odd prime harmonic basis, then the elements are like exponents of 3 and 5 in the factorization of the justly associated frequency ratios. These ratios get large numerators and denominators very quickly, but here are a few easy ones:

[0, 0] # 1/1

[3, -2] # 27/25

[6, -4] # 729/625

[-7, 5] # 3125/2187

[-4, 3] # 125/81

[-1, 1] # 5/3

[2, -1] # 9/5

[5, -3] # 243/125

[8, -5] # 6561/3125

[-5, 4] # 625/243

[-2, 2] # 25/9

[1, 0] # 3/1

If we want to define an equal temperament over the decade, and EDD, we tune the decade purely and temper out some other interval X. 

    t(P12) = 3/1
    t(X) = 1/1

This induces effects on the tuning of other intervals - and we can see this by expressing those intervals in the basis [[1, 0], X] instead of the rank-2 odd prime harmonic basis [[1, 0], [0, 1]]. I'll also call the interval X a comma or tempered comma.

To convert interval bases, we just "left multiply" or "vector-matrix multiply" the target interval we want to convert by a transformation matrix, which is simply the inverse of the matrix [[1, 0], X].

Suppose we've converted a target interval Y to have coordinates in this tempered comma basis, and we'll call the new coordinates [a, b]. Then we have this relation in interval space:

    Y = a * P12  + b * X

and this has a parallel expression in frequency ratio space:

    t(Y) = t(P12)^(a) * t(X)^(b)

where t(Y) is the tuning a interval Y in some tuning system. By substitution of the tunings For P12 and X in our tempered tuning system we have

    t(Y) = (3/1)^(a) * (1/1)^b

which means that any target interval Y will be tuned to a frequency ratio of 3 to some rational number. I haven't proven to you that {a} will be rational, but there are only so many hours in a day.

For example, the frequency ratio 48828125/43046721 is quite small and would make a good comma. It has a prime factorization of 

    3^(-16) * 5 ^(11)

so the associated interval in the rank-2 odd prime harmonic basis is

    [-16, 11]

Our transformation matrix is

    inverse([[1, 0], [-16, 11]])

And you don't have to tune many target intervals with this to guess that it's producing frequency ratios of the form

    3^(i/11)

i.e. this defines the "11 equal division of the decade" temperament, or 11-EDD. We can also verify this by seeing that the absolute determinant of the transformation matrix is 1/11.

There are actually many intervals you could temper out to produce 11-EDD. Another way to define 11-EDD is this: For a rank-N interval space, 11-EDD tunes each interval justly assocaited with an odd prime harmonic to the nearest frequency of the form 3^(i/11). If this had no mistuning, then for a prime P, we'd have

    P = 3^(i/11)

or 

    i = 11 * log_3(P)

but usally there is mistuning, so we round {i} to the nearest integer:

    i = round(11 * log_3(P))

Here are the nearest steps for 11-EDD for primes [3, 5, 7, 11, 13]

    11-EDD: [11, 16, 19, 24, 26]

I'll call a sequence of harmonic EDD-steps like that a canonical definition for the EDD for a given rank, i.e. that's the canonical rank-5 definition of 11-EDD. At some point down the line, as you might predict from the shape of the log function, multiple harmonics will be tuned to the same step. This has never been a problem for me. Like, 11-EDD has the same tuning for the 16th and 17th odd prime harmonic. But I don't use those? You don't need those harmonics for music making. The 16th and 17th harmonics, you need those. The 16th and 17th *prime* harmonics? Get out of my face.

Samller EDDs reach this point of ambiguity sooner, but you can just ... not use 5-EDD, or you can use it without considering how the steps might map to intervals with just tunings involving factors of 37 and 41. It's not hard. Or you can use just accept that 5-EDD tunes these identically. It's all fine.

Some EDDs can't be defined over a rank-2 interval space: no matter what rank-2 interval you try to temper out, you'll get some other EDD. This is very easy to predict: if the first two values of the canonical definition for the EDD have a greatest common divisor of 1, you can give the EDD a definition in terms of a pure decade and a tempered comma. If the first *three* values have GCD = 1, then you can give a rank-3 definition in terms of a pure decade and *two* tempered commas. And so on. Here are a few EDDs, and the shortest canonical definition for each one that gives a GCD of 1:

10-EDD: [10, 15, 18] // rank-3
11-EDD: [11, 16] // rank-2
12-EDD: [12, 18, 21, 26] // rank-4
13-EDD: [13, 19] // rank-2
14-EDD: [14, 21, 25] // rank-3
15-EDD: [15, 22] // rank-2
16-EDD: [16, 23] // rank-2
17-EDD: [17, 25] // rank-2
18-EDD: [18, 26, 32, 39] // rank-4
19-EDD: [19, 28] // rank-2
20-EDD: [20, 29] // rank-2
21-EDD: [21, 31] // rank-2
22-EDD: [22, 32, 39] // rank-3
23-EDD: [23, 34] // rank-2
24-EDD: [24, 35] // rank-2
25-EDD: [25, 37] // rank-2
26-EDD: [26, 38, 46, 57] // rank-4
27-EDD: [27, 40] // rank-2
28-EDD: [28, 41] // rank-2
29-EDD: [29, 42] // rank-2
30-EDD: [30, 44, 53] // rank-3
31-EDD: [31, 45] // rank-2
32-EDD: [32, 47] // rank-2
33-EDD: [33, 48, 58] // rank-3
34-EDD: [34, 50, 60, 74, 79] // rank-5
35-EDD: [35, 51] // rank-2
36-EDD: [36, 53] // rank-2
37-EDD: [37, 54] // rank-2
38-EDD: [38, 56, 67] // rank-3
39-EDD: [39, 57, 69, 85] // rank-4
40-EDD: [40, 59] // rank-2

Using the canonical definitions, it's also really easy to figure out which rank-2 tempered comma you can use to define an EDD that is rank-2 definable. You can see that 11-EDDs has a rank-2 canonical definition of [11, 16]. If you reverse these numbers and flip the sign up one, i.e. temper out [-16, 11] or [16, -11], then you'll get 11-EDD. These two intervals are complementary: they sum to [0, 0], and equivalently, their just tunings will also have inverse frequency ratios. Only one of these ratios will be larger than 1/1, and that's the one I prefer to use in defining EDOs, but they're equivalent definitions, and tempering one out will also temper out the other.

If you give a non-canonical definition of an EDD, e.g. if you don't tune the prime harmonic interval associated with 5/1 to its nearest step, then you get different tempered commas; weird commas that don't have small just tunings near 1/1. If you make a transformation matrix from the decade and a non-canonical comma, you'll still map intervals to frequency ratios like 3^(i/11), but the mapping will be weird - things that should be nearby will be ripped up and sent far from each other, decades away. I once tried using multiple non-canonical definitions like this for an EDO to to generate interesting harmonies. It sounded pretty crazy.

Anyway, the most important EDD is 13-EDD, which is definable with rank-2 intervals. Here's its rank-2 canonical harmonic prefix:
 
       13-EDD: [13, 19] // rank-2

So we could define it by tempering out 

    [-19, 13] # 3^(-19) * 5^(13) = 1220703125/1162261467

But it's more common to define it over rank-3 interval space. It happens to be definable over rank-3 interval space in terms of a pure decade and tempered commas that have just tunigns of 245/243 and 3087/3125.

Finding a rank-2 tempered comma was really easy, but I don't have a short procedure I can explain to you here for finding two commas that generate an equal temperament over rank-3 interval space. I mean, you could do a simialr thing to the rank-2 case by re-ordering and negating some numbers from the canonical definition, but they're going to be really ugly intervals with high complexity just tunings.  I gess you don't really need to have low complexity ratios to define an EDD, but it's nice to give a short simple definition for a temperament that way and I'd feel dirty if I did anything less.

When I first got into microtonality, I would just tune a bunch of intervals in an EDO, e.g. using the canonical definition, then see which ones were tempered out to 0 steps, and look for the ones with the lowest complexity frequency ratios in that set, or search through linear combinations of my found tempered commas to find even lower complexity frequency ratios. Then I'd find the determinant of the transformation matrix to verify that my lowest complexity commas were sufficient to define the EDO. The same thing would work with EDDs, I'm sure.

Later on I starting using the Lenstra–Lenstra–Lovasz lattice basis reduction algorithm to find tempered commas of EDOs. I could probably adapt the code to work for EDDs without much work.

Anyway, if you divide a 13-EDD steps into three parts, you instead get 39-EDD. This does an equally good job of representing ratios with factors of 3, 5, 7, and a much better job of representing ratios with factors of 11. So if we want to write music that sounds like 11-odd-limit just intonation using only a finite set of pitches that supports free modulation, then 39-EDD is a good choice. We could also look at detempering 39-EDD in order to play around with pure 11-limit harmony. 

Let's do it! We'll start by finding 39-EDDs tempered commas.

...

Odd Limit Harmony In Bohlen Pierce

I've heard it said that the fundamental chord of the Bohlen Pierce 7 odd limit just intonation scale is [3:5:7], otonally. In frequency ratios that's

    [1/1, 5/3, 7/3]

If we use regular intervals instead of BP intervals to analyze the harmony, that's the just tuning of

    [P1, M6, Sbm10]

The Bohlen Piece scales don't have octaves, but my ear still has octave equivalence, so I hear that as a spread out voicing of

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

Since BP doesn't have octaves, you might also think it's odd to do cyclic inversion of chords at the octave, but my ear has octave equivalence, so this chord has a similar sonority to me as does:

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

And

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

This last version has a tertian spelling, and I consider that the canonical form for presentation. So I think the fundamental [3:5:7] chord of BP music is a rotated and spread out version of this diminished chord with a septimal alteration on the fifth. This chord does indeed show up a in the Bohlen Pierce scale. For example, the chord is outlined by the [0th, 6th, and 10th] notes of the scale, and five other places besides that:

^[0, 6, 10]

^[1, 7, 11]

^[3, 9, 13]

^[7, 13, 17]

^[9, 15, 19]

^[11, 17, 21]

What other chords can we make between scale degrees of BP?

Here's the scale for reference (in standard intervals, not BP intervals):

P1 # 1/1

Acm2 # 27/25

SpA2 # 25/21

SpM3 # 9/7

Sbd5 # 7/5

SpSpAA4 # 75/49

M6 # 5/3

m7 # 9/5

SbSbAcd9 # 49/25

SpA8 # 15/7

Sbm10 # 7/3

SbAcd11 # 63/25

A11 # 25/9

P12 # 3/1

This scale doesn't repeat at the octave, it repeats at the decade/tritave/P12, so that all the scale steps in the next decade have just tunings that are 3 times the ones above:

P12 # 3/1

Acm13 # 81/25

SpA13 # 25/7

SpM14 # 27/7

SbAcm16 # 21/5

SpSpAA15 # 225/49

M17 # 5/1

Ac18 # 27/5

SbSbAcd20 # 147/25

SpA19 # 45/7

Sbm21 # 7/1

SbAcd22 # 189/25

A22 # 25/3

AcM23 # 9/1

Here are 91 chords that you can make between BP scale degrees (with octave reduced forms on the right hand side of the colon). These are all tertian spellings - I've inverted the chords at the octave if they were ^[1, 3, 6] or ^[1, 4, 6] chords. This might seem overwhelming at first, but the BP scale has one more note than a chromatic scale, so there should be lots of available chords. And there are other crazier chords besides these that you can make of course, but I thought these looked fairly tame.

^[0, 12, 15] # [1/1, 25/9, 25/7] : [P1, SpM3, d5]

^[0, 14, 20] # [1/1, 81/25, 27/5] : [P1, m3, Gr5]

^[0, 6, 12] # [1/1, 5/3, 25/9] : [P1, m3, d5]

^[0, 6, 19] # [1/1, 5/3, 5/1] : [P1, m3, P5]

^[0, 6, 10] # [1/1, 5/3, 7/3] : [P1, m3, Sbd5]

^[0, 19, 22] # [1/1, 5/1, 45/7] : [P1, M3, SpA5]

^[0, 13, 19] # [1/1, 3/1, 5/1] : [P1, M3, P5]

^[0, 4, 19] # [1/1, 7/5, 5/1] : [P1, M3, Sbd5]

^[0, 4, 10] # [1/1, 7/5, 7/3] : [P1, Sbm3, Sbd5]

^[0, 10, 13] # [1/1, 7/3, 3/1] : [P1, Sbm3, P5]

^[0, 10, 22] # [1/1, 7/3, 45/7] : [P1, Sbm3, SpA5]

^[0, 15, 19] # [1/1, 25/7, 5/1] : [P1, Sbd3, Sbd5]

^[0, 3, 6] # [1/1, 9/7, 5/3] : [P1, m3, Sp5]

^[0, 3, 13] # [1/1, 9/7, 3/1] : [P1, SpM3, P5]

^[0, 3, 4] # [1/1, 9/7, 7/5] : [P1, SpM3, Sbd5]

^[0, 3, 15] # [1/1, 9/7, 25/7] : [P1, Sbd3, d5]

^[0, 3, 22] # [1/1, 9/7, 45/7] : [P1, SpM3, SpA5]

^[1, 14, 20] # [27/25, 81/25, 27/5] : [P1, M3, P5]

^[1, 13, 23] # [27/25, 3/1, 7/1] : [P1, Sbm3, d5]

^[1, 13, 16] # [27/25, 3/1, 27/7] : [P1, SpM3, d5]

^[1, 11, 14] # [27/25, 63/25, 81/25] : [P1, Sbm3, P5]

^[1, 4, 23] # [27/25, 7/5, 7/1] : [P1, M3, Sp5]

^[1, 4, 7] # [27/25, 7/5, 9/5] : [P1, SpM3, Sp5]

^[1, 16, 20] # [27/25, 27/7, 27/5] : [P1, Sbd3, Sbd5]

^[1, 7, 20] # [27/25, 9/5, 27/5] : [P1, m3, P5]

^[1, 7, 13] # [27/25, 9/5, 3/1] : [P1, m3, d5]

^[1, 7, 11] # [27/25, 9/5, 63/25] : [P1, m3, Sbd5]

^[2, 12, 15] # [25/21, 25/9, 25/7] : [P1, Sbm3, P5]

^[2, 6, 12] # [25/21, 5/3, 25/9] : [P1, Sbm3, Sbd5]

^[2, 16, 22] # [25/21, 27/7, 45/7] : [P1, m3, Gr5]

^[2, 5, 6] # [25/21, 75/49, 5/3] : [P1, SpM3, Sbd5]

^[2, 5, 15] # [25/21, 75/49, 25/7] : [P1, SpM3, P5]

^[3, 6, 25] # [9/7, 5/3, 25/3] : [P1, M3, Sp5]

^[3, 6, 9] # [9/7, 5/3, 15/7] : [P1, SpM3, Sp5]

^[3, 13, 16] # [9/7, 3/1, 27/7] : [P1, Sbm3, P5]

^[3, 9, 13] # [9/7, 15/7, 3/1] : [P1, m3, Sbd5]

^[3, 9, 15] # [9/7, 15/7, 25/7] : [P1, m3, d5]

^[3, 9, 22] # [9/7, 15/7, 45/7] : [P1, m3, P5]

^[3, 15, 25] # [9/7, 25/7, 25/3] : [P1, Sbm3, d5]

^[3, 15, 18] # [9/7, 25/7, 225/49] : [P1, SpM3, d5]

^[3, 16, 22] # [9/7, 27/7, 45/7] : [P1, M3, P5]

^[3, 18, 22] # [9/7, 225/49, 45/7] : [P1, Sbd3, Sbd5]

^[3, 7, 13] # [9/7, 9/5, 3/1] : [P1, Sbm3, Sbd5]

^[3, 7, 22] # [9/7, 9/5, 45/7] : [P1, M3, Sbd5]

^[5, 9, 15] # [75/49, 15/7, 25/7] : [P1, Sbm3, Sbd5]

^[5, 15, 18] # [75/49, 25/7, 225/49] : [P1, Sbm3, P5]

^[4, 19, 23] # [7/5, 5/1, 7/1] : [P1, Sbd3, Sbd5]

^[4, 17, 23] # [7/5, 21/5, 7/1] : [P1, M3, P5]

^[4, 8, 23] # [7/5, 49/25, 7/1] : [P1, M3, Sbd5]

^[4, 10, 23] # [7/5, 7/3, 7/1] : [P1, m3, P5]

^[4, 23, 26] # [7/5, 7/1, 9/1] : [P1, M3, SpA5]

^[4, 7, 26] # [7/5, 9/5, 9/1] : [P1, SpM3, SpA5]

^[4, 7, 19] # [7/5, 9/5, 5/1] : [P1, Sbd3, d5]

^[4, 7, 17] # [7/5, 9/5, 21/5] : [P1, SpM3, P5]

^[4, 7, 8] # [7/5, 9/5, 49/25] : [P1, SpM3, Sbd5]

^[4, 7, 10] # [7/5, 9/5, 7/3] : [P1, m3, Sp5]

^[6, 12, 25] # [5/3, 25/9, 25/3] : [P1, m3, P5]

^[6, 20, 26] # [5/3, 27/5, 9/1] : [P1, m3, Gr5]

^[6, 19, 25] # [5/3, 5/1, 25/3] : [P1, M3, P5]

^[6, 10, 25] # [5/3, 7/3, 25/3] : [P1, M3, Sbd5]

^[6, 9, 12] # [5/3, 15/7, 25/9] : [P1, m3, Sp5]

^[6, 9, 19] # [5/3, 15/7, 5/1] : [P1, SpM3, P5]

^[6, 9, 10] # [5/3, 15/7, 7/3] : [P1, SpM3, Sbd5]

^[7, 20, 26] # [9/5, 27/5, 9/1] : [P1, M3, P5]

^[7, 19, 22] # [9/5, 5/1, 45/7] : [P1, SpM3, d5]

^[7, 13, 26] # [9/5, 3/1, 9/1] : [P1, m3, P5]

^[7, 13, 19] # [9/5, 3/1, 5/1] : [P1, m3, d5]

^[7, 13, 17] # [9/5, 3/1, 21/5] : [P1, m3, Sbd5]

^[7, 11, 26] # [9/5, 63/25, 9/1] : [P1, M3, Sbd5]

^[7, 11, 17] # [9/5, 63/25, 21/5] : [P1, Sbm3, Sbd5]

^[7, 17, 20] # [9/5, 21/5, 27/5] : [P1, Sbm3, P5]

^[7, 10, 13] # [9/5, 7/3, 3/1] : [P1, SpM3, Sp5]

^[7, 22, 26] # [9/5, 45/7, 9/1] : [P1, Sbd3, Sbd5]

^[9, 12, 15] # [15/7, 25/9, 25/7] : [P1, SpM3, Sp5]

^[9, 19, 22] # [15/7, 5/1, 45/7] : [P1, Sbm3, P5]

^[9, 13, 19] # [15/7, 3/1, 5/1] : [P1, Sbm3, Sbd5]

^[9, 15, 19] # [15/7, 25/7, 5/1] : [P1, m3, Sbd5]

^[15, 19, 25] # [25/7, 5/1, 25/3] : [P1, Sbm3, Sbd5]

^[15, 18, 19] # [25/7, 225/49, 5/1] : [P1, SpM3, Sbd5]

^[8, 11, 21] # [49/25, 63/25, 147/25] : [P1, SpM3, P5]

^[8, 11, 23] # [49/25, 63/25, 7/1] : [P1, Sbd3, d5]

^[10, 13, 25] # [7/3, 3/1, 25/3] : [P1, Sbd3, d5]

^[10, 13, 23] # [7/3, 3/1, 7/1] : [P1, SpM3, P5]

^[11, 14, 26] # [63/25, 81/25, 9/1] : [P1, Sbd3, d5]

^[11, 14, 24] # [63/25, 81/25, 189/25] : [P1, SpM3, P5]

^[11, 14, 17] # [63/25, 81/25, 21/5] : [P1, m3, Sp5]

^[11, 17, 21] # [63/25, 21/5, 147/25] : [P1, m3, Sbd5]

^[11, 17, 23] # [63/25, 21/5, 7/1] : [P1, m3, d5]

^[11, 21, 24] # [63/25, 147/25, 189/25] : [P1, Sbm3, P5]

^[11, 23, 26] # [63/25, 7/1, 9/1] : [P1, SpM3, d5]

^[12, 15, 25] # [25/9, 25/7, 25/3] : [P1, SpM3, P5]

Across this set of 91 chords, some chord forms are repeated. There are really only 20 distinct sounds here:

[P1, Sbd3, Sbd5] # [1/1, 28/25, 7/5]

[P1, Sbd3, d5] # [1/1, 28/25, 36/25]

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

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

[P1, Sbm3, SpA5] # [1/1, 7/6, 45/28]

[P1, Sbm3, d5] # [1/1, 7/6, 36/25]

[P1, m3, Gr5] # [1/1, 6/5, 40/27]

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

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

[P1, m3, Sp5] # [1/1, 6/5, 54/35]

[P1, m3, d5] # [1/1, 6/5, 36/25]

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

[P1, M3, Sbd5] # [1/1, 5/4, 7/5]

[P1, M3, Sp5] # [1/1, 5/4, 54/35]

[P1, M3, SpA5] # [1/1, 5/4, 45/28]

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

[P1, SpM3, Sbd5] # [1/1, 9/7, 7/5]

[P1, SpM3, Sp5] # [1/1, 9/7, 54/35]

[P1, SpM3, SpA5] # [1/1, 9/7, 45/28]

[P1, SpM3, d5] # [1/1, 9/7, 36/25]

I'd say that these are the core triadic harmonies available in Bohlen Pierce music, even though they have factors of 2 in the frequency ratios and the just intonation BP scale doesn't.

Detempering

Tempering means applying a tuning system (to a set of intervals) which maps some intervals to a frequency ratio of 1/1. This hides the effect of those intervals. For example, if Ac1 is tempered out, then you'll hear the same frequency ratio for any tuned intervals expressible as

    n * Ac1

for integers {n}. So in tuning, we've lost information.

Given a piece in a tempered tuning, what can we do to try reconstructing plausible intervallic muisc?

We could off course just associate every tempered frequency ratio with a single interval in our detempering reconstruction, e.g. assume every 1/1 was a P1 before we threw out the information. This is roughly the state of the art in the microtonal community.

That's weaksauce, but it's an okay baseline. We know that we can do at least as well as mapping, e.g. steps of 12 edo to a ch,romatic scale,

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] ->

    [P1, m2, M2, m3, M3, P4, d5, P5, m6, M6, m7, M7, P8]

What can we do that's better than that?

Suppose for a toy example that every step of 12-EDO can map to a small finite set of intervals, like the chromatic values above plus or minus an Ac1 and plus or minus a d2. It's up to you if you want to allow both commas to be applied at once, or to apply them multiple times. But we want something finite.

We're free to associate those altered chromatic intervals with the same 12-EDO step because 12-EDO tempers out Ac1 and d2. If you're working with a different temperament, you'll similarly continue to want to used its tempered commas to generate intervallic detempering options for every tuned frequency ratio in your song, but it might not be Ac1 and d2, and they might not be altering a chromatic scale. But let's keep working with 12-TET for simplicity and concreteness and applicability to the canon of modern western music.

For a given song, we'd like to choose among these intervallic detempering options for every note so as to get 

    1) melodic intervals that are fluid

    2) harmonic intervals that are consonant

and if those two criteria leave some decisions un-made, then we'd like to also have

    3) low complexity just tunings of individual notes

Those are currently three vague optimization criteria. Let's make them a little more concrete.

For a first approximation, we'll suppose that melodic fluidity and harmonic consonance are the same - some intervals are better at both functions and some intervals are worse at both functions.

Suppose we bless a set of intervals as perfectly consonant+fluid, perhaps

[P1, P4, P5]

[Grm2, m2, M2, AcM2]

[Grm3, m3, M3, AcM3]

[Grm6, m6, M6, AcM6]

[Grm7, m7, M7, AcM7]

And maybe also the octave displacements of those shall be blessed.

Next we judge all other intervals as being less consonant+fluid based on how many commas we have to traverse to reach a blessed one. We'll need to define a set of traversing commas for this - which steps are we making and counting to get from A to B. Let's work in rank-3 interval space / 5-limit just intonation and use (Ac1, A1, d2) as our traversing commas. This will let us move between any pair of intervals since this basis is unimodular in the rank 3 prime harmonic basis, (P8, P12, M17).

For a given interval B, you

    0) find the octave reduction of B, 

    1) take the difference of reduced-B with each blessed interval, 

    2) express the differences in the (Ac1, A1, d2) basis, 

    3) take the sum of the absolute values of the components of each difference interval

    4) take the minimum value of those sums as the score of dissonance. A larger score means the original interval was separated from the nearest blessed interval by more commas, and therefore was itself more dissonant.

Here's what that looks like for some rank-9 intervals:

1 : A1 # 25/24

1 : A4 # 25/18

1 : Ac1 # 81/80

1 : Acd4 # 162/125

1 : Acm2 # 27/25

1 : As1 # 33/32

1 : As4 # 11/8

1 : AsGrm2 # 88/81

1 : AsGrm3 # 11/9

1 : AsGrm6 # 44/27

1 : AsGrm7 # 11/6

1 : Asm2 # 11/10

1 : De5 # 16/11

1 : DeAcM2 # 12/11

1 : DeAcM3 # 27/22

1 : DeAcM6 # 18/11

1 : DeAcM7 # 81/44

1 : DeM7 # 20/11

1 : Dem7 # 96/55

1 : Gr5 # 40/27

1 : GrA1 # 250/243

1 : Pr1 # 65/64

1 : PrGrm7 # 65/36

1 : Prm2 # 13/12

1 : Prm3 # 39/32

1 : Prm6 # 13/8

1 : Re5 # 96/65

1 : ReAcM2 # 72/65

1 : ReM3 # 16/13

1 : ReM6 # 64/39

1 : ReM7 # 24/13

1 : Rsm2 # 512/475

1 : Sb5 # 35/24

1 : SbAcM2 # 35/32

1 : Sbm2 # 28/27

1 : Sbm3 # 7/6

1 : Sbm7 # 7/4

1 : Sp1 # 36/35

1 : SpM2 # 8/7

1 : SpM3 # 9/7

1 : d4 # 32/25

1 : d5 # 36/25

1 : d5 # 36/25

2 : AcA1 # 135/128

2 : AsGr1 # 55/54

2 : AsGrd7 # 44/25

2 : DeA1 # 100/99

2 : DeAc5 # 81/55

2 : DeSbAcM3 # 105/88

2 : DeSbm7 # 56/33

2 : ExA1 # 17/16

2 : FaA1 # 2375/2304

2 : Grd4 # 512/405

2 : Grd5 # 64/45

2 : PrDe5 # 65/44

2 : PrDem3 # 13/11

2 : PrDem7 # 39/22

2 : PrGrd7 # 26/15

2 : PrSp1 # 117/112

2 : PrSpm2 # 39/35

2 : Prd2 # 26/25

2 : ReA1 # 40/39

2 : ReAs1 # 66/65

2 : ReAsM2 # 44/39

2 : ReAsM3 # 33/26

2 : ReSb5 # 56/39

2 : ReSbAcM2 # 14/13

2 : ReSbM7 # 70/39

2 : SbAcm2 # 21/20

2 : Sbd4 # 56/45

2 : Sbd5 # 7/5

2 : Sbd7 # 42/25

2 : SpA1 # 15/14

2 : SpGr1 # 64/63

2 : Spd4 # 1152/875

3 : AcAcA1 # 2187/2048

3 : AcAcA4 # 729/512

3 : AsGrd5 # 22/15

3 : AsSbGrd7 # 77/45

3 : AsSpGr1 # 22/21

3 : AsSpGr1 # 22/21

3 : DeAcA1 # 45/44

3 : DeDeAcAA1 # 125/121

3 : DeSbAc5 # 63/44

3 : DeSpA1 # 80/77

3 : GrGrd5 # 1024/729

3 : PrDeSp1 # 78/77

3 : PrDed5 # 78/55

3 : PrGrd5 # 13/9

3 : PrPrd4 # 169/128

3 : PrSbGrd7 # 91/54

3 : PrSbd5 # 91/64

3 : PrSpGr1 # 65/63

3 : ReAcA1 # 27/26

3 : ReAsSb5 # 77/52

3 : ReDeAcAA1 # 150/143

3 : SbSbd7 # 49/30

3 : SpAcA1 # 243/224

3 : SpSpGr1 # 256/245

4 : AsAsGrd1 # 121/120

4 : AsSbGrd5 # 77/54

4 : AsSpGrd1 # 176/175

4 : DeSpAcA1 # 81/77

4 : PrAsGrd4 # 143/108

4 : PrDeSbd5 # 91/66

4 : PrDeSbd7 # 91/55

4 : ReAsAsGr1 # 121/117

4 : ReDeAcA1 # 144/143

4 : ReDeAcA4 # 192/143

4 : ReReAsA1 # 176/169

4 : ReReSbAcAA1 # 175/169

4 : ReSbAcA1 # 105/104

5 : DeDeAcAcA1 # 243/242

5 : PrAsSpGrd1 # 143/140

5 : PrPrSpGrd1 # 169/168

This looks really good to me - nothing is miscategorized. And the score is basically the number of adjectives in from of a 3-limit or 5-limit natural interval. Easy. Unfortunately, the categories aren't very granular, e.g. lots of things are 1 step of dissonance away from blessed. So how do we decide among them? Maybe that's where our notion of frequency ratio complexity comes into play.

For our measure of frequency ratio simplicity, I'm a little torn: it's dirt simple to only use numerator magnitude, but this neglects factor structure: a 3-limit Pythagorean Major Third justly tuned to 81/64 is a much more harmonically basic ratio than, e.g. a 13-limit justly tuned Recessed Major Third at 16/13. We could simply ignore the contribution of factors 2 and 3, but then all Pythagorean ratios would be equally consonant, which isn't right.

The first frequency ratio norm I've found that I like somewhat is this:

    norm = sum([abs(coordinate) * (primes[index] ** 3) for index, coordinate in enumerate(harmonic_coordinates)])

Here's how the function works: for a given ratio, find its prime factorization, and represent all the exponents for primes up to some limit as a vector. Here we have a 9 component vector representing exponents of prime factors up to 23, since 23 is the 9th prime: 

    81/80 :: [-4, 4, -1, 0, 0, 0, 0, 0, 0]

The norm for this ratio takes the absolute value of each vector component and multiplies it by the cube of the corresponding prime, then sums all those products:

    (4 * 2^3) + (4 * 3^3) + (1 * 5^3) = 265

Here are a few frequency ratios sorted by increasing norm value to give you an idea of how this norm behaves:

    [1/1, 2/1, 3/2, 4/3, 9/8, 81/64, 16/15, 10/9, 256/243, 81/80, 7/4, 11/4, 11/8, 11/10, 16/13, 13/12, 14/13, 17/16, 57/56]

I said we were working in 5-limit just intonation, so most of these ratios wouldn't show up, but I want to the norm to be well behaved at higher prime limits. If I write a detempering algorithm that works up to 23-limit, I'll use these as my traversing commas:

    [Ac1, A1, d2, Sp1, As1, Pr1, Ex1, Rs1, Nb1][81/80, 25/24, 128/125, 36/35, 33/32, 65/64, 51/50, 96/95, 46/45]

The fractionc complexity norm above does a good job of penalizing higher primes and letting Pythagorean ratios play first, or at least letting them play fairly soon. I like septimal ratios almost as much as Pythagorean ones, and would prefer it if 7/4 wasn't deemed less consonant than 81/80, but this is a good start. I guess I could just put some intervals with septimal just tuning into the blessed set if I wanted them to show up more.

Here are a few intervals that I already had defined in code sorted by the norm of their frequency ratios:

[P1, P8, P5, P4, AcM2, Grm7, AcM6, Grm3, M3, m6, M6, AcM3, m3, Grm6, M7, m7, m2, M2, AcM7, Grm2, Grd5, Gr5, AcAcA4, GrGrd5, AcA1, Ac1, AcAcA1, d4, A1, Grd4, A4, d5, Acm2, Sbm7, SpM2, Sbm3, SpM3, Sbm2, SpGr1, Sbd5, Acd4, SpA1, SbAcM2, SbAcm2, GrA1, SpAcA1, Sb5, Sp1, Sbd4, Sbd7, Spd4, SbSbd7, SpSpGr1, As4, De5, AsGrm7, DeAcM2, AsGrm3, DeAcM6, As1, DeAcM3, AsGrm6, DeAcM7, AsGrm2, Asm2, DeM7, AsGrd5, Dem7, DeAcA1, AsGr1, DeAc5, AsGrd7, DeA1, AsSpGr1, AsSpGr1, DeSbm7, DeSbAc5, AsSbGrd5, DeSpAcA1, DeSpA1, DeSbAcM3, AsSbGrd7, AsSpGrd1, Prm6, ReM3, Prm2, ReM7, PrGrd5, Prm3, ReM6, ReAcA1, PrGrd7, Pr1, ReA1, Re5, PrGrm7, ReAcM2, Prd2, ReSbAcM2, PrSbd5, ReSb5, PrSp1, PrSbGrd7, PrSpm2, ReSbM7, ReSbAcA1, PrSpGr1, DeDeAcAcA1, AsAsGrd1, DeDeAcAA1, PrDem3, PrDem7, ReAsM3, ReAsM2, ReDeAcA4, ReDeAcA1, PrAsGrd4, PrDe5, PrDed5, ReAs1, ReDeAcAA1, ReAsSb5, PrDeSbd5, PrDeSp1, PrDeSbd7, PrAsSpGrd1, PrPrd4, PrPrSpGrd1, ReAsAsGr1, ExA1, ReReSbAcAA1, ReReAsA1, Rsm2, FaA1]

It's kind of weird that an ascendant sub grave diminished unison, AsSbGrd5, is more complex than a prominent minor second, Prm2, but that's on me for definine a bad norm, I guess. But those are going to be in difference dissonance categories, and then the frequency ratio things disambiguates within the category, yeah? I could probably combine them numerically even.... Or continue thinking about detempering.

Wait, no, I've got it! I want the dissonance categories to remain, and the frequency ratios to disambiguate within them. And the dissonacne categories are integers. So I'll map the frequency ratio norm to the range [0, 1) and add that to the dissonance category. That way there's (probably) a total order over intervals and their just tunings, but also nothing gets too far away from its dissonance category. So we need a function that takes [0, inf) to [0, 1), like

f(x) = x / (1 + x)

f(x) = 1 - e^(-x)

f(x) = tanh(x)

f(x) = 2/Ï€ * arctan(x)

I tried the first function. It works okay. I notice that since I didn't inclode tritones in the blessed set (intentionally) and since Pythagorean tritones 

AcAcA4 # 729/512

GrGrd5 # 1024/729

have large numerators and lots of factors and they're quite a few commas away from natural intervals like P4 and P5, they get quite high dissonance ratings, whereas the 5-limti A4 and d5 do not. I'm not sure if this is a bug, but I think so. I remember I once listened to tons of different intonations of diminished chords and I thought a pythagorean diminished triad

    [P1, Grm3, GrGrd5]

was particularly beautiful. So the fact that none of my methods like GrGrd5 is a bit of a flaw.

Anyway, regardless of their quality, we now have concrete notions of consonance+fluidity and frequency ratio simplicity.

For a melody in 12-TET, we have oh, 5 or 9 or however many interval options per tempered frequency ratio, and we want to make interval selections for all of our notes to minimize melodic disfluidity/dissonance, and if multiple choices of intervals would leave us with same amount of disfluidity, then we want to minimize the frequency ratio complexity of the just tunings of individual notes.

This is almost solvable, but still a little ill-posed. Having a finite search space helps a lot. How about this: given two interval sequences with equal melodic disfluidity, sum the frequency ratio complexities for the just tunings of all the intervals in each detempering / melodic interval reconstruction. I think this probably won't work well: 2/1 has a normed value of 8, while 16/13 has a norm of 2229. These are really different magnitudes, so the sum of ratio complexities for a detempered melodic line is going to be dominanted by single notes. Maybe it would work, but it seems unlikely. I guess I could take a logarithm of the norm to make things more similarly sized. I'll try it both ways and see what gives better results.

That's a partial solution to detempering, yeah? You could code this up and it would find you an intervallic melody from a 12-TET melody (or 19-TET or 53-TET or meantone or whatever, with a litle tweaking).

That's very exciting to me! It's a big conceptual improvement over mapping 1 ratio to 1 interval. Maybe it won't work that well, but it's got moving parts that can be adjusted until it does.

Let's think about polyphonic music next.

Suppose you have two voices. I care more about harmonic consonance than melodic fluidity, so at every moment, we're going to have pure harmony, and if there are some wonky melodic steps to get there, that's fine.

I've been thinking that my notion of favoring a low frequency ratio complexity in the just tunings of notes over a reference pitch will tend to limit comma drift, but comma drift is beautiful and not something we should limit. We should drift all over frequency space, wherever harmony and fluidity take us, regardless of our starting pitches.

...

I think for a given passage in a song, you're going to have one melody that's most important, and it's going to have the most fluid melodic intervals, and other notes of other voices will adapt around it to make good harmony, even if this makes their melodies less fluid. Maybe everyone can move fluidly and maintain harmony, but I doubt it, and if that's the case, then one star voice at a time will maintain the greatest fluidity.

...

Ornaments Over Major Third

In my post on playing jazz piano from a lead sheet, I shared some melodic substitions rules that I learned from Shan Verma. If you have a melodic passage outlining a major third or minor third, up or down, Shan has some ornaments you can put there to add some movement and variety. His riffs were called triplet major (up/down), triplet minor (up/down), chromatic major (up/down), and standard minor (up/down). Now, I was a little bothered that I didn't know a Verma riff called standard major up or down. If he has one, it's not available in his free materials. Maybe if you pay for his courses. There also isn't a free chromatic minor up or down, but that didn't bother me as much. I want to know the standard stuff first.

So I made up some more riffs for major thirds. Suppose we're in 4/4 time and we go from C for two beats, up a major third to E for some amount of time, let's say also two beats. We'll replace the C with four eighth note and keep E with the same duration, giving us a new rhythm of [e e e e h]. Here are some pitch options and what I call the riffs: 

[C B C D E] # standard major

[C D B C E] # enclosed major

[C D E Eb E] # neighbor major

I like all of these. What's more, if you play them in reverse, going from E down to C, I still like them, and continue to think the names are appropiate.

To put these and the other Verma riffs into code, I wrote some functions. One of them does diatonic offsets, i.e. given a pitch and a scale, it takes you up or down the scale by some number of notes. If the given note isn't in the scale, the first offset gets you back onto the scale on the nearest note in the direction  you want to go (i.e. the nearest note changes depending on if the offset supplied to the function is positive or negative). I also wrote a function that finds chromatic offsets, which mostly just feeds a chromatic scale into the diatonic offset function.

With these functions, we can define the riffs relative to the start note in terms of scalar motion and chromatic motion. This is kind of cool because the riff can adapt depending on where you are in the scale: it doesn't have to have a fixed intervallic structure, though it also could. Like, if you're doing a riff over an ascending minor third in C major, the diatonic middle note could be a major second or a minor second up from the starting note.

[D, E, F] : [M2, m2]

[A, B, C] : [M2, m2]

[E, F, G] : [m2, M2]

[B, C, D] : [m2, M2]

And things get even crazier if your scales are microtonal.

In the major riffs I shared in terms of pitches, the standard major, the enclosed major, and the neighbor major, most of the pitches could be thought of as diatonic in C: neighbor major has a chromatic note, but the rest could come from a C major scale. But some of the B notes below C, maybe I should think of those as a chroamtic offset below the starting pitch. This is the difference between a standard major triad riff up on G in the key of C major looking like:

     [G F G A B] or [G F# G A B]

I intend to try interpreting the B notes in both Standard Major and Enclosed Major as diatonic or chromatic offsets and see which one I like better.

...

I came up with some minor riffs:

[A, G#, A, B, C] # low neighbor minor

[A, B, C, D, C] # high neighbor minor

[A, B, G, A, C] # low enclosure minor

[A, B, D, B, C] # high enclosure minor

[A, B, C, B, C] # trill minor

I think the first three of these continue to sound very good in reverse, and the last two also sound okay. I'm going to code them all up.

I should probably add a few more figures with triplets too.

My plan is that I'll 

    1) generate a diatonic skeleton for a melody or bass line in terms of motions by 2nds and 3rds.

    2) generate whichever of those I didn't in step 1, favoring contrary motion

    3) hopefully find notes for two inner voices that fit with a chord

    4) take turns ornamenting the melody or an inner voice with riffs from Verma and myself, hopefully respecting most species counterpoint rules, but I've made very boring music in the past by respecting all of them, so maybe I'll allow some violations. Generate a few and score them by their number of violations of soft rules or something. I don't know.

I don't know how to get interesting rhythmic variation.

I have an idea of representing a whole piece of music in terms of determinstic transformations, randomly selected. We'll see how far that gets.

...

Maybe I should be calling these embellishments or diminutions or variations instead of ornaments. I'm mostly calling them riffs though. It's fine.

...

Okay! I have four part harmony. That's totally trivial for me to generate. Chord, Chord, Chord, infinitely, voiced in SATB.

Then I can add one step of diatonic motion in half notes within that chord's measure for the upper voices and probably still satisfy counterpoint rules. Maybe all four voices.

Then I can embellish one upper voice at a time, usually the soprano. When I embellish another voice, it will be a response that's related to a previous soprano line by some kind of transformation - perhaps a new theme generated in contrary motion, perhaps an inversion of reversal or transposition or something.

The lower voices will usually be playing half notes at this point. Which is too boring. In the past, I have sometimes satisfied myself with the inner voices playing whole notes while an interesting melody and bassline move in contrary motion, but I want to figure out how to add some rhythm to inner lines, so let's try that now.

Suppose I put a generative distribution over beats and smaller subdivisions of each measure. It might look like "Note onsets are likely on [1, and_of_3, 4]. Somewhat likely on [2, a_of_4]". Every voice has two half note pitches per measure (generated by diatonic motion from the original SATB chord voicing for the measure and respecting species counterpoint rules), and they can associate these two pitches with the set of note onsets times produced by sampling the distribution. And then, uh, for note durations, you just run up to the next note onset, unless that would require a weird note length, and then a rest fills the gap.

So if the Alto's diatonic steps say to play G and then A, then the rhythm might go, 

    [G3,q G3,dq A3,e R,e R,s A3,s]

where I'm using a comma to combine a pitch and its note length (or a rest, R, and it's note length).

Once that's done, maybe we can go back and add passing notes or replace the A3 at the end with a chromatic approach to a note in the next measure of something.

...

I'm suddenly realizing that this post in called "ornaments over major third" but I'm now so far off tangest as to be outlining a whole generative music progam. But no one reads my blog, so I'll post what I want.

...

24 EDO Arabic Maqamat

 I've shared and analyzed 24-EDO arabic maqamat that were on wikipedia, and done a little joint 24-EDO and 53-EDO determpering analysis of some maqamat from Mohamed Alsiadi, and I've shared pitch classes for maqamat from MaqamWorld, but I don't think I've ever given a 24-EDO analysis of this last set. A few of those maqamat are too confusing for me, but the majority of them are here:

[0, 2, 6, 10, 12, 16, 20, 24]: "Lami",
[0, 2, 6, 10, 14, 16, 20, 24]: "Kurd",
[0, 2, 6, 12, 14, 16, 22, 24]: "Athar Kurd",
[0, 2, 6, 8, 14, 16, 20, 24]: "Saba Zamzam ('Ajam ending)",
[0, 2, 8, 10, 14, 16, 20, 24]: "Hijaz (Nahawand Ending)",
[0, 2, 8, 10, 14, 16, 22, 24]: "Hijazkar (or Shadd 'Araban) (descends) ",
[0, 2, 8, 10, 14, 17, 20, 24]: "Hijaz (Rast Ending)",
[0, 2, 8, 10, 14, 18, 20, 24]: "Zanjaran (descends)",
[0, 3, 6, 10, 12, 18, 20, 24]: "Bayati Shuri",
[0, 3, 6, 10, 14, 16, 20, 24]: "Bayati (Nahawand Ending)",
[0, 3, 6, 10, 14, 17, 20, 24]: "Bayati (Rast Ending)",
[0, 3, 6, 8, 14, 16, 20, 24]: "Saba ('Ajam ending)",
[0, 3, 7, 10, 12, 14, 17, 21, 24]: "Sikah Baladi (descends)",
[0, 3, 7, 10, 13, 17, 21, 24]: "'Iraq",
[0, 3, 7, 11, 14, 17, 21, 24]: "Jiharkah",
[0, 3, 7, 11, 14, 17, 21, 24]: "Sikah",
[0, 3, 7, 9, 15, 17, 21, 24]: "Huzam",
[0, 3, 7, 9, 15, 17, 23, 24]: "Awj ‘Iraq (descends)",
[0, 4, 6, 10, 12, 18, 20, 24]: "Nahawand Murassa'",
[0, 4, 6, 10, 14, 16, 20, 24]: "Nahawand (Kurd Ending)",
[0, 4, 6, 10, 14, 16, 22, 24]: "Nahawand (Hijaz Ending)",
[0, 4, 6, 10, 14, 16, 22, 24]: "Nawa Athar",
[0, 4, 6, 10, 14, 17, 20, 24]: "'Ushaq Masri",
[0, 4, 6, 12, 14, 18, 20, 24]: "Nikriz (descends)",
[0, 4, 7, 10, 14, 16, 22, 24]: "Suznak",
[0, 4, 7, 10, 14, 17, 20, 24]: "Nairuz",
[0, 4, 7, 10, 14, 17, 20, 24]: "Yakah",
[0, 4, 7, 10, 14, 18, 20, 24]: "Rast (Nahawand ending)",
[0, 4, 7, 10, 14, 18, 20, 24]: "Suzdalara (descends)",
[0, 4, 7, 10, 14, 18, 21, 24]: "Dalanshin (descends)",
[0, 4, 7, 10, 14, 18, 21, 24]: "Rast (Upper Rast ending)",
[0, 4, 7, 10, 14, 18, 22, 24]: "Mahur",
[0, 4, 8, 10, 14, 16, 22, 24]: "Shawq Afza",
[0, 4, 8, 10, 14, 18, 20, 24]: "'Ajam (Nahawand Ending)",
[0, 4, 8, 10, 14, 18, 22, 24]: "'Ajam 'Ushayran (descends)",
[0, 4, 8, 10, 14, 18, 22, 24]: "'Ajam (Upper Ajam Ending)",
[0, 5, 7, 11, 13, 17, 21, 24]: "Musta'ar",
[0, 6, 7, 10, 14, 18, 21, 24]: "Sazkar (descends)",

And here are the few from wikipedia for comparison:

[0, 2, 8, 10, 14, 16, 20, 24]: "Hijaz",
[0, 4, 6, 12, 14, 16, 22, 24]: "Nawa Athar",
[0, 2, 8, 10, 14, 16, 22, 24]: "Shad Araban",
[0, 3, 6, 10, 14, 16, 20, 24]: "Bayati",
[0, 4, 8, 10, 14, 18, 21, 24]: "Jiharkah",
[0, 3, 7, 9, 15, 17, 21, 24]: "Huzam",
[0, 3, 7, 9, 15, 17, 21, 24]: "Rahat al-Arwah",
[0, 3, 6, 8, 14, 16, 20, 24]: "Saba",
[0, 4, 7, 10, 14, 18, 21, 24]: "Rast",
[0, 3, 6, 10, 13, 16, 20, 24]: "Husayni Ushayran",

Husayni Ushayran and Rahat al-Arwah only appear in the second set. And the second set has a differnt Jiharkah:

[0, 4, 8, 10, 14, 18, 21, 24]: "Jiharkah_wikipedia",
[0, 3, 7, 11, 14, 17, 21, 24]: "Jiharkah_maqamworld",

And that might be my fault with transcription, I'll have to look into it.

Other than that, the sources agree.

The Belt 7 Breakdown

Formation: Square

Moves to explain:

<Turn As A Couple>: Promenade position, lark walks forward, robin walks backward, go halfway round.

<Courtesy Turn> Lark catches robin by the right hand, left hand the robin’s back, lark turns counterclockwise and brings the robin around.


Look in _,

Look out _, Larks roll your corners  

_ _, Look in _, 

Look out _, Larks roll your corners

_ _, Look in _, 

Look out _, Robins roll your corners  

_ _, Look in _, 

Look out _, Larks to the middle, Drop 

Hands with your partner, Larks turn the tent  

_ _, Turn as a couple,

Halfway ‘round, Robins turn the tent, 

_ _, Turn as a couple,

Halfway ‘round, Larks turn the tent, 

_ _, Turn as a couple,

Halfway ‘round, Robins turn the tent

_ _ Catch your, robins by the right and

Courtesy home, Look in, _ 

Quartertone Harmony Chords

Quartertone Harmony is the youtube channel of a 24-EDO music theorist and composer. Curt's his name. He's so cute. He has a bunny named Poopy. I've wanted to do a deep dive into his methods for a long time. We're going to start with his first video.

He talks about a method for building 24-edo chords. Here are the rules.

Rule 1. Every chord has to have a chain of friends connecting every note in the chord. It's not totally clear to me if you can have three friends hanging off one one friend - the chain has branches - of if the chain is a straight line. It's also not clear to me if the chain has to form a circle, or if the ends can be disconnected. I went with a single-linked disconnected chain when generating chords in his style.

Curt says that friends are connected by a major third, minor third, neutral third, or "harmonic second", which is supposed the be the interval between G natural and A half sharp. He also says that the harmonic second is the inverse of the harmonic seventh. To me the inverse of an interval X is

    P1 - X

but he's talking abou the octave complement

    P8 - X

And that's fine. In my notation, the harmonic seventh is a sub-minor seventh, Sbm7, with a just tuning of 7/4, and its complement is a super major second, SpM2, with a just tuning of 8/7.

The intervals that can connect friends in Curt's system have these 24-EDO tunings:

    [SpM2, m3, n3, M3] -> [5, 6, 7, 8]

Unfortunately, Curt equivocates a little bit between EDO steps and intervals. For example, he says that the 11th harmonic and the 13th harmonic are separated by a minor third. In my notation, the interval between the 13th and 11th harmonics is a prominent descendent minor third, PrDem3, with a just frequency ratio of 13/11. It's true that this has "m3" at the end, so it's a kind of minor third, and they're both tuned by 24-EDO to 6\24 steps, but they're not the same. So when Curt says that two intervals can be friends if they're separated by a minor third, I don't interpret that intervallically: he just means they're friends if they're separated by 6 steps of 24-EDO.

Because of this, and because I like tertian chords spelled by thirds, I use Sbm3 instead of SpM2 for a 5\24-sized interval when I'm building up chords in Curt's style. Maybe I should use both, but I don't.

In fact, I use a bunch of third intervals that I think Curt wouldn't mind, since they have the right size in 24-EDO.

5\24 - Sbm3 # 7/6

6\24 - Grm3 # 32/27

6\24 - m3 # 6/5

6\24 - PrDem3 # 13/11

8\24 - ReAsM3 # 33/26

7\24 - AsGrm3 # 11/9

7\24 - DeAcM3 # 27/22

7\24 - Prm3 # 39/32

7\24 - ReM3 # 16/13

8\24 - M3 # 5/4

8\24 - AcM3 # 81/64 

It's really odd to me that Curt doesn't use a 9-step super-major third, SpM3, with a just tuning of 9/7. The sub-minor third and the super-major third are like the two core sounds of 7-limit just intonation, and I would never have thought to make a 13-limit interpretation of 24-EDO harmony that didn't include that sound. But this is Curt's method, mostly, and we shall continue in this vein.

Rule 2. No note can have an enemy. An enemy is a note separate from a target note by 1 quarter tone or (sometimes) 9 quarter tones or 15 quarter tones. I don't know what he means by "sometimes", so I just ruled out all chords that had notes separated by 9 or 15 quartone intervals. No two of my chain-of-friend intervals can sum to form 1 or 9, so that's not a problem. So really this just means that we can't have consecutive relative intervals of size (8, 7)\24 or (7, 8)\24. If I'd had a branching chain of friends, the 1\24 and 9\24 steps might have been a problem.

Rule 3. No crowding. No note can have more than one other (?note that is?) closer than a major second. This rule is another reason why I think Curt might be okay with a branched-chain of friends - if there's a single-linked chain of friends all connected by thirds of size 5\24 or more, you're never going to have crowding, so there wouldn't be a reason to mention this. Even if we use Curt's harmonic second, SpM2, that's not smaller than a major second, so you could in principle have a note with notes on either side surrounded by SpM2. I confess that I mishead this one when I first starded coding up Curt's method: I thought he considered 5\24-sized intervals on either side of a note to be crowded, so I was deleting any chord I generated with consecutive (5, 5)\24 sized intervals. Which is just more restricive, it's not really a problem.

Those are all the rules. Well, he also says that you should use a string timbre, but that's not a principle of chord construction. And I particularly like using clarinet, tuba, and oud for my microtonal works, so there. Let's see what we can make from these rules! When generating chords, I also remove any chord that has an interval with a just tuning with three digits or more in the numerator. I also remove any chords that only have even steps in their 24-EDO tuning, because I think they'll sound too much like 12-TET.

I came up with 161 chords. They *all* sound good. I must be really starved for microtones. How can they all sound so good? Some of them have the same 24-EDO tunings, but many of those still have very distinct sonic characteristics in their just tunings. I'm really pretty shocked about how good these sound. Like, I have tried to make 11-limit and 13-limit music using similar principles and totally failed to find anything this nice.

[0, 5, 11, 16] _ [P1, Sbm3, Sbd5, SbSbd7] - [1/1, 7/6, 7/5, 49/30]

[0, 5, 11, 17] _ [P1, Sbm3, PrDeSbd5, PrDeSbd7] - [1/1, 7/6, 91/66, 91/55]

[0, 5, 11, 17] _ [P1, Sbm3, Sbd5, PrDeSbd7] - [1/1, 7/6, 7/5, 91/55]

[0, 5, 11, 17] _ [P1, Sbm3, Sbd5, Sbd7] - [1/1, 7/6, 7/5, 42/25]

[0, 5, 11, 18] _ [P1, Sbm3, PrDeSbd5, DeSbm7] - [1/1, 7/6, 91/66, 56/33]

[0, 5, 11, 18] _ [P1, Sbm3, PrDeSbd5, PrSbGrd7] - [1/1, 7/6, 91/66, 91/54]

[0, 5, 11, 18] _ [P1, Sbm3, Sbd5, AsSbGrd7] - [1/1, 7/6, 7/5, 77/45]

[0, 5, 11, 19] _ [P1, Sbm3, PrDeSbd5, Sbm7] - [1/1, 7/6, 91/66, 7/4]

[0, 5, 11, 19] _ [P1, Sbm3, Sbd5, Sbm7] - [1/1, 7/6, 7/5, 7/4]

[0, 5, 12, 18] _ [P1, Sbm3, AsSbGrd5, AsSbGrd7] - [1/1, 7/6, 77/54, 77/45]

[0, 5, 12, 18] _ [P1, Sbm3, AsSbGrd5, PrSbGrd7] - [1/1, 7/6, 77/54, 91/54]

[0, 5, 12, 18] _ [P1, Sbm3, DeSbAc5, DeSbm7] - [1/1, 7/6, 63/44, 56/33]

[0, 5, 12, 18] _ [P1, Sbm3, PrSbd5, PrSbGrd7] - [1/1, 7/6, 91/64, 91/54]

[0, 5, 12, 18] _ [P1, Sbm3, ReSb5, DeSbm7] - [1/1, 7/6, 56/39, 56/33]

[0, 5, 12, 19] _ [P1, Sbm3, AsSbGrd5, Sbm7] - [1/1, 7/6, 77/54, 7/4]

[0, 5, 12, 19] _ [P1, Sbm3, DeSbAc5, Sbm7] - [1/1, 7/6, 63/44, 7/4]

[0, 5, 12, 19] _ [P1, Sbm3, PrSbd5, Sbm7] - [1/1, 7/6, 91/64, 7/4]

[0, 5, 12, 19] _ [P1, Sbm3, ReSb5, Sbm7] - [1/1, 7/6, 56/39, 7/4]

[0, 5, 13, 19] _ [P1, Sbm3, ReAsSb5, Sbm7] - [1/1, 7/6, 77/52, 7/4]

[0, 5, 13, 19] _ [P1, Sbm3, Sb5, Sbm7] - [1/1, 7/6, 35/24, 7/4]

[0, 6, 11, 17] _ [P1, PrDem3, PrDeSbd5, PrDeSbd7] - [1/1, 13/11, 91/66, 91/55]

[0, 6, 11, 17] _ [P1, m3, Sbd5, PrDeSbd7] - [1/1, 6/5, 7/5, 91/55]

[0, 6, 11, 17] _ [P1, m3, Sbd5, Sbd7] - [1/1, 6/5, 7/5, 42/25]

[0, 6, 11, 18] _ [P1, PrDem3, PrDeSbd5, DeSbm7] - [1/1, 13/11, 91/66, 56/33]

[0, 6, 11, 18] _ [P1, PrDem3, PrDeSbd5, PrSbGrd7] - [1/1, 13/11, 91/66, 91/54]

[0, 6, 11, 18] _ [P1, m3, Sbd5, AsSbGrd7] - [1/1, 6/5, 7/5, 77/45]

[0, 6, 11, 19] _ [P1, PrDem3, PrDeSbd5, Sbm7] - [1/1, 13/11, 91/66, 7/4]

[0, 6, 11, 19] _ [P1, m3, Sbd5, Sbm7] - [1/1, 6/5, 7/5, 7/4]

[0, 6, 12, 17] _ [P1, PrDem3, PrDed5, PrDeSbd7] - [1/1, 13/11, 78/55, 91/55]

[0, 6, 12, 17] _ [P1, m3, PrDed5, PrDeSbd7] - [1/1, 6/5, 78/55, 91/55]

[0, 6, 12, 17] _ [P1, m3, d5, Sbd7] - [1/1, 6/5, 36/25, 42/25]

[0, 6, 12, 19] _ [P1, Grm3, Grd5, Dem7] - [1/1, 32/27, 64/45, 96/55]

[0, 6, 12, 19] _ [P1, Grm3, Grd5, PrGrd7] - [1/1, 32/27, 64/45, 26/15]

[0, 6, 12, 19] _ [P1, PrDem3, PrDed5, Dem7] - [1/1, 13/11, 78/55, 96/55]

[0, 6, 12, 19] _ [P1, PrDem3, PrDed5, PrGrd7] - [1/1, 13/11, 78/55, 26/15]

[0, 6, 12, 19] _ [P1, m3, Grd5, Dem7] - [1/1, 6/5, 64/45, 96/55]

[0, 6, 12, 19] _ [P1, m3, Grd5, PrGrd7] - [1/1, 6/5, 64/45, 26/15]

[0, 6, 12, 19] _ [P1, m3, PrDed5, Dem7] - [1/1, 6/5, 78/55, 96/55]

[0, 6, 12, 19] _ [P1, m3, PrDed5, PrGrd7] - [1/1, 6/5, 78/55, 26/15]

[0, 6, 12, 19] _ [P1, m3, d5, AsGrd7] - [1/1, 6/5, 36/25, 44/25]

[0, 6, 13, 18] _ [P1, Grm3, De5, DeSbm7] - [1/1, 32/27, 16/11, 56/33]

[0, 6, 13, 18] _ [P1, Grm3, PrGrd5, PrSbGrd7] - [1/1, 32/27, 13/9, 91/54]

[0, 6, 13, 18] _ [P1, PrDem3, De5, DeSbm7] - [1/1, 13/11, 16/11, 56/33]

[0, 6, 13, 18] _ [P1, PrDem3, PrGrd5, PrSbGrd7] - [1/1, 13/11, 13/9, 91/54]

[0, 6, 13, 18] _ [P1, m3, AsGrd5, AsSbGrd7] - [1/1, 6/5, 22/15, 77/45]

[0, 6, 13, 19] _ [P1, Grm3, De5, Dem7] - [1/1, 32/27, 16/11, 96/55]

[0, 6, 13, 19] _ [P1, Grm3, PrGrd5, PrGrd7] - [1/1, 32/27, 13/9, 26/15]

[0, 6, 13, 19] _ [P1, PrDem3, De5, Dem7] - [1/1, 13/11, 16/11, 96/55]

[0, 6, 13, 19] _ [P1, PrDem3, PrGrd5, PrGrd7] - [1/1, 13/11, 13/9, 26/15]

[0, 6, 13, 19] _ [P1, m3, AsGrd5, AsGrd7] - [1/1, 6/5, 22/15, 44/25]

[0, 6, 13, 19] _ [P1, m3, AsGrd5, PrGrd7] - [1/1, 6/5, 22/15, 26/15]

[0, 6, 13, 19] _ [P1, m3, DeAc5, Dem7] - [1/1, 6/5, 81/55, 96/55]

[0, 6, 13, 19] _ [P1, m3, Re5, Dem7] - [1/1, 6/5, 96/65, 96/55]

[0, 6, 13, 20] _ [P1, Grm3, De5, Grm7] - [1/1, 32/27, 16/11, 16/9]

[0, 6, 13, 20] _ [P1, Grm3, De5, PrDem7] - [1/1, 32/27, 16/11, 39/22]

[0, 6, 13, 20] _ [P1, Grm3, PrGrd5, Grm7] - [1/1, 32/27, 13/9, 16/9]

[0, 6, 13, 20] _ [P1, Grm3, PrGrd5, PrDem7] - [1/1, 32/27, 13/9, 39/22]

[0, 6, 13, 20] _ [P1, PrDem3, De5, Grm7] - [1/1, 13/11, 16/11, 16/9]

[0, 6, 13, 20] _ [P1, PrDem3, De5, PrDem7] - [1/1, 13/11, 16/11, 39/22]

[0, 6, 13, 20] _ [P1, PrDem3, PrGrd5, Grm7] - [1/1, 13/11, 13/9, 16/9]

[0, 6, 13, 20] _ [P1, PrDem3, PrGrd5, PrDem7] - [1/1, 13/11, 13/9, 39/22]

[0, 6, 13, 20] _ [P1, m3, AsGrd5, m7] - [1/1, 6/5, 22/15, 9/5]

[0, 6, 13, 20] _ [P1, m3, DeAc5, m7] - [1/1, 6/5, 81/55, 9/5]

[0, 6, 13, 20] _ [P1, m3, Re5, m7] - [1/1, 6/5, 96/65, 9/5]

[0, 6, 14, 19] _ [P1, Grm3, P5, Sbm7] - [1/1, 32/27, 3/2, 7/4]

[0, 6, 14, 19] _ [P1, PrDem3, P5, Sbm7] - [1/1, 13/11, 3/2, 7/4]

[0, 6, 14, 19] _ [P1, m3, P5, Sbm7] - [1/1, 6/5, 3/2, 7/4]

[0, 7, 12, 18] _ [P1, AsGrm3, AsSbGrd5, AsSbGrd7] - [1/1, 11/9, 77/54, 77/45]

[0, 7, 12, 18] _ [P1, AsGrm3, AsSbGrd5, PrSbGrd7] - [1/1, 11/9, 77/54, 91/54]

[0, 7, 12, 18] _ [P1, DeAcM3, DeSbAc5, DeSbm7] - [1/1, 27/22, 63/44, 56/33]

[0, 7, 12, 18] _ [P1, Prm3, PrSbd5, PrSbGrd7] - [1/1, 39/32, 91/64, 91/54]

[0, 7, 12, 18] _ [P1, ReM3, ReSb5, DeSbm7] - [1/1, 16/13, 56/39, 56/33]

[0, 7, 12, 19] _ [P1, AsGrm3, AsSbGrd5, Sbm7] - [1/1, 11/9, 77/54, 7/4]

[0, 7, 12, 19] _ [P1, DeAcM3, DeSbAc5, Sbm7] - [1/1, 27/22, 63/44, 7/4]

[0, 7, 12, 19] _ [P1, Prm3, PrSbd5, Sbm7] - [1/1, 39/32, 91/64, 7/4]

[0, 7, 12, 19] _ [P1, ReM3, ReSb5, Sbm7] - [1/1, 16/13, 56/39, 7/4]

[0, 7, 12, 20] _ [P1, ReM3, ReSb5, ReSbM7] - [1/1, 16/13, 56/39, 70/39]

[0, 7, 13, 18] _ [P1, AsGrm3, AsGrd5, AsSbGrd7] - [1/1, 11/9, 22/15, 77/45]

[0, 7, 13, 18] _ [P1, AsGrm3, PrGrd5, PrSbGrd7] - [1/1, 11/9, 13/9, 91/54]

[0, 7, 13, 18] _ [P1, DeAcM3, De5, DeSbm7] - [1/1, 27/22, 16/11, 56/33]

[0, 7, 13, 18] _ [P1, Prm3, PrGrd5, PrSbGrd7] - [1/1, 39/32, 13/9, 91/54]

[0, 7, 13, 18] _ [P1, ReM3, De5, DeSbm7] - [1/1, 16/13, 16/11, 56/33]

[0, 7, 13, 19] _ [P1, AsGrm3, AsGrd5, AsGrd7] - [1/1, 11/9, 22/15, 44/25]

[0, 7, 13, 19] _ [P1, AsGrm3, AsGrd5, PrGrd7] - [1/1, 11/9, 22/15, 26/15]

[0, 7, 13, 19] _ [P1, AsGrm3, PrGrd5, PrGrd7] - [1/1, 11/9, 13/9, 26/15]

[0, 7, 13, 19] _ [P1, DeAcM3, De5, Dem7] - [1/1, 27/22, 16/11, 96/55]

[0, 7, 13, 19] _ [P1, DeAcM3, DeAc5, Dem7] - [1/1, 27/22, 81/55, 96/55]

[0, 7, 13, 19] _ [P1, Prm3, PrGrd5, PrGrd7] - [1/1, 39/32, 13/9, 26/15]

[0, 7, 13, 19] _ [P1, ReM3, De5, Dem7] - [1/1, 16/13, 16/11, 96/55]

[0, 7, 13, 19] _ [P1, ReM3, Re5, Dem7] - [1/1, 16/13, 96/65, 96/55]

[0, 7, 13, 20] _ [P1, AsGrm3, AsGrd5, m7] - [1/1, 11/9, 22/15, 9/5]

[0, 7, 13, 20] _ [P1, AsGrm3, PrGrd5, Grm7] - [1/1, 11/9, 13/9, 16/9]

[0, 7, 13, 20] _ [P1, AsGrm3, PrGrd5, PrDem7] - [1/1, 11/9, 13/9, 39/22]

[0, 7, 13, 20] _ [P1, DeAcM3, De5, Grm7] - [1/1, 27/22, 16/11, 16/9]

[0, 7, 13, 20] _ [P1, DeAcM3, De5, PrDem7] - [1/1, 27/22, 16/11, 39/22]

[0, 7, 13, 20] _ [P1, DeAcM3, DeAc5, m7] - [1/1, 27/22, 81/55, 9/5]

[0, 7, 13, 20] _ [P1, Prm3, PrGrd5, Grm7] - [1/1, 39/32, 13/9, 16/9]

[0, 7, 13, 20] _ [P1, Prm3, PrGrd5, PrDem7] - [1/1, 39/32, 13/9, 39/22]

[0, 7, 13, 20] _ [P1, ReM3, De5, Grm7] - [1/1, 16/13, 16/11, 16/9]

[0, 7, 13, 20] _ [P1, ReM3, De5, PrDem7] - [1/1, 16/13, 16/11, 39/22]

[0, 7, 13, 20] _ [P1, ReM3, Re5, m7] - [1/1, 16/13, 96/65, 9/5]

[0, 7, 13, 21] _ [P1, AsGrm3, AsGrd5, AsGrm7] - [1/1, 11/9, 22/15, 11/6]

[0, 7, 13, 21] _ [P1, AsGrm3, PrGrd5, AsGrm7] - [1/1, 11/9, 13/9, 11/6]

[0, 7, 13, 21] _ [P1, AsGrm3, PrGrd5, PrGrm7] - [1/1, 11/9, 13/9, 65/36]

[0, 7, 13, 21] _ [P1, DeAcM3, De5, DeAcM7] - [1/1, 27/22, 16/11, 81/44]

[0, 7, 13, 21] _ [P1, DeAcM3, De5, DeM7] - [1/1, 27/22, 16/11, 20/11]

[0, 7, 13, 21] _ [P1, DeAcM3, De5, ReM7] - [1/1, 27/22, 16/11, 24/13]

[0, 7, 13, 21] _ [P1, DeAcM3, DeAc5, DeAcM7] - [1/1, 27/22, 81/55, 81/44]

[0, 7, 13, 21] _ [P1, Prm3, PrGrd5, AsGrm7] - [1/1, 39/32, 13/9, 11/6]

[0, 7, 13, 21] _ [P1, Prm3, PrGrd5, PrGrm7] - [1/1, 39/32, 13/9, 65/36]

[0, 7, 13, 21] _ [P1, ReM3, De5, DeAcM7] - [1/1, 16/13, 16/11, 81/44]

[0, 7, 13, 21] _ [P1, ReM3, De5, DeM7] - [1/1, 16/13, 16/11, 20/11]

[0, 7, 13, 21] _ [P1, ReM3, De5, ReM7] - [1/1, 16/13, 16/11, 24/13]

[0, 7, 13, 21] _ [P1, ReM3, Re5, ReM7] - [1/1, 16/13, 96/65, 24/13]

[0, 7, 14, 19] _ [P1, AsGrm3, P5, Sbm7] - [1/1, 11/9, 3/2, 7/4]

[0, 7, 14, 19] _ [P1, DeAcM3, P5, Sbm7] - [1/1, 27/22, 3/2, 7/4]

[0, 7, 14, 19] _ [P1, Prm3, P5, Sbm7] - [1/1, 39/32, 3/2, 7/4]

[0, 7, 14, 19] _ [P1, ReM3, P5, Sbm7] - [1/1, 16/13, 3/2, 7/4]

[0, 7, 14, 20] _ [P1, AsGrm3, P5, Grm7] - [1/1, 11/9, 3/2, 16/9]

[0, 7, 14, 20] _ [P1, AsGrm3, P5, PrDem7] - [1/1, 11/9, 3/2, 39/22]

[0, 7, 14, 20] _ [P1, AsGrm3, P5, m7] - [1/1, 11/9, 3/2, 9/5]

[0, 7, 14, 20] _ [P1, DeAcM3, P5, Grm7] - [1/1, 27/22, 3/2, 16/9]

[0, 7, 14, 20] _ [P1, DeAcM3, P5, PrDem7] - [1/1, 27/22, 3/2, 39/22]

[0, 7, 14, 20] _ [P1, DeAcM3, P5, m7] - [1/1, 27/22, 3/2, 9/5]

[0, 7, 14, 20] _ [P1, Prm3, P5, Grm7] - [1/1, 39/32, 3/2, 16/9]

[0, 7, 14, 20] _ [P1, Prm3, P5, PrDem7] - [1/1, 39/32, 3/2, 39/22]

[0, 7, 14, 20] _ [P1, Prm3, P5, m7] - [1/1, 39/32, 3/2, 9/5]

[0, 7, 14, 20] _ [P1, ReM3, P5, Grm7] - [1/1, 16/13, 3/2, 16/9]

[0, 7, 14, 20] _ [P1, ReM3, P5, PrDem7] - [1/1, 16/13, 3/2, 39/22]

[0, 7, 14, 20] _ [P1, ReM3, P5, m7] - [1/1, 16/13, 3/2, 9/5]

[0, 7, 14, 21] _ [P1, AsGrm3, P5, AsGrm7] - [1/1, 11/9, 3/2, 11/6]

[0, 7, 14, 21] _ [P1, AsGrm3, P5, DeAcM7] - [1/1, 11/9, 3/2, 81/44]

[0, 7, 14, 21] _ [P1, AsGrm3, P5, ReM7] - [1/1, 11/9, 3/2, 24/13]

[0, 7, 14, 21] _ [P1, DeAcM3, P5, AsGrm7] - [1/1, 27/22, 3/2, 11/6]

[0, 7, 14, 21] _ [P1, DeAcM3, P5, DeAcM7] - [1/1, 27/22, 3/2, 81/44]

[0, 7, 14, 21] _ [P1, DeAcM3, P5, ReM7] - [1/1, 27/22, 3/2, 24/13]

[0, 7, 14, 21] _ [P1, Prm3, P5, AsGrm7] - [1/1, 39/32, 3/2, 11/6]

[0, 7, 14, 21] _ [P1, Prm3, P5, DeAcM7] - [1/1, 39/32, 3/2, 81/44]

[0, 7, 14, 21] _ [P1, Prm3, P5, ReM7] - [1/1, 39/32, 3/2, 24/13]

[0, 7, 14, 21] _ [P1, ReM3, P5, AsGrm7] - [1/1, 16/13, 3/2, 11/6]

[0, 7, 14, 21] _ [P1, ReM3, P5, DeAcM7] - [1/1, 16/13, 3/2, 81/44]

[0, 7, 14, 21] _ [P1, ReM3, P5, ReM7] - [1/1, 16/13, 3/2, 24/13]

[0, 8, 13, 19] _ [P1, M3, Sb5, Sbm7] - [1/1, 5/4, 35/24, 7/4]

[0, 8, 13, 19] _ [P1, ReAsM3, ReAsSb5, Sbm7] - [1/1, 33/26, 77/52, 7/4]

[0, 8, 13, 20] _ [P1, M3, Sb5, ReSbM7] - [1/1, 5/4, 35/24, 70/39]

[0, 8, 14, 19] _ [P1, AcM3, P5, Sbm7] - [1/1, 81/64, 3/2, 7/4]

[0, 8, 14, 19] _ [P1, M3, P5, Sbm7] - [1/1, 5/4, 3/2, 7/4]

[0, 8, 14, 19] _ [P1, ReAsM3, P5, Sbm7] - [1/1, 33/26, 3/2, 7/4]

[0, 8, 14, 21] _ [P1, AcM3, P5, AsGrm7] - [1/1, 81/64, 3/2, 11/6]

[0, 8, 14, 21] _ [P1, AcM3, P5, DeAcM7] - [1/1, 81/64, 3/2, 81/44]

[0, 8, 14, 21] _ [P1, AcM3, P5, ReM7] - [1/1, 81/64, 3/2, 24/13]

[0, 8, 14, 21] _ [P1, M3, Gr5, DeM7] - [1/1, 5/4, 40/27, 20/11]

[0, 8, 14, 21] _ [P1, M3, Gr5, PrGrm7] - [1/1, 5/4, 40/27, 65/36]

[0, 8, 14, 21] _ [P1, M3, P5, AsGrm7] - [1/1, 5/4, 3/2, 11/6]

[0, 8, 14, 21] _ [P1, M3, P5, DeAcM7] - [1/1, 5/4, 3/2, 81/44]

[0, 8, 14, 21] _ [P1, M3, P5, ReM7] - [1/1, 5/4, 3/2, 24/13]

[0, 8, 14, 21] _ [P1, M3, PrDe5, DeM7] - [1/1, 5/4, 65/44, 20/11]

[0, 8, 14, 21] _ [P1, M3, PrDe5, PrGrm7] - [1/1, 5/4, 65/44, 65/36]

[0, 8, 14, 21] _ [P1, ReAsM3, P5, AsGrm7] - [1/1, 33/26, 3/2, 11/6]

[0, 8, 14, 21] _ [P1, ReAsM3, P5, DeAcM7] - [1/1, 33/26, 3/2, 81/44]

[0, 8, 14, 21] _ [P1, ReAsM3, P5, ReM7] - [1/1, 33/26, 3/2, 24/13]

Hats off to Curt, I guess. I hope you like my chords, Curt. I made them for you. Okay, time to look at more of his videos and see what I did wrong. His next step is to describe some chords that follow his rules.

Here is the chord Curt describes the "minor harmonic seventh" chord, with pitches [G, Bb, D, Fb_up]. I don't know his notation - it's probably just HEJI, but I refuse to learn HEJI. It seems odd to call a subminor seventh F flat_up when it's lower than Fb. Maybe it's a typo, or maybe it's odd notation. Either way, presumably he's talking about this:

[0, 6, 14, 19] _ [P1, m3, P5, Sbm7] - [1/1, 6/5, 3/2, 7/4]

which was among my 161 chords. Nice.

Curt next plays the "neutral 13th chord", which is [G, Bb, Ct, Ed]. Ct is C half sharp, Ed is E half flat. I think in 24-EDO steps that would be [0, 6, 11, 17]. This isn't spelled by thirds - though it could be if it were inverted / cyclically permuted to be rooted on C. But let's continue anyway. The octave reduced 13th harmonic is a prominent minor sixth in my naming system, Prm6, with just tuning of 13/8, and a 24-edo tuning of 17\24. So clearly when Curt calls this chord "neutral 13th", part of what he means is that it includes the 13th harmonic, which is a half-flat / neutral tone. The octave-reduced 11th harmonic is the ascendant fourth, As4, with a just frequency ratio of 11/8 and a 24-EDO tuning of 11\24 steps. I'm pretty sure Curt is thinking of this chord as

    [0, 6, 11, 17] _ [P1, m3, As4, Prm6] # [1/1, 6/5, 11/8, 13/8]

If we move the bottom two notes up by an octave, and then subtract As4 from everything (or divide all the frequency ratios by 11/8), then we get this chord from my set of 161 chords:

    [0, 6, 13, 19] _ [P1, PrDem3, De5, Dem7] - [1/1, 13/11, 16/11, 96/55]

That's the rooted tertian spelling of Curt's neutral 13th chord. Great! I'm very pleased that our chords are alignable so far, if not identical. If you're curious, De5 in its just tuning is flat of P5 by about 53 cents,

    (3/2) / (16/11)  = 33/32

    1200 * log_2(33/32) ~ 53.2 cents

The next chord Curt presents is the "19th to 15th" chord. Is he going to use the 19th harmonic? He had only mentioned 13-limit ratios up to this point. If so, this guy's on another level. The pitches given are [F#, A, Ct, Eb_up]. In 24-EDO steps, I think that would be [0, 6, 11, 19].

My set of 161 chords had two intervallic chords with that same 24-EDO tuning, namely

[0, 6, 11, 19] _ [P1, PrDem3, PrDeSbd5, Sbm7] - [1/1, 13/11, 91/66, 7/4],

[0, 6, 11, 19] _ [P1, m3, Sbd5, Sbm7] - [1/1, 6/5, 7/5, 7/4],

But I don't know any reason you'd call either of those a "19th to 15th" chord. I don't think "19th to 15th" is referring to a sequence of prime harmonics - this chord is a long way from the utonal 19:17:16:15, for example. And for otonal chords, 15:16:17:18:19 would be 

    [1/1, 16/15, 17/15, 6/5, 19/15]

which is also way off from the 24-EDO tuning of Curt's chord. A 19th interval, octave reduced, is a fifth, and a 15th interval, octave reduced, is a unison. That's probably not what he means either. I just don't know what the name means. But I've got a chord that matches his chord, so that's something.

After listening again, I think he's saying, "The 19th, the 15th chord". I still don't know what that means.

He talks about "9-15" chords in a later video called "The Magic Chord". So maybe I misheard him every time? But I just relistened, and it really sounds like "the 19th to 15th" or "the 19th, the 15th". Anyway, in "The Magic Chord", Curt gives [A, C, Ed, Gd] as a 9-15 chord on A, which would be

    [0, 6, 13, 19]\24

I think. But that's the rooted tertian spelling of Curt's neutral 13th chord. So confused. Ah, but then he says that he goofed, the chord spelled that way is not a 9-15 chord, it is instead "nine fifteen fo(u)r flat seven(th)". So lost.

If this Ct is the same one that was 11/4 over G, then Curt might be thinking of this chord as

    [P1, m3, AsGrd5, Sbm7] # [1/1, 6/5, 22/15, 7/4]

i.e. we're widening the 11/4 by a 5-limit minor second to represent the gap (Ct - F#) instead of (Ct - G).

My program didn't find that chord because between the chord degrees ^5 and ^7 there's an unusual interval of DeSbAcM3 with a just tuning of 105/88. On the other hand, DeSbAcM3 is tuned to 6 steps of 24-EDO, so maybe Curt just thinks of it as a minor third.

The next chord Curt gives is the "added 13th minor", with pitches of [G, Bb, D, Eb_up]. Curt's probably thinking of this as

    [P1, m3, P5, Prm6]

which we can invert to get a tertian chord. Move the top three notes up an octave and reduce/rebase/re-root. That gives us

    [0, 7, 13, 21] _ [P1, ReM3, Re5, ReM7] # [1/1, 16/13, 96/65, 24/13]

which was one of my 161 tertian intervallic chords. Nice.

He also plays the minor harmonic 11th chord, for which the accidentals look a little weird. It looks like [G, Bbt, C, Fb_up], but most people wouldn't use both flat "b" and half-sharp "t" on one note unless they were thinking intervallically, and I ... didn't think that Curt was? I thought he would just write Bd for "half flat" instead of "flatten by one comma and raise by another". Anyway, in steps of 24-EDO, if Fb_up is supposed to be F three quarters flat, then this is

    [0, 7, 14, 19]

in 24-EDO steps. I had four chords with this tuning in my set of 161 intervallic chords, namely

[0, 7, 14, 19] _ [P1, AsGrm3, P5, Sbm7] - [1/1, 11/9, 3/2, 7/4]

[0, 7, 14, 19] _ [P1, DeAcM3, P5, Sbm7] - [1/1, 27/22, 3/2, 7/4]

[0, 7, 14, 19] _ [P1, Prm3, P5, Sbm7] - [1/1, 39/32, 3/2, 7/4]

[0, 7, 14, 19] _ [P1, ReM3, P5, Sbm7] - [1/1, 16/13, 3/2, 7/4]

And I think either of the first two (11-limit) chords is a fine just intonation for Curt's neutral 11 chord. 

He also shares chords called the neutral 11th, the major harmonic 11th, the neutral triad, the neutral harmonic seventh, the neutral dominant seventh, the harmonic diminished seventh, and "two stacked harmonic seconds".

He also plays some nice sounding chords that break his rule about not allowing 9-step and 15-step intervals. These are the subminor triad, the sub-minor harmonic seventh, the sub-minor dominant seventh, and three stacked harmonic seconds.  

I might write those out and analyze them eventually, but in the meantime, I think we're doing fine. We've mostly found the same chords as him. Good job, us.

I started writing about his content in other videos, but it sounded kind of judgey, so I'll stop here. Thanks for your chord construction technique, Curt. Good guy, Curt.

Here is a rendering of all 161 chords in order. I won't pretend that 4 minutes of microtonal chords on the same tonic is easy listening, but I hope you'll agree that the chords individually aren't too dissonant.

Edit: Here are valid triads:

         [0, 5, 11] _ [P1, Sbm3, PrDeSbd5] # [1/1, 7/6, 91/66]

         [0, 5, 11] _ [P1, Sbm3, Sbd5] # [1/1, 7/6, 7/5]

         [0, 5, 12] _ [P1, Sbm3, AsSbGrd5] # [1/1, 7/6, 77/54]

         [0, 5, 12] _ [P1, Sbm3, DeSbAc5] # [1/1, 7/6, 63/44]

         [0, 5, 12] _ [P1, Sbm3, PrSbd5] # [1/1, 7/6, 91/64]

         [0, 5, 12] _ [P1, Sbm3, ReSb5] # [1/1, 7/6, 56/39]

         [0, 5, 13] _ [P1, Sbm3, ReAsSb5] # [1/1, 7/6, 77/52]

         [0, 5, 13] _ [P1, Sbm3, Sb5] # [1/1, 7/6, 35/24]

         [0, 6, 11] _ [P1, PrDem3, PrDeSbd5] # [1/1, 13/11, 91/66]

         [0, 6, 11] _ [P1, m3, Sbd5] # [1/1, 6/5, 7/5]

         [0, 6, 12] _ [P1, Grm3, Grd5] # [1/1, 32/27, 64/45]

         [0, 6, 12] _ [P1, PrDem3, PrDed5] # [1/1, 13/11, 78/55]

         [0, 6, 12] _ [P1, m3, Grd5] # [1/1, 6/5, 64/45]

         [0, 6, 12] _ [P1, m3, PrDed5] # [1/1, 6/5, 78/55]

         [0, 6, 12] _ [P1, m3, d5] # [1/1, 6/5, 36/25]

         [0, 6, 13] _ [P1, Grm3, De5] # [1/1, 32/27, 16/11]

         [0, 6, 13] _ [P1, Grm3, PrGrd5] # [1/1, 32/27, 13/9]

         [0, 6, 13] _ [P1, PrDem3, De5] # [1/1, 13/11, 16/11]

         [0, 6, 13] _ [P1, PrDem3, PrGrd5] # [1/1, 13/11, 13/9]

         [0, 6, 13] _ [P1, m3, AsGrd5] # [1/1, 6/5, 22/15]

         [0, 6, 13] _ [P1, m3, DeAc5] # [1/1, 6/5, 81/55]

         [0, 6, 13] _ [P1, m3, Re5] # [1/1, 6/5, 96/65]

         [0, 6, 14] _ [P1, Grm3, Gr5] # [1/1, 32/27, 40/27]

         [0, 6, 14] _ [P1, Grm3, P5] # [1/1, 32/27, 3/2]

         [0, 6, 14] _ [P1, PrDem3, P5] # [1/1, 13/11, 3/2]

         [0, 6, 14] _ [P1, PrDem3, PrDe5] # [1/1, 13/11, 65/44]

         [0, 6, 14] _ [P1, m3, P5] # [1/1, 6/5, 3/2]

         [0, 7, 12] _ [P1, AsGrm3, AsSbGrd5] # [1/1, 11/9, 77/54]

         [0, 7, 12] _ [P1, DeAcM3, DeSbAc5] # [1/1, 27/22, 63/44]

         [0, 7, 12] _ [P1, Prm3, PrSbd5] # [1/1, 39/32, 91/64]

         [0, 7, 12] _ [P1, ReM3, ReSb5] # [1/1, 16/13, 56/39]

         [0, 7, 13] _ [P1, AsGrm3, AsGrd5] # [1/1, 11/9, 22/15]

         [0, 7, 13] _ [P1, AsGrm3, PrGrd5] # [1/1, 11/9, 13/9]

         [0, 7, 13] _ [P1, DeAcM3, De5] # [1/1, 27/22, 16/11]

         [0, 7, 13] _ [P1, DeAcM3, DeAc5] # [1/1, 27/22, 81/55]

         [0, 7, 13] _ [P1, Prm3, PrGrd5] # [1/1, 39/32, 13/9]

         [0, 7, 13] _ [P1, ReM3, De5] # [1/1, 16/13, 16/11]

         [0, 7, 13] _ [P1, ReM3, Re5] # [1/1, 16/13, 96/65]

         [0, 7, 14] _ [P1, AsGrm3, P5] # [1/1, 11/9, 3/2]

         [0, 7, 14] _ [P1, DeAcM3, P5] # [1/1, 27/22, 3/2]

         [0, 7, 14] _ [P1, Prm3, P5] # [1/1, 39/32, 3/2]

         [0, 7, 14] _ [P1, ReM3, P5] # [1/1, 16/13, 3/2]

         [0, 8, 13] _ [P1, M3, Sb5] # [1/1, 5/4, 35/24]

         [0, 8, 13] _ [P1, ReAsM3, ReAsSb5] # [1/1, 33/26, 77/52]

         [0, 8, 14] _ [P1, AcM3, P5] # [1/1, 81/64, 3/2]

         [0, 8, 14] _ [P1, M3, Gr5] # [1/1, 5/4, 40/27]

         [0, 8, 14] _ [P1, M3, P5] # [1/1, 5/4, 3/2]

         [0, 8, 14] _ [P1, M3, PrDe5] # [1/1, 5/4, 65/44]

         [0, 8, 14] _ [P1, ReAsM3, P5] # [1/1, 33/26, 3/2]

Nice.