The Prime Harmonic Tricorn: Rank-3 Chromatic And Diatonic Mistuning Bounds

These are the natural rank-3 intervals expressed in the rank-3 prime harmonic coordinate basis, (P8, P12, M17):

    P1 = (0, 0, 0)

    m2 = (4, -1, -1)

    M2 = (1, -2, 1)

    m3 = (1, 1, -1)

    M3 = (-2, 0, 1)

    P4 = (2, -1, 0)

    P5 = (-1, 1, 0)

    m6 = (3, 0, -1)

    M6 = (0, -1, 1)

    m7 = (0, 2, -1)

    M7 = (-3, 1, 1)

    P8 = (1, 0, 0)

If we keep the octave pure but mistune the P12 and M17, how much can we mistune them while still keeping normal chromatic intervals (and thus also the normal diatonic intervals) in their usual order that we know from 12-TET?

I'm investigating this numerically. To start, it seems that If we tune P12 purely to 3/1, then M17 can range between 

    24^(1/2) ~ 4.89897948557 

and

    27^(1/2) ~ 5.19615242271

And this starts to look like a bit of a pattern when we note that the pure value can be expressed as 25^(1/2).

If M17 is tuned purely to 5/1, then P12 can be between 

    25^(1/3) ~ 2.92401773821

and

    25/8 = 3.125

Pretty weird. I'm excited to figure out where these numbers come from. The pure value here could be expressed as 27^(1/3). But if we also express the high bound as a cube root, then we get

    25/8 = (15625/512)^(1/3)

which is pretty crazy. Unless I got that bound wrong. But I doubt it.

....

How about a 2D plot of P12 and M17 values, which shows which simultaneous mistunings will induce a chromatic ordering over the natural intervals?

I don't know how to use real software libraries, but I think I pieced together enough snippets from stack exchange to make this work in matplotlib.pyplot. The shape I was getting looked pretty wonky at low resolutions, 

(a concave nonagon)


(This is clearly Lake Superior, somehow.)

but as I increased the resolution, it got to be increasingly regular:


It's bit of a weird triangle, but at least it's a triangle and not a concave nonagon or worse, like I was getting at first.

Assuming that the plot is correct, let me see if I can figure out the coordinates for all the triangular vertices.

Just from zooming in on the graph:

    The bottom left vertex is around (2.76, 4.83).

    The bottom right vertex is around (3.2775, 5.0325).

    The top vertex is around (3.04, 5.175).

Back to numerical methods. The bottom left vertex is extremal twice: it's both the lowest chromatic/diatonic value of P12 for any M17, and the lowest chromatic/diatonic value of M17 for any P12. The other two vertices are extremal in one dimension: the top corner is the highest chromatic/diatonic value of M17 for any value of P12, and the bottom right vertex is the highest chromatic/diatonic value of P12 for any mistuning of M17.

So my visually estimated graph values were garbage and not worth referring back to for comparison, except to measure my lack of understanding of matplotlib graphs. Here are some new estimates, gotten numerically:

    The top vertex is around (3.0314, 5.2779)

    The bottom right vertex is around (3.1747, 5.0397).

    The bottom left vertex is around (2.828428, 4.75683).

The bottom left vertex appears to be {8^(1/2), 2^(9/4)}.

For both the bottom left vertex and the top vertex, we seem to have the relationship

    (P12)^3 = (M17)^2.

This holds exactly with the symbolic expressions I gave for the bottom left corner. With the numerical coordinates for the top corner, we have

    (3.0314)^(3) = 27.8567

    (5.2779)^2 = 27.8562

Which is quite close. Although for the bottom right corner, the relationship doesn't hold:

    (3.1747)^(3) = 31.996912669723002

    (5.0397)^(2) = 25.39857609

But this at least suggests that the P12 coordinate on the bottom right vertex might be 32^(1/3).  Ah, and the M17 coordinate looks a lot like 128^(1/3).

Let's try expressing all of these so that the base of the exponent is 2. For the bottom right vertex,

    32^(1/3) =  2^(5/3) ~ 3.174802

    128^(1/3) = 2^(7/3) ~ 5.039684

For the bottom left vertex

    8^(1/2) = 2^(3/2) ~ 2.82842712

    2^(9/4) ~ 4.7568284

Lol, I'm noticing that 12 is the common denominator of all these fractions. Are these all just 12-EDO values? ... No, the coordinates of the top vertex don't appear to be 12-EDO. Let's dial-in those coordinates more precisely.

I don't think the top vertex has coordinates ((147)^(2/9), 147^(1/3)). That would be silly. Why would I even mention that?

...

Okay, so we're looking for the largest diatonic/chromatic value of M17 and we want to also know the P12 that goes with it. The top coordinates more precisely are:

    (3.031433116483, 5.278031599899)

I don't know what these numbers are yet, but I'm pleased to see that the relationship between them is getting tighter also:

    3.031433116483^(3) = 27.85761756954

    5.278031599899^(2) = 27.85761756953

I'll keeping trying to dial that in. But, oh hey, I bet I could figure out the triangle coordinates another way! If I know the two bottom vertex coordinates and I have some other triangle points that aren't at the vertices (from treating P12 or M17 purely), then I should be able to get the last vertex using a little geometry. I just need to define the top two line segments and find their intersection. But I'll probably just keep with numerical methods. That's usually faster and easier than thinking. And sadly it's a method of comparable reliability.

