# Diatonic, Chromatic, Enharmonic, Subchromatic

The concept of **diatonic** and **chromatic** movements are well-known in common practice music theory. In particular, the distinction between the diatonic and chromatic semitone (C-Db vs C-C#) has been known for centuries, and before the advent of 12-EDO, the difference was necessary to preserve as these are tuned differently in meantone temperament.

This concept can be generalized considerably when working with microtonal tunings, where it has applications not only higher-rank temperament design, but also the modeling of hierarchical, layered "interval classes." This can likely be tied to categorical perception in an as-of-yet undiscovered way, and possibly to tonal interval "identities" as well.

Furthermore, all of this can use the methods of straightforward regular temperament theory -- by simply looking at a different mapping matrix than you are used to.

## Contents

- 1 Introduction: Mapping Matrices
- 2 Chromatic and Diatonic Interval Classes
- 3 Diatonic, Chromatic and Enharmonic Movements
- 4 Subchromatic Movements: Rank-3
- 5 Generalizing to Other Temperaments: Porcupine Chromaticism and Enharmonicism
- 6 Adding Rank-3 Subharmonic Structure to Porcupine
- 7 A Quick Tangent: Rank-3 "Subchromatic" or "Commatic" Scales
- 8 Which Chroma is a Subchroma? Mavila, 5-limit JI, and Subchromatic Reprioritizations
- 9 Layered Interval Representations without Temperament
- 10 True Categorical Perception

# Introduction: Mapping Matrices

Suppose that we are working in 5-limit meantone temperament. The mapping matrix for meantone, represented by generators of 2/1 and 3/2, is

[1 1 0] [0 1 4]

Reading the columns, this tells us that in meantone:

- 2/1 maps to |1 0> (up an octave)
- 3/1 maps to |1 1> (up an octave and a fifth)
- 5/1 maps to |0 4> (up four fifths)

where |x y> are tempered monzos reflecting the |octave, fifth> basis, so that x is the number of octaves and y is the number of fifths.

As you know, there is more than one mapping matrix that is valid for meantone. For instance, if we wanted to go with an P8 and a P4 for a generator, if you do the math, you instead get the following matrix:

[1 2 4] [0 -1 -4]

Now our |x y> basis represents |octaves, fourths>. This now tells us that:

- 2/1 maps to |1 0> (an octave)
- 3/1 maps to |2 -1> (up two octaves, down a fourth)
- 5/1 maps to |4 -4> (up four octaves, down four fourths).

In general, there are an infinite set of mapping matrices for meantone, all of which simply give you different generators. You are not even restricted to having the first generator be an octave, although it is usually useful to do so.

However, the mapping matrix below is also a valid matrix for meantone:

[ 7 11 16] [12 19 28]

There are three ways to think about this matrix:

- The meantone mapping matrix where the generators are, oddly, |d2 A1>, or the diesis (C-B#) and the chromatic semitone (C-C#) -- (yes, this does generate the whole lattice)
- The matrix you get by simply stacking the 5-limit patent vals for 7-EDO and 12-EDO (which define meantone), pre-reducing to the usual set of generators
- A way to measure the "diatonic interval class" and "chromatic interval class" for any meantone interval

These are all equivalent, thanks to linear algebra. However, it is the third interpretation which is most interesting for the purposes of diving into a hierarchical, layered representation of interval classes, and hence understanding how to generalize chromaticism to the microtonal setting.

# Chromatic and Diatonic Interval Classes

Again, we are looking at the following somewhat unusual meantone mapping matrix:

[ 7 11 16] [12 19 28]

And of course, we can read this matrix the usual way, with the columns giving the mapping for 2/1, 3/1, and 5/1, just in this weird |d2 A1> or |diesis chromatic-semitone> basis. Just for thoroughness, if we do so, we get:

- 2/1 maps to |7 12> (7 dieses plus 12 chromatic semitones)
- 3/1 maps to |11 19> (11 dieses plus 19 chromatic semitones)
- 5/1 maps to |16 28> (16 diesis plus 28 chromatic semitones)

You may wonder: why would anybody ever care about using this basis?

Well, somewhat mysteriously, this basis tells us the "meantone diatonic interval category" and "meantone chromatic interval category" for any interval. So for 2/1, above, that |7 12> tells us that 2/1 maps to 7 diatonic steps (counting from 0, so an "eighth" if you count from 1), and maps to 12 chromatic steps. 3/1 maps to |11 19>, so 11 diatonic steps (or a "twelfth" if you count from 1), and 19 chromatic steps. And so forth.

How does this work? Is it mere coincidence?

No! It's simply a nice property of linear algebra, and one which we can make great use of in generalizing chromaticism. In this case, it turns out that all of these things become much simpler to understand if you totally forget about the |d2 A1> interpretation. Instead, we will develop a dual, complementary interpretation, one which involves us looking at the **rows** rather than the **columns**.

You can see that the rows of this matrix are just the patent vals for 7-EDO and 12-EDO stacked on top of each other. Basically, you can completely forget that these happen to define any sort of meantone basis at all, and just *look at how monzos map onto these two vals independently*. If you do so, then you get the following:

- In 7-EDO (
`<7 11 16|`

):- 2/1 is a type of "7-step interval" (7 steps to 2/1, or a type of "eighth")
- 3/1 is a type of "11-step interval" (11 steps to 3/1, or a type of "twelfth")
- 5/1 is a type of "16-step interval" (16 steps to 5/1, or a type of "seventeenth")

This is literally what `<7 11 16|`

means. Note that if you simply add one to these, you get the usual diatonic interval classes for each of these intervals. The only reason you need to add one is because we conventionally count interval classes starting at "one" for the unison, whereas with mappings we start at "zero."

Implied from above, by adding and subtracting mappings linearly, we get:

- 3/2 is a type of "4-step interval" (4 steps to 3/2, or a type of "fifth")
- 5/4 is a type of "2-step interval" (2 steps to 5/4, or a type of "third")
- 6/5 is a type of "2-step interval" (2 steps to 6/5, or a type of "third")
- 5/3 is a type of "5-step interval" (5 steps to 5/3, or a type of "sixth")

Again you will note that this wondrously gives us the correct diatonic interval category for each 5-limit rational. This is simply due to the way that mappings work: the 7-EDO is literally an equidiatonic scale, so once you specify that 2/1 is an octave (7 steps), 3/1 is a twelfth (11 steps), and 5/1 is a seventeenth (16 steps), everything else falls into place in the perfect lattice-like fashion.

You can also see, that using this metric alone, we get the same thing for 5/4 and 6/5: a mapping of two steps, indicating that we have a "third." This shows us that while the 7-EDO patent val gives us the correct "diatonic" interval category for each rational, and nothing more: it does not distinguish between the major, minor, augmented, or diminished versions of intervals.

Although we do not have as nice a terminology for 12-EDO, we can the same type of thing:

- In 12-EDO (
`<12 19 28|`

):- 2/1 is a type of "12-step interval" (a type of "12\12")
- 3/1 is a type of "19-step interval" (a type of "19\12")
- 5/1 is a type of "28-step interval" (a type of "28\12")

Likewise, for more complex rationals, we get

- 3/2 is a type of "7-step interval" (a type of "7\12")
- 5/4 is a type of "4-step interval" (a type of "4\12")
- 6/5 is a type of "3-step interval" (a type of "3\12")
- 5/3 is a type of "9-step interval" (a type of "9\12")

Likewise, we can see that this val gives us the correct "chromatic" interval category for any 5-limit interval, expressed as a number of 12-EDO steps. By "chromatic", in this case, I mean it gives you the correct number of "generic steps" in the chromatic scale, even though the meantone chromatic scale is unequal and in fact an MOS, containing two different specific interval sizes for each generic interval class.

We can literally just concatenate these two valuations to get the tempered monzo. This is the same exact thing that we did in the other interpretation, but rather than starting with the columns representing prime mappings and adding them, we instead did each row independently, and then concatenated them. So for example, 2/1 maps to |7 12>, 3/1 maps to |11 19>, 5/1 maps to |16 28>, 3/2 maps to |4 7>, 5/4 maps to |2 4>, 6/5 maps to |2 3>, and 5/3 maps to |5 9>.

To make this much clearer, here is an example. The interval 75/64 is a 5-limit "detempering" of the meantone augmented second. Let's try seeing how that maps, and compare with 6/5:

- In 7-EDO (
`<7 11 16|`

):- 75/64 is a type of "1-step interval" (a type of second)
- 6/5 is a type of "2-step" interval (a type of third)

- In 12-EDO (
`<12 19 28|`

):- 75/64 is a type of "3-step interval" (a type of "3\12")
- 6/5 is a type of "3-step interval" (a type of "3\12")

Or, in tempered monzo form, we get

- Concatenating 7-EDO and 12-EDO:
- 75/64 maps to |1 3>
- 6/5 maps to |2 3>

And now we see what is going on! Note that 75/64 and 6/5 map to the same exact position **chromatically**, represented by the second coordinate: they are both, generically speaking, a type of "3\12", or represented by 3 generic steps in the chromatic scale. However, they map to different positions **diatonically**, represented by the first coordinate: one is a type of "second" (represented by a mapping of "one step"), and the other is a type of "third" (represented by a mapping of "two steps").

To see a contrasting example, let's compare 5/4 and 6/5. Skipping the individual mappings and just going straight to the concatenation, we get

- Concatenating 7-EDO and 12-EDO:
- 5/4 maps to |2 4>
- 6/5 maps to |2 3>

And now we have the reverse situation: 5/4 and 6/5 map to the same position **diatonically**, which is two steps (or a third, counting from one), but they map to different positions **chromatically**, in that 6/5 maps to 3\12 and 5/4 maps to 4\12.

We can put this all together to arrive at our main result, which is in some sense the primary theorem we will use when understanding layered interval perception:

Result #1: **Any meantone interval can be uniquely specified by simply giving its generic diatonic interval position, and its generic chromatic interval position.**

Furthermore:

Result #2: **For any 5-limit JI interval, if you specify its mapping when tempered to 7-EDO, and its mapping when tempered to 12-EDO, this is equivalent to meantone-tempering it, and giving the above meantone-tempered representation.**

# Diatonic, Chromatic and Enharmonic Movements

Using the above concepts, we can rigorously define "diatonic," "chromatic," and "enharmonic" modulations. We will stick with meantone at first, but then generalize this to other temperaments.

Suppose we start with some note, and then we want to move upward by "step" in some direction. There are three possible ways to do this, which are:

- Movement by |1 1> (diatonic coordinate changes, chromatic coordinate changes)
- Movement by |0 1> (diatonic coordinate doesn't change, chromatic coordinate changes)
- Movement by |1 0> (diatonic coordinate changes, chromatic coordinate doesn't change)

The first one is called **diatonic**, and corresponds to motion by a diatonic semitone (or "minor second"). Note that |1 1> is simply the representation of the meantone diatonic semitone in this basis. That the diatonic semitone is |1 1> tells you that if you add this to any other interval, both the diatonic interval position and the chromatic interval position change by 1. So if you add this to a major third, which is |2 4> (so it maps to 2\7, or a type of "third", and 4\12 in the background), you will get |3 5> which is a perfect fourth.

The second is called **chromatic**, and corresponds to motion by a chromatic semitone (or "augmented unison"). |0 1> is simply the representation of the chromatic semitone in this basis, and it tells you that if you add this to any other interval, the diatonic interval position will be held constant while the chromatic interval position will change by 1. For example, if you add this to a minor third, which is |2 3>, you get |2 4> which is the major third. Again, note that |2 3> is a type of "third" that maps to 3\12 in the background, and |2 4> is a type of "third" that maps to 4\12 in the background, or the minor and major third respectively.

The last one is called **enharmonic**, and corresponds to motion by what in meantone has historically been called the "diesis" (or "diminished second"). The diesis maps to |1 0>. This tells you that if you add this to any other interval, the diatonic coordinate changes, but the chromatic coordinate stays constant.

We defined this for meantone, but using our "Result #2" above, we can easily see which 5-limit JI "semitones" map to which category. For example, 16/15 is easily shown to map to |1 1>, meaning it is both a type of "second" and one step in the background chromatic scale, and hence the combination of these two specifies that it is a "diatonic semitone." Likewise, 25/24 maps to |0 1>, and 128/125 maps to |1 0>.

Some intervals, however, such as 81/80, map to |0 0> and do not correspond to *any* movement in meantone, either diatonically, chromatically, enharmonically, or otherwise. These intervals are of no importance in strict meantone temperament, having been tempered with the unison.

However, remember that we formed this mapping matrix by starting with 7-EDO, which is sensitive to changes in "diatonic" scale position, and then adding 12-EDO, which is additionally sensitive to changes in "chromatic" scale position.

What if we add one more coordinate, representing something like a "comma adjustment" from our diatonic/chromatic scale position? Doing so will introduce a new notion, that of a "subchromatic" (or "commatic") movement, and thus bring us to a 3-dimensional system.

# Subchromatic Movements: Rank-3

Suppose that we want to now add a new type of interval adjustment chroma to our system: one which is a small "comma" that you can adjust the other intervals by.

This adjustment does not alter our diatonic or chromatic interval category, nor does it change our "coarse position" on the chain of fifths. It simply shifts things in a new direction, totally independent of the first two.

In this case, suppose we want to stay in meantone, but add a new 7-limit "comma" that we can change things by to turn the meantone major third into a "supermajor third" of 9/7, and the meantone minor third into a "subminor third" of 7/6. This comma would be a tempered version of 36/35.

To represent this system, we first establish how we want to establish 9/7 and 7/6 in terms of diatonic and chromatic interval mappings. For instance, is 7/6 a type of "third," or a type of "second?" There is no right answer to this; these are simply two different systems, with two different types of hearing, corresponding to two different mappings. For the purposes of this example, we will lay out a system whereby 9/7 and 7/6 are considered types of altered "third."

Doing so means that we extend our meantone mapping matrix to the 7-limit as follows, by adding one more column:

[ 7 11 16 20] [12 19 28 34]

This new column tells us that 7/1 maps to 20 steps of 7-EDO, or is considered a type of "twenty-first"; if you reduce within the octave this means it is a type of "seventh." Likewise, 7/ maps to 34 steps of 12-EDO, or if you reduce to the octave, is a type of "10-step interval."

To add our new comma, then, we simply add the following row to the above:

[ 7 11 16 20] [12 19 28 34] [ 0 0 0 -1]

This last entry coordinate tells us that 7/1 maps to a type of "twenty-first", maps to a "10-step dodecaphonic interval," and also maps to an adjustment level of "minus one" of these new comma-sized adjustment intervals. If you reduce to the octave, this means that 7/4 is a type of "seventh," fits into the 10-step dodecaphonic bucket, and has an adjustment level of minus one.

Note also that 5/1, in the above mapping, has an adjustment level of *0*. This means that the way we designed the mapping hasn't broken our 5/4 off the main chain of fifths, so we are still in a meantone temperament where 81/80 vanishes.

The mapping above can literally be read as saying that 5/1 maps to |16 28 0>, or when reduced to the octave, 5/4 maps to |2 4 0>. Read using the interpretation given previously, this says that 5/4 is a heptatonic "2-step" interval (or a type of "third"), that it is a dodecaphonic "4-step" interval, and that 5/4 does not have *any* adjustment by this new comma-sized interval we've introduced.

(Of course, we did not have to map it this way, but we did it to keep things consistent for pedagogical reasons with the meantone example from before.)

This gives us a new type of interval adjustment, in a totally independent way of the ones discussed before. Revisiting the old ones, and adding the new one, we now have the following:

- |1 1 0>: "Diatonic" adjustment (diatonic and chromatic interval classes go up by one)
- |0 1 0>: "Chromatic" adjustment (only the chromatic interval class goes up by one)
- |1 0 0>: "Enharmonic" adjustment (only the diatonic interval class goes up by one)
- |0 0 1>: "Subchromatic" adjustment (diatonic and chromatic classes preserved, things only change on this new layer)

Now, a note about terminology. Some people may think it more intuitive to use the term "commatic" adjustment for the last one, rather than "subchromatic." However, I deliberately use the term "subchromatic" for the following reasons:

- The term "commatic" is also often used to refer to things that are
*tempered out*. - We are now deliberately talking about something that is
*not*being tempered. - This new interval really does function like a type of "chroma," in that it leads to a lattice of possible adjustments.
- However, since this chroma is operating on a new layer that is "underneath" the usual diatonic and chromatic one, I will call it a "subchroma."
- Such motions, being distinct from chromatic or enharmonic ones, are called "subchromatic."

Here are how the following "thirds" map according to this system:

- |2 3 -1>: 7/6
- |2 3 0>: 6/5, 32/27
- |2 4 0>: 5/4, 81/64
- |2 4 1>: 9/7

Note how descriptive the notation is: the first coordinate in all these cases is "2", representing a "2-step" or "third" diatonic mapping. The second coordinate changes from 3 to 4, giving you a 3\12 mapping for the first 3, and a 4\12 for the second 3, telling you the first two are a kind of minor third and the second two are a kind of major third. The last coordinate gives you the subchromatic adjustment.

Putting that all together, this shows you that in this particular system, while 7/6, 6/5, 32/27 are all equated diatonically (2-step) and chromatically (3-step), that 7/6 is distinguished from the other two subchromatically (-1 subchroma).

We can, of course, use different mappings for the above than extending meantone. For example, suppose we really do want to break 5/4 off the main chain of fifths, and specify that it is instead one subchroma lower from the Pythagorean major third, just like 9/7 is one adjustment higher. Then we would instead get the following mapping matrix:

[ 7 11 16 20] [12 19 28 34] [ 0 0 -1 -1]

where the only difference is that the 5-coordinate for the last row has been changed to -1. Now the mapping for 5/1 would be |2 4 -1>, specifying that it is a type of 2-step interval diatonically (or a "third"), a type of 4-step interval chromatically, and is adjusted down by one subchroma. We then get the following nice sequence of thirds:

- |2 3 -1>: 7/6
- |2 3 0>: 32/27
- |2 3 1>: 6/5
- |2 4 -1>: 5/4
- |2 4 0>: 81/64
- |2 4 1>: 9/7

So you can now see that while 7/6, 32/27, and 6/5, are all equivalent diatonically and chromatically, they are all subchromatically distinct.

This is an example of the hemifamity temperament, and now our subchroma represents both 64/63 and 81/80.

We could likewise decide to go in a "superpyth" direction: put 9/7 on the main chain of fifths, and break 5/4 off from it. We would then get

[ 7 11 16 20] [12 19 28 34] [ 0 0 -1 0]

And now we get the following mappings for the thirds:

- |2 3 0>: 7/6, 32/27
- |2 3 1>: 6/5
- |2 4 -1>: 5/4
- |2 4 0>: 9/7, 81/64

So you can see that now it is 6/5 that is distinguished subchromatically from the other two.

This concept doesn't just apply to the 7-limit, but can even apply just in the 5-limit. For instance, suppose we go with the following 5-limit mapping:

[ 7 11 16] [12 19 28] [ 0 0 -1]

Then we have the following mapping for these 5-limit thirds:

- |2 3 0>: 32/27
- |2 3 1>: 6/5
- |2 4 -1>: 5/4
- |2 4 0>: 81/64

It so happens that the above system is equal to 5-limit JI, but now given a hierarchical interpretation and a diatonic, chromatic, and subchromatic structure, represented by this coordinate system. Using the above, we can see that we can view 5-limit JI as being generated by a coarse, 7-based diatonic mapping, a coarse, 12-based chromatic mapping, and then one last coordinate representing this new subchroma, which happens to be a just 81/80.

Since in that last row, the 3-coordinate is 0, this means that in this particular interpretation, we consider all 3-limit intervals to have *no* subchromatic adjustment whatsoever. They are subchromatically "clean," and it is the 5-limit intervals which we consider adjusted.

# Generalizing to Other Temperaments: Porcupine Chromaticism and Enharmonicism

All of the examples above assume that we are starting with a 7-based diatonic interval classes, and a 12-based chromatic interval classes, and this is reflected in our choice of the vals <7 11 16| and <12 19 28| for the rows of our mapping matrix. We can easily generalize this entire theory to arbitrary temperaments by simply choosing two other vals to represent diatonic and chromatic interval hearing.

For example, suppose we decide we want to stay with a 7-note diatonic scale, with the same mappings as before, but then have 15 chromatic interval classes rather than 12. We can use the 7-EDO and 15-EDO patent vals to reflect this. Assuming we stay in the 7-limit, as in our prior example, we will get

[ 7 11 16 20] [15 24 35 42]

That first row is identical to the previous example, tells us that our diatonic scale mappings for 7-limit intervals are the same as described before. In particular, we are still considering 7/6 to be a type of "third," or 2-step interval, rather than a type of "second," or 1-step interval. Likewise, 6/5, 9/7, 81/64, etc are all "thirds," 3/2 is a "fifth" (four-step interval), and 7/4 is a type of "seventh" (6-step interval). This row is supposed to represent the generic diatonic interval classes for any 7-limit interval, and hence represents the usual heptatonic-based hearing that we have.

The second row, in contrast, is totally different. It represents a chromatic background of 15 different notes, which various things are rounded off (and mapped to, so that compound rounding errors can "add up"). So we would now have 15 different chromatic interval buckets. 3/2 maps to the "9-step" interval class. Notably, 9/8 maps to the "3-step" interval class, whereas 10/9 maps to the "2-step" interval class. 5/4 maps to the "4-step" interval class, and 7/4 maps to the 12-step interval class.

It turns out that our 15-tone chromatic scale also does fairly well at putting 11-limit intervals into coarse chromatic interval buckets, much more so than 12. So, we may as well represent this by adding 11 to the above matrix. If we do so, we get:

[ 7 11 16 20 24] [15 24 35 42 52]

This tells us that we are considering 11/8 to diatonically be a type of "fourth", or 3-step interval, and hence 11/9 to be a type of "third", or 2-step interval. Chromatically, we consider 11/8 to be a type of "7-step" interval, one more than the 3/2 at 6 steps.

As before, we interpret these as two "levels of hearing" -- a diatonic and chromatic one. And as before, if we specify these two pieces of information, we are uniquely specifying the position of different intervals in some rank-2 lattice. It so happens that this is the lattice for porcupine temperament, tempering 250/243, 64/63, and 100/99, which if you work through the matrix algebra, is the thing you get.

Porcupine is generated by a ~164 cent interval, called by William Lynch the "quill," which is simultaneously a tempered representation of 10/9, 11/10, and 12/11. Two of them give you, simultaneously, a tempered 6/5 and 11/9, which are equated in porcupine temperament. Three of these generators give you a tempered 4/3. Two 4/3's give you a tempered 7/4.

Since three generators give you 4/3, and two of those give you 7/4, then 64/63 is tempered out, as in superpyth. So we will have 9/7 equated on the chain of fifths to 81/64, 8/7 equated to 9/8, and 32/27 equated to 7/6.

Indeed, one good way to think of porcupine temperament is as a superpyth temperament, but where the fourth has been split into three equal parts. As a result of this, the apotome also splits into three equal parts. So, relative to a superpyth framework, where we are calling 9/7 and 7/6 the "major" and "minor" third (as they are on the chain of fifths), this would mean we are inserting two different 'neutral' or 'middle' interval classes in between our major and minor intervals.

In other words, there becomes a sequence of chromatically altered thirds 7/6 -> 6/5 -> 5/4 -> 9/7, where the 6/5 is like a "low middle third" (at ~327 cents), and the 5/4 is like a "high middle third" (at ~382 cents). The chroma in this case is tempered to be 25/24, 81/80, and 36/35, all at the same time.

However, while the above interval description is presented just for the sake of relating porcupine to superpyth for those that are unfamiliar, it should be noted that porcupine intervals are often named so that the 5/4 is the "major third" and 6/5 is the "minor third," in part because they often sound similar to the meantone major third and minor third when not played in an explicitly superpyth-ish context, and in part because sometimes the terms "major" and "minor" are used in a generalized sense to refer to the large and small versions of each interval in an MOS.

However, we do not need to define an interval naming scheme at all to understand the structure of porcupine.

Of course, we could describe porcupine intervals by their position on the chain of "quills," similarly to how we can describe meantone intervals by their position on the chain of fifths.

But, more importantly, we we can simply use our paradigm from before: we can uniquely describe porcupine intervals in terms of their 7-based "diatonic" interval class and their 15-based "chromatic" interval class, exactly as we did with meantone. The combination of these two things can uniquely describe every interval in the porcupine lattice.

Doing this, and using the same notation from before, we get the following mappings for some common 11-limit intervals:

- 3/2: |4 9>
- 4/3: |3 6>
- 9/7: |2 6>
- 5/4: |2 5>
- 6/5: |2 4>
- 7/6: |2 3>
- 11/9: |2 4>
- 7/4: |6 12>
- 7/5: |4 7>
- 8/7: |1 3>
- 9/8: |1 3>
- 10/7: |3 8>
- 11/8: |3 7>
- 11/7: |4 10>

where again, the first coordinate is the generic diatonic interval class (expressed as a number of steps), and the second is the generic chromatic interval class.

So immediately, we can see some interesting things: in porcupine, 7/5 and 10/7 map to two distinct chromatic buckets, as expressed by that 7/5 maps to a "7-step" interval and 10/7 maps to an "8-step" interval. Likewise, while 10/7 and 11/8 are both types of "fourth," there is now a distinct chromatic bucket for 11/8 at 7 steps, right between 4/3 at 6 steps and 10/7 at 8 steps.

We can also see that some things are *not* distinct. For example, 8/7 and 9/8 are totally indistinguishable in this temperament, and map to a diatonic "second" and a chromatic "3-step" interval. Even more interestingly, 6/5 and 11/9 are likewise indistinguishable, both mapping to a diatonic "third" in the "4-step" interval bucket.

We can also see, from this, that there is a brand new notion of porcupine "enharmonic equivalences," which we are not designing ourselves, but which simply result from the above. As a more familiar example, consider the following:

- 25/16: |4 10>
- 8/5: |5 10>

You can see that both of them map to the *same* 15-based chromatic bucket, which is a "10-step" interval. However, they map to distinct diatonic buckets: the former is a type of "fifth" and the latter is a type of "sixth." This is directly analogous to how 25/16 is an "augmented fifth" and 8/5 is a "minor sixth" in meantone: in both cases, the two are chromatically equivalent, both for a 12-based chromatic or a 15-based chromatic scale, but are diatonically distinct.

However, we can also obtain a very exotic enharmonic equivalence from the above:

- 32/27: |2 3> (also equal to 7/6)
- 9/8: |1 3> (also equal to 8/7)

And another:

- 9/7: |2 6> (also equal to 81/64)
- 4/3: |3 6>

Both of these are very different than anything we're used to in meantone, and reflects the unique structure of using 15-EDO as a chromatic scale.

In the first example, 32/27 and 9/8 are equated into the *same* 15-based chromatic bucket: the 3-step interval. However, they map to different diatonic interval classes. The former is a type of "third" (2-step) and the latter being a type of "second" (1-step).

So we have a very interesting situation: these two intervals have the same diatonic interval classes that we're used to from meantone, where 32/27 is a type of third and 9/8 is a type of second. However, the chromatic structure is very different from the 12-tone meantone chromatic scale - they now map to the *same* 15-tone chromatic bucket!

What this tells you is that these intervals are "enharmonically equivalent" in porcupine. In other words, if you are playing in the 15-tone unequal porcupine[15] chromatic scale, some of the modes of this chromatic scale will contain 32/27, and some will contain 9/8, *in the same chromatic scale position.* You do not get both at the same time, but have to change your mode of the chromatic scale to suit the one you need.

This is directly analogous to how the "aug2" and "m3" are enharmonically equivalent in meantone (assuming a 12-note chromatic scale), how some modes of meantone[12] contain an aug2 at the third step whereas others contain an m3, and how people historically had to choose carefully whether they wanted things like a D# or an Eb in their meantone chromatic scale. In both cases, while two map to the same chromatic bucket, they map to different diatonic interval classes.

If you had a porcupine[15] chromatic scale, you would have to choose which enharmonic version of this interval you'd like, or perhaps add "split keys" to get both, or try a well temperament.

Now, you will note that the above analysis did not involve choosing any system of interval names for porcupine temperament. But, by simply specifying the diatonic and chromatic "buckets" that different 11-limit intervals map into, we are able to completely recover the structure of the temperament, which intervals are "enharmonic," the structure of the lattice, and so forth.

# Adding Rank-3 Subharmonic Structure to Porcupine

Suppose, then, that we want to do the same thing to Porcupine that we did to meantone: add a new independent generator that behaves "subchromatically," adjusting intervals on a third layer of structure that is independent of the diatonic and chromatic structures.

We can do this exactly as we did before: by adding one more val that represents the subchroma in question.

For example, suppose we decide we want to "split off" 7/4 from the chain of fourths, by adding 64/63 as a new subchroma. So now, 16/9 would still be 6 porcupine generators, but you would need to then adjust down by one subchroma to get the 7/4. Lastly, suppose that we do *not* want to change the mappings for 3/2, 5/4, and 11/8, so that they remain on the main chain of porcupine generators with no subchroma adjustments.

This would lead to the following mapping matrix, which represents the rank-3 "Sonic" temperament:

[ 7 11 16 20 24] [15 24 35 42 52] [ 0 0 0 -1 0]

So we have now added a new, third coordinate that represents adjustments by our 64/63. Doing so, we now obtain the following interval mappings:

- 3/2: |4 9 0>
- 4/3: |3 6 0>
- 9/7: |2 6 1>
- 5/4: |2 5 0>
- 6/5: |2 4 0>
- 7/6: |2 3 -1>
- 11/9: |2 4 0>
- 7/4: |6 12 -1>
- 7/5: |4 7 -1>
- 8/7: |1 3 1>
- 9/8: |1 3 0>
- 10/7: |3 8 1>
- 11/8: |3 7 0>
- 11/7: |4 10 1>

So you can see that for the ratios with 7 in them above, that they are now obtained by subchromatic alterations to the main porcupine chain.

Of course we could also have designed this differently. Suppose we want to leave 7 on the main chain of porcupine generators, but instead split off ratios of 11. Currently, porcupine equates 6/5 and 11/9, but perhaps we can design our additional subchroma so that while 6/5 is left on the main chain, we now sharpen it by one subchroma to get our representation of 11/9. This subchroma would now represent 55/54 rather than 64/63 as in our previous example.

This would be the following mapping matrix:

[ 7 11 16 20 24] [15 24 35 42 52] [ 0 0 0 0 1]

This would yield the following:

- 3/2: |4 9 0>
- 4/3: |3 6 0>
- 9/7: |2 6 0>
- 5/4: |2 5 0>
- 6/5: |2 4 0>
- 7/6: |2 3 0>
- 11/9: |2 4 1>
- 7/4: |6 12 0>
- 7/5: |4 7 0>
- 8/7: |1 3 0>
- 9/8: |1 3 0>
- 10/7: |3 8 0>
- 11/8: |3 7 1>
- 11/7: |4 10 1>

You can see that now it's the ratios of 11 that are split off.

Of course, we can again combine these. Suppose we want one general purpose subchroma, equal to a combined 64/63 and 55/54, that we can adjust to get both ratios of 7 and 11. In this system, we preserve the 5-limit mappings on the main porcupine chain but splits off both ratios of 7 and ratios of 11. Since our system equates 64/63 and 55/54, 385/384 i tempered out.

The above description gives us the following mapping matrix:

[ 7 11 16 20 24] [15 24 35 42 52] [ 0 0 0 -1 1]

And now we get the following interval coordinates:

- 3/2: |4 9 0>
- 4/3: |3 6 0>
- 9/7: |2 6 1>
- 5/4: |2 5 0>
- 6/5: |2 4 0>
- 7/6: |2 3 -1>
- 11/9: |2 4 1>
- 7/4: |6 12 -1>
- 7/5: |4 7 -1>
- 8/7: |1 3 1>
- 9/8: |1 3 0>
- 10/7: |3 8 1>
- 11/8: |3 7 1>
- 11/7: |4 10 2>

# A Quick Tangent: Rank-3 "Subchromatic" or "Commatic" Scales

In the above exposition, we started by showing that, rather than going with the usual choice of meantone generators - octave and fifth - we can go with the pair of vals representing the "diatonic" and "chromatic" interval mappings, which is 7-EDO and 12-EDO, to obtain a different (but equivalent) representation for every meantone interval.

The two vals 7-EDO and 12-EDO are sensitive to changes in diatonic and chromatic scale position, respectively, but are not sensitive to changes in 81/80. If we add a third val to our matrix that *is* sensitive to changes in 81/80, this would give us a third coordinate, and we would have a rank-3 lattice.

Now, if we were going to strictly continue with the paradigm from earlier, we would do so by finding a third val that represents something like a "subchromatic" (or "commatic") scale, within which fit multiple subchroma-altered (or "comma-altered") versions of the chromatic scale. This would be directly analogous to how the chromatic scale fits multiple chroma-altered versions of the diatonic scale.

This would be a very interesting model to develop! For example, we could add a third 15-tone, 17-tone, or 22-tone background scale, for which 81/80 is a single step. Then, assuming we are in the 5-limit, the combination of these three mappings would uniquely specify any 5-limit interval, but do so in a way that specifies a tertiary hierarchical, layered representation of interval mappings, building on the diatonic/chromatic one from before. In this model, there would be simultaneously *three* levels of hearing, with the third one specifying the interval's mapping along this new "subchromatic" scale.

The relevant mapping matrix would look like this (in the case of 22-EDO):

[ 7 11 16] [12 19 28] [22 35 51]

In the interpretation from before, the first two coordinates still give you the diatonic and chromatic mappings for any 5-limit interval, and correspond roughly to the 7-based and 12-based "rounded off categories" for every 5-limit interval. However, by also adjoining a coordinate that represents a hypothetical "22-based," rounded off categorical perception, we can represent every interval in the 5-limit.

Put differently, in our new interpretation of regular mappings, the combination of these three "modes of hearing" enable us to uniquely understand any 5-limit interval.

We could also use the 17-EDO patent val, using the variant where 5/4 and 6/5 both map to 5 steps, or exactly half of 3/2, as types of middle third (perhaps related to how they are heard in Rast, where 5/4 is a "high middle third"):

[ 7 11 16] [12 19 28] [17 27 39]

In this approach, we would map a 5/4 as a "third" diatonically, a "4-step" interval chromatically, and a "6-step" interval in this new "subchromatic" scale. In contrast, 6/5 would be a "third" diatonically, a "3-step interval" dodecaphonically, and a "6-step" interval heptadecatonically. But, 32/27 would be a "third" diatonically, a "3-step interval" dodecaphonically, and a "5-step" interval heptadecatonically, so that it only moves "subchromatically" on that last layer.

This is one very neat interpretation of rank-3 lattices: rather than three "generators", we think of three layers of perception. A better description of this model would involve diving into Fokker blocks, which we will leave for future research.

# Which Chroma is a Subchroma? Mavila, 5-limit JI, and Subchromatic Reprioritizations

An interesting situation arises in the case of rank-3, 5-limit JI. Let's go back to our meantone example, and consider the following mapping matrix:

[ 7 11 16] [12 19 28] [ 0 0 -1]

Again, here are the mappings for some thirds according to this matrix:

- |2 3 0>: 32/27
- |2 3 1>: 6/5
- |2 4 -1>: 5/4
- |2 4 0>: 81/64

The strange thing about this is, this mapping is just 5-limit JI. We had 3 dimensions to begin with, and we've specified 3 different coordinates, so we've filled the entire space and are able to uniquely distinguish any 5-limit interval.

But what if we had instead started with a different rank-2 temperament than meantone? For example, suppose we wanted to stay with our 7-based diatonic hearing, but now instead use a 16-based chromatic scale: then we would get

[ 7 11 16] [16 25 37]

This is mavila temperament. For reference, we get the following for some common 5-limit intervals:

- 3/2 - |4 9>
- 4/3 - |3 7>
- 5/4 - |2 5>
- 81/64 - |2 4>
- 6/5 - |2 4>
- 32/27 - |2 5>

Again, that 3/2 is |4 9> tells you that it is diatonically a 4-step interval (a "fifth"), and fits into the chromatic bucket of 9 steps out of 16. Likewise, 4/3 being |3 7> tells you its diatonic span is 3 steps, and its chromatic span is 7 steps out of 16.

Interestingly, note above that 81/64 is |2 4>, equal to 6/5. Also note that 32/27 is |2 5>, equal to 5/4. So while these are all diatonically "thirds," we have the interesting chromatic situation that 81/64 is lower than 32/27, and that to obtain 5/4 from 81/64, you must chromatically *sharpen* it, preserving the diatonic position while moving its chromatic bucket up by one step. This is characteristic of mavila, which typically has the 3/2 tuned so flat (~675 cents or so) that the thirds "flip places" like this, so that the thing you would expect to be a "major third" now fits onto the chain of fifths as a "minor third" and vice versa.

Now, what if we wanted to add another generator to this to behave as a subchroma? Mavila tempers 135/128, so perhaps we can add that back in. If we do so, we get the following matrix:

[ 7 11 16] [16 25 37] [ 0 0 1]

This last row tells us that 2/1 and 3/2 are left alone regarding their position on the main chain of fifths, but now we have "detangled" 5/4 from the chain of fifths. Before, 5/4 was equated with 32/27 (again, remember the fifth being so flat that the thirds swap places). Now, however, we are adding 135/128 back in as a subchroma, and saying that we must sharpen 32/27 by one of these subchromas to obtain 5/4.

If we do so, then the above interval mappings change as follows:

- 3/2 - |4 9 0>
- 4/3 - |3 7 0>
- 5/4 - |2 5 1>
- 81/64 - |2 4 0>
- 6/5 - |2 4 -1>
- 32/27 - |2 5 0>

So you can see that 5/4 and 6/5 now require subchromatic alteration to obtain. So this serves as another demonstration of how this method can be applied to different temperaments, similar to what we did with porcupine.

However, much unlike our porcupine example, we now have a very interesting situation. Let's compare our "subchromatically enhanced" rank-3 meantone matrix:

[ 7 11 16] [12 19 28] [ 0 0 -1]

with our "subchromatically enhanced" rank-3 mavila matrix

[ 7 11 16] [16 25 37] [ 0 0 1]

The interesting thing is that both of these matrices define *the same temperament*: in this case, 5-limit JI (so not much of a temperament at all). Although the matrices are different, from a lattice standpoint, they are entirely equivalent: they both represent the entire 5-limit lattice.

This is easy to see: the 5-limit lattice is 3-dimensional, and in both cases we have specified three dimensions, so we have enough information in both cases to specify the entire 5-limit lattice.

This makes mathematical sense, but is kind of strange if you consider how we arrived at these two systems in totally different ways.

With our initial meantone example, we started this article off by noting that our new "diatonic/chromatic interval class" concept is merely a different choice of coordinates to specify intervals on the meantone lattice. It is completely equivalent to the more typical system of specifying the octave/fifth mappings, but is more intuitive for the purposes of representing diatonic and chromatic interval classes.

Likewise, our mavila 7&16 based mapping is simply a diatonic/chromatic coordinate system for the mavila lattice, and is completely equivalent to the octave/fifth based mappings in the same way.

But then, in both cases, when we add a single subchroma, we suddenly converge on the same 5-limit JI structure, although we have arrived at it independently from two totally different, incompatible, layered interval class representations: the 7&12 meantone one, and the 7&16 mavila one.

This gives you an interesting, somewhat unintuitive property of 5-limit JI, and indeed of rank-3 scales in general: unlike rank-2 scales, rank-3 scales admit *multiple* layered interval class decompositions. You can play in 5-limit JI, and decompose everything into a "detempered meantone lattice" with a new 81/80 subchroma, or you can decompose it into a "detempered mavila lattice" with a new 135/128 subchroma. Or you can decompose it into a "detempered porcupine lattice" with a new 250/243 subchroma, and so on.

What this means is:

- By playing in 5-limit JI one way, you can make it sound like a "detempered meantone with comma adjustments," where 81/80 functions purely on the subchromatic layer.

- By playing in it another way, you can make it sound like a "detempered porcupine with comma adjustments", with 81/80 suddenly becoming reprioritized as a type of chroma, and 250/243 suddenly becoming the purely subchromatic interval.

- By playing in it yet another way, you can make it sound like a "detempered mavila with comma adjustments", with 135/128 now being subchromatic.

The last one will likely be harder than the above, just because the 'tuning' for 5-limit JI is much further from mavila than it is from meantone and porcupine. But in principle, it should be possible, given someone with strong enough ear training in mavila that they've developed a categorical perception for it.

Put more simply, in rank-3 systems, it is possible to dynamically change which small interval you are considering the "chroma," and which one you are considering the "subchroma," which we will refer to as **subchromatic reprioritization.**

There is no unique "right answer" for how to do this in the case of rank-3, like there is for rank-2. You simply have multiple choices for how you want to lay out your layered interval hierarchy, which can be expressed as different coordinate systems and hence different mapping matrices.

This leads to an important concept: the different hierarchical interval systems we have laid out correspond to different *bases* for a lattice, not the lattice itself. In particular, it is very related to Adriaan Fokker's theory of Fokker blocks, and what are now called "Fokker arenas". While a thorough mathematical exploration of this topic is not within the scope of this article, it is noteworthy here that the special Fokker blocks that enable particularly easy reprioritization, as described in the above sense, are called wakalixes", a name coined by Keenan Pepper and taken from Richard Feynman. These wakalixes are scales that can be "reframed" as a Fokker block in more than one way, and hence can be equivalently viewed as "detempered" versions of at least three MOS's at the same time.

# Layered Interval Representations without Temperament

(TODO: Talk about using this concept with MOS's and rank-3 scales in general, without regard to mappings)

# True Categorical Perception

(TODO: Talk about how real categorical perception doesn't use JI, and involves "bendy" intervals and "stretchy" lattices, distinction between maps-like and sounds-like, etc)