Oh, hey, the 27.8 number in the relationship between the coordinates is 2^(24/5), right?

And if P12^3 = M17^2 = 2^(24/5), then

    P12 = 2^(8/5)

    M17 = 2^(12/5)

Nice. That doesn't actually match my numerical coordinates past six decimal places, but I have more faith in simple numbers than I do in my simulations.

So the triangle coordinates are probably

    Bottom left: (2^(3/2), 2^(9/4))

    Bottom right: (2^(5/3), 2^(7/3))

    Top: (2^(8/5), 2^(12/5))

Let's figure out line segments between those points and then test whether they interest the original points four points that I found, two on  the axis P12 = 3, and two on the axis M17 = 5.

...

If I define a line that runs through points (2^(3/2), 2^(9/4)) and
 (2^(5/3), 2^(7/3)), then it also passes through

    (x = 3, y = 4.896937808074327)

    (x = 3.126206258490623, y = 5)

.

And for another pair of points I get

    (x = 3, y = 5.197329356869208)

    (x = 2.9231412118079656, y = 5)

And for the last pair, 

    (x = 3, y = 5.330288465814343)

    (x = 3.1986726467519038, y = 5)

Unfortunately we have no exact matches to the previous values. We have several close matches:

    24^(1/2) ~ 4.89897948557 -> (y = 4.896937808074327)

    27^(1/2) ~ 5.19615242271 -> (y = 5.197329356869208)

    25^(1/3) ~ 2.92401773821 -> (x = 2.9231412118079656)

    25/8 = 3.125 ->     (x = 3.126206258490623

So I've made mistakes somewhere. Maybe the top point of the triangle really isn't (2^(8/5), 2^(12/5)). Or maybe my line program is wrong. That seems quite probable, since I got nice expressions before like 27^(1/2) whereas now I've got no real understanding of the origin of 5.197329356869208.

(Spoiler: It's not a real triangle with straight lines)

Okay. New idea: let's do it algebraically. What tuned value of M17, flat or sharp, would make two chromatic or diatonic intervals equal? Whatever value does that will also be a limit of mistuning. Like, surely we don't have the normal order in which (M2 > m2) if (m2 = M2).

I guess that means I'm looking for ...simultaneous values of P12 and M17 that temper out the various differences between successive chromatic intervals. And the intervals that show up as steps between the rank-3 chromatic intervals are (A1, m2, Acm2).

If A1 has prime harmonic coordinates [-3, -1, 2], then tempering it out is like

    2^(-3) * x^(-1) * y^(2) = 1

And that simplifies to

    1) y^2 / x = 8

That's equation one. Let's do a little more. Maybe pairs of equations like that one above can be solved to get interesting values of (x, y). Here are the prime harmonic coordinates for m2:

    [4, -1, -1]

and if we want to temper out m2, then we have this relation:

    2^(4) * x^(-1) * y^(-1) = 1

which simplifies to

    2) x * y = 16

That's equation two. Finally we have prime harmonic coordinate for the acute minor second, Acm2:

    [0, 3, -2]

and tempering that is like

    3) x^3 / y^2 = 1

Let's solve pairs of equations.

Eqns 1 and 2): (x = 2 * 2^(2/3)), (y = 4 * 2^(1/3)) // Bottom right vertex

Eqns 1 and 3): (x = 2 * 2^(1/2)), (y = 4 * 2^(1/4)) // Bottom left vertex

Eqns 2 and 3): (x = 2 * 2^(3/5)), (y = 4 * 2^(2/5)) // Top vertex

That was really fast and really easy! And it confirmed for me the coordinates of the top vertex, about which I had been a little uncertain. Also this reveals a nice form of the coordinates where the P12 coordinates are always a factor of 2 (like octave) over a value for P5, and M17 coordinates are a factor of 4 (or two octaves) over a value for M3, as they should be.

But also now we see that the thing in the graph, which isn't a nonaon or Lake Superior, also isn't a triangle! It's just the intersection of those three weird curves associated with tempering the chromatic steps. Here they are plotted:


It's definitely a three point figure, but no straight sides. I'll call it a tricorn instead of a triangle. Let's zoom in on the chromatic/diatonic tricorn and also add lines at x = 3 and y = 5.

The horizontal intersection with the green-colored line (I think it's green. I'm writing this late at night with a blue light filter on) is at
    x^3 / y^2 = 1, y = 5, solve for x
    x = 5^(2/3)

and the horizontal intersection with the red line is given by
    y^2 / x = 8, y = 5, solve for x
    x = 25/8

and the vertical intersection with the red line is given by
    y^2 / x = 8, x = 3, y > 0, solve for y 
    y = 2 * sqrt(6)

and the vertical intersection near the top of the tricorn is given by
    x^3 / y^2 = 1, x = 3, y > 0, solve for y 
    y = 3 * sqrt(3)

.
And now we now how much we can mistune some rank-3 intervals, while keeping octaves pure and also keeping the usual orders of diatonic and chromatic intervals that we know from 12-TET. We know the corners of the tricorn, we know the equations of the horn edges, and we know the maximum and minimum values for P12 and M17 while keeping the other pure.

Is there anything left to do? We could express the mistuning bounds in terms of other intervals! Like, how much can you mistune (Ac1, A1, d2) while staying in the tricorn? I don't know, but I'll keep thinking about it.

No comments:

Post a Comment