Douglas Blumeyer's RTT How-To: Difference between revisions
Cmloegcmluin (talk | contribs) →mapping-row-bases and comma-bases: link for tuning map |
Cmloegcmluin (talk | contribs) simplify inline math |
||
Line 96: | Line 96: | ||
One way to think of this is that 12:19:28 is an excellent low integer approximation of log(2:3:5). That's a really compact way of saying that each of these sets of three numbers has the same ratio between each pair of them: | One way to think of this is that 12:19:28 is an excellent low integer approximation of log(2:3:5). That's a really compact way of saying that each of these sets of three numbers has the same ratio between each pair of them: | ||
* | * <math>\frac{19}{12} = 1.583 ≈ \frac{\log(3)}{\log(2)} = 1.585</math> | ||
* | * <math>\frac{28}{12} = 2.333 ≈ \frac{\log(5)}{\log(2)} = 2.322</math> | ||
* | * <math>\frac{28}{19} = 1.474 ≈ \frac{\log(5)}{\log(3)} = 1.465</math> | ||
You may be more familiar with seeing the base specified for a logarithm, but in this case the base is irrelevant as long as you use the same base for both numbers. If you don't see why, try experimenting with different bases and see that the ratio comes out the same<ref>[https://en.wikipedia.org/wiki/List_of_logarithmic_identities This list of logarithmic identities] has been an excellent resource for me in getting my head around logarithmic thinking. As you can see there, | You may be more familiar with seeing the base specified for a logarithm, but in this case the base is irrelevant as long as you use the same base for both numbers. If you don't see why, try experimenting with different bases and see that the ratio comes out the same<ref>[https://en.wikipedia.org/wiki/List_of_logarithmic_identities This list of logarithmic identities] has been an excellent resource for me in getting my head around logarithmic thinking. As you can see there, <math>\frac{log_{10}{a}}{log_{10}{b}} = log_{b}{a}</math>, so the base doesn't matter; you could put anything in there — 10, 2, e — and it still reduces to <math>log_{b}{a}</math>.</ref>. | ||
But why take the logarithm at all? Because a) 2, 3, and 5 are not exponents, b) 12, 19, and 28 are exponents, and c) logarithms give exponents. | But why take the logarithm at all? Because a) 2, 3, and 5 are not exponents, b) 12, 19, and 28 are exponents, and c) logarithms give exponents. | ||
Line 362: | Line 362: | ||
To fully understand why this is happening, we need a crash course in [[mediants]], and the [[Stern-Brocot_ancestors_and_rank_2_temperaments|The Stern-Brocot tree]]. | To fully understand why this is happening, we need a crash course in [[mediants]], and the [[Stern-Brocot_ancestors_and_rank_2_temperaments|The Stern-Brocot tree]]. | ||
The mediant of two fractions | The mediant of two fractions <math>\frac ab</math> and <math>\frac cd</math> is <math>\frac{a+c}{b+d}</math>. It’s sometimes called the freshman’s sum because it’s an easy mistake to make when first learning how to add fractions. And while this operation is certainly not equivalent to adding two fractions, it does turn out to have other important mathematical properties. The one we’re leveraging here is that the mediant of two numbers is always greater than one and less than the other. For example, the mediant of <math>\frac 35</math> and <math>\frac 23</math> is <math>\frac 58</math>, and it’s easy to see in decimal form that 0.625 is between 0.6 and 0.666. | ||
The Stern-Brocot tree is a helpful visualization of all these mediant relations. Flanking the part of the tree we care about — which comes up in the closely-related theory of [[MOS_scale|MOS scales]], where it is often referred to as the “scale tree” — are the extreme fractions | The Stern-Brocot tree is a helpful visualization of all these mediant relations. Flanking the part of the tree we care about — which comes up in the closely-related theory of [[MOS_scale|MOS scales]], where it is often referred to as the “scale tree” — are the extreme fractions <math>\frac 01</math> and <math>\frac 11</math>. Taking the mediant of these two gives our first node: <math>\frac 12</math>. Each new node on the tree drops an infinitely descending line of copies of itself on each new tier. Then, each node branches to either side, connecting itself to a new node which is the mediant of its two adjacent values. So <math>\frac 01</math> and <math>\frac 12</math> become <math>\frac 13</math>, and <math>\frac 12</math> and <math>\frac 11</math> become <math>\frac 23</math>. In the next tier, <math>\frac 01</math> and <math>\frac 13</math> become <math>\frac 14</math>, <math>\frac 13</math> and <math>\frac 12</math> become <math>\frac 25</math>, <math>\frac 12</math> and <math>\frac 23</math> become <math>\frac 35</math>, and <math>\frac 23</math> and <math>\frac 11</math> become <math>\frac 34</math>.<ref>Each tier of the Stern-Brocot tree is the next [https://en.wikipedia.org/wiki/Farey_sequence Farey sequence].</ref> The tree continues forever. | ||
So what does this have to do with the patterns along the temperament lines in PTS? Well, each temperament line is kind of like its own section of the scale tree. The key insight here is that in terms of meantone temperament, there’s more to 7-ET than simply the number 7. The 7 is just a fraction’s denominator. The numerator in this case is 3. So imagine a | So what does this have to do with the patterns along the temperament lines in PTS? Well, each temperament line is kind of like its own section of the scale tree. The key insight here is that in terms of meantone temperament, there’s more to 7-ET than simply the number 7. The 7 is just a fraction’s denominator. The numerator in this case is 3. So imagine a <math>\frac 37</math> floating on top of the 7-ET there. And there’s more to 5-ET than simply the number 5, in that case, the fraction is the <math>\frac 25</math>. So the mediant of <math>\frac 25</math> and <math>\frac 37</math> is <math>\frac{5}{12}</math>. And if you compare the decimal values of these numbers, we have 0.4, 0.429, and 0.417. Success: <math>\frac{5}{12}</math> is between <math>\frac 25</math> and <math>\frac 37</math> on the meantone line. You may verify yourself that the mediant of <math>\frac{5}{12}</math> and <math>\frac 37</math>, <math>\frac{8}{19}</math>, is between them in size, as well as <math>\frac{7}{17}</math> being between <math>\frac 25</math> and <math>\frac{5}{12}</math> in size. | ||
In fact, if you followed this value along the meantone line all the way from | In fact, if you followed this value along the meantone line all the way from <math>\frac 25</math> to <math>\frac 37</math>, it would vary continuously from 0.4 to 0.429; the ET points are the spots where the value happens to be rational. | ||
Okay, so it’s easy to see how all this follows from here. But where the heck did I get | Okay, so it’s easy to see how all this follows from here. But where the heck did I get <math>\frac 25</math> and <math>\frac 37</math> in the first place? I seemed to pull them out of thin air. And what the heck is this value? | ||
=== generators === | === generators === | ||
Line 382: | Line 382: | ||
We briefly looked at generators earlier. We saw how the generator for 12-ET was about 1.059, because repeated movement is like repeated multiplication (1.059 × 1.059 × 1.059 ...) and 1.059¹² ≈ 2, 1.059¹⁹ ≈ 3, and 1.059²⁸ ≈ 5. This meantone generator is the same basic idea, but there’s a couple of important differences we need to cover. | We briefly looked at generators earlier. We saw how the generator for 12-ET was about 1.059, because repeated movement is like repeated multiplication (1.059 × 1.059 × 1.059 ...) and 1.059¹² ≈ 2, 1.059¹⁹ ≈ 3, and 1.059²⁸ ≈ 5. This meantone generator is the same basic idea, but there’s a couple of important differences we need to cover. | ||
First of all, and this difference is superficial, it’s in a different format. We were expressing 12-ET’s generator 1.059 as a frequency multiplier; it’s like 2, 3, or 5, and this could be measured in Hz, say, by multiplying by 440 if A4 was our 1/1 (1.059 away from A is 466Hz, which is #A). But the meantone generators we’re looking at now in forms like | First of all, and this difference is superficial, it’s in a different format. We were expressing 12-ET’s generator 1.059 as a frequency multiplier; it’s like 2, 3, or 5, and this could be measured in Hz, say, by multiplying by 440 if A4 was our 1/1 (1.059 away from A is 466Hz, which is #A). But the meantone generators we’re looking at now in forms like <math>\frac 25</math>, <math>\frac 37</math>, or <math>\frac{5}{12}</math>, are expressed as fractional octaves, i.e. they’re in terms of pitch, something that could be measured in cents if we multiplied by 1200 (2/5 × 1200¢ = 480¢). We have a special way of writing fractional octaves, and that’s with a backslash instead of a slash, like this: 2\5, 3\7, 5\12. | ||
Cents and hertz values can readily be converted between one form and the other, so it’s the second difference which is more important. It’s their size. If we do convert 12-ET’s generator to cents so we can compare it with meantone’s generator at 12-ET, we can see that 12-ET’s generator is 100¢ (log₂1.059 × 1200¢ = 100¢) while meantone’s generator at 12-ET is 500¢ (5/12 × 1200¢ = 500¢). What is the explanation for this difference? | Cents and hertz values can readily be converted between one form and the other, so it’s the second difference which is more important. It’s their size. If we do convert 12-ET’s generator to cents so we can compare it with meantone’s generator at 12-ET, we can see that 12-ET’s generator is 100¢ (log₂1.059 × 1200¢ = 100¢) while meantone’s generator at 12-ET is 500¢ (5/12 × 1200¢ = 500¢). What is the explanation for this difference? | ||
Line 471: | Line 471: | ||
Now how in the world could that matrix represent the same temperament as {{map|19 30 44}}? Well, they’re two different ways of describing it. {{map|19 30 44}}, as we know, tells us how many generator steps it takes to reach each prime approximation. This matrix, it turns out, is an equivalent way of stating the same information. This matrix is a minimal representation of the null-space of that mapping, or in other words, of all the commas it tempers out. (Don't worry about the word "mapping" just yet; for now, just imagine I'm writing "map". We'll explain the difference very soon.). | Now how in the world could that matrix represent the same temperament as {{map|19 30 44}}? Well, they’re two different ways of describing it. {{map|19 30 44}}, as we know, tells us how many generator steps it takes to reach each prime approximation. This matrix, it turns out, is an equivalent way of stating the same information. This matrix is a minimal representation of the null-space of that mapping, or in other words, of all the commas it tempers out. (Don't worry about the word "mapping" just yet; for now, just imagine I'm writing "map". We'll explain the difference very soon.). | ||
This was a bit tricky for me to get my head around, so let me hammer this point home: when you say "the null-space", you're referring to ''the entire infinite set of all commas that a mapping tempers out'', ''not only'' the two commas you see in any given basis for it. Think of the comma-basis as one of many valid sets of instructions to find every possible comma, by adding or subtracting (integer multiples of) these two commas from each other<ref>To be clear, because what you are adding and subtracting in interval vectors are exponents (as you know), the commas are actually being multiplied by each other; e.g. {{vector|-4 4 -1}} + {{vector|10 1 -5}} = {{vector|6 5 -6}}, which is the same thing as | This was a bit tricky for me to get my head around, so let me hammer this point home: when you say "the null-space", you're referring to ''the entire infinite set of all commas that a mapping tempers out'', ''not only'' the two commas you see in any given basis for it. Think of the comma-basis as one of many valid sets of instructions to find every possible comma, by adding or subtracting (integer multiples of) these two commas from each other<ref>To be clear, because what you are adding and subtracting in interval vectors are exponents (as you know), the commas are actually being multiplied by each other; e.g. {{vector|-4 4 -1}} + {{vector|10 1 -5}} = {{vector|6 5 -6}}, which is the same thing as <math>\frac{81}{80} × \frac{3072}{3125} = \frac{15552}{15625}</math></ref>. The math term for adding and subtracting vectors like this, which you will certainly see plenty of as you explore RTT, is "linear combination". It should be visually clear from the PTS diagram that this 19-ET comma-basis couldn't be listing every single comma 19-ET tempers out, because we can see there are at least four temperament lines that pass through it (there are actually infinity of them!). But so it turns out that picking two commas is perfectly enough; every other comma that 19-ET tempers out could be expressed in terms of these two! | ||
Try one. How about the hanson comma, {{vector|6 5 -6}}. Well that one’s too easy! Clearly if you go down by one magic comma to {{vector|10 1 -5}} and then up by one meantone comma you get one hanson comma. What you’re doing when you’re adding and subtracting multiples of commas from each other like this are technically called [https://en.wikipedia.org/wiki/Elementary_matrix|elementary column operations]. Feel free to work through any other examples yourself. | Try one. How about the hanson comma, {{vector|6 5 -6}}. Well that one’s too easy! Clearly if you go down by one magic comma to {{vector|10 1 -5}} and then up by one meantone comma you get one hanson comma. What you’re doing when you’re adding and subtracting multiples of commas from each other like this are technically called [https://en.wikipedia.org/wiki/Elementary_matrix|elementary column operations]. Feel free to work through any other examples yourself. | ||
Line 921: | Line 921: | ||
* Both {{ket|{{map|5 8 12}} {{map|7 11 16}}}} and {{ket|{{map|1 1 0}} {{map|0 1 4}}}} are equivalent mappings, then. In other words, they are both mapping-row-bases of the same mapping row-space. Converting between them is sometimes called a “change of basis”, though this is a different sort of “basis” than the basis of a space, like comma-bases or mapping-row-bases. Using what we know now, it may be clearer to think of it as a “change of generators”. We’ll look at this idea more in the tuning section later. | * Both {{ket|{{map|5 8 12}} {{map|7 11 16}}}} and {{ket|{{map|1 1 0}} {{map|0 1 4}}}} are equivalent mappings, then. In other words, they are both mapping-row-bases of the same mapping row-space. Converting between them is sometimes called a “change of basis”, though this is a different sort of “basis” than the basis of a space, like comma-bases or mapping-row-bases. Using what we know now, it may be clearer to think of it as a “change of generators”. We’ll look at this idea more in the tuning section later. | ||
* Note well: this is not to say that {{map|1 1 0}} or {{map|0 1 4}} ''are'' the generators for meantone. They are generator ''mappings'': when assembled together, they collectively describe behavior of the generators, but they are ''not'' themselves the generators. At least, the map {{map|1 1 0}} in isolation does not inherently have a connection with the octave generator of meantone. This situation can be confusing; it confused me for many weeks. I thought of it this way: because the first generator is 2/1 — i.e. {{vector|1 0 0}} maps to {{vector|1 0}} — referring to {{map|1 1 0}} as the octave or period seems reasonable and is effective when the context is clear. And similarly, because the second generator is 3/2 — i.e. {{vector|-1 1 0}} maps to {{vector|0 1}} — referring to {{map|0 1 4}} as the fifth or the generator seems reasonable as is effective when the context is clear. But it's critical to understand that the first generator "being" the octave here is ''contingent upon the definition of the second generator'', and vice versa, the second generator "being" the fifth here is ''contingent upon the definition of the first generator''. Considering {{map|1 1 0}} or {{map|0 1 4}} individually, we cannot say what intervals the generators are. What if the mapping was {{ket|{{map|0 1 4}} {{map|1 2 4}}}} instead? We'd still have the first generator mapping as {{map|1 1 0}}, but now that the second generator mapping is {{map|1 2 4}}, the two generators must be the fourth and the fifth. In summary, neither mapping-row describes a generator in a vacuum, but does so in the context of all the other mapping-rows. | * Note well: this is not to say that {{map|1 1 0}} or {{map|0 1 4}} ''are'' the generators for meantone. They are generator ''mappings'': when assembled together, they collectively describe behavior of the generators, but they are ''not'' themselves the generators. At least, the map {{map|1 1 0}} in isolation does not inherently have a connection with the octave generator of meantone. This situation can be confusing; it confused me for many weeks. I thought of it this way: because the first generator is 2/1 — i.e. {{vector|1 0 0}} maps to {{vector|1 0}} — referring to {{map|1 1 0}} as the octave or period seems reasonable and is effective when the context is clear. And similarly, because the second generator is 3/2 — i.e. {{vector|-1 1 0}} maps to {{vector|0 1}} — referring to {{map|0 1 4}} as the fifth or the generator seems reasonable as is effective when the context is clear. But it's critical to understand that the first generator "being" the octave here is ''contingent upon the definition of the second generator'', and vice versa, the second generator "being" the fifth here is ''contingent upon the definition of the first generator''. Considering {{map|1 1 0}} or {{map|0 1 4}} individually, we cannot say what intervals the generators are. What if the mapping was {{ket|{{map|0 1 4}} {{map|1 2 4}}}} instead? We'd still have the first generator mapping as {{map|1 1 0}}, but now that the second generator mapping is {{map|1 2 4}}, the two generators must be the fourth and the fifth. In summary, neither mapping-row describes a generator in a vacuum, but does so in the context of all the other mapping-rows. | ||
* This also gives us a new way to think about the scale tree patterns. Remember how earlier we pointed out that {{map|12 19 28}} was simply {{map|5 8 12}} + {{map|7 11 16}}? Well, if {{ket|{{map|5 8 12}} {{map|7 11 16}}}} is a way of expressing meantone in terms of its two generators, you can imagine that 12-ET is the point where those two generators converge on being the same exact size<ref>For real numbers | * This also gives us a new way to think about the scale tree patterns. Remember how earlier we pointed out that {{map|12 19 28}} was simply {{map|5 8 12}} + {{map|7 11 16}}? Well, if {{ket|{{map|5 8 12}} {{map|7 11 16}}}} is a way of expressing meantone in terms of its two generators, you can imagine that 12-ET is the point where those two generators converge on being the same exact size<ref>For real numbers <math>p,q</math> we can make the two generators respectively <math>\frac{p}{5p+7q}</math> and <math>\frac{q}{5p+7q}</math> of an octave, e.g. <math>(p,q)=(1,0)</math> for 5-ET, <math>(0,1)</math> for 7-ET, <math>(1,1)</math> for 12-ET, and many other possibilities.</ref>. If they become the same size, then they aren’t truly two separate generators, or at least there’s no effect in thinking of them as separate. And so for convenience you can simply combine their mappings into one. You could imagine gradually increasing the size of one generator and decreasing the size of the other until they were both 100¢. As long as you maintain the correct proportion, you'll stay along the meantone line.. | ||
* Technically speaking, when we first learned how to map vectors with ETs, we could think of those outputs as vectors too, but they'd be 1-dimensional vectors, i.e. if 12-ET maps 16/15 to 1 step, we could write that as {{map|12 19 28}}{{vector|4 -1 -1}} = {{vector|1}}, where writing the answer as {{vector|1}} expresses that 1 step as 1 of the only generator in this equal temperament. | * Technically speaking, when we first learned how to map vectors with ETs, we could think of those outputs as vectors too, but they'd be 1-dimensional vectors, i.e. if 12-ET maps 16/15 to 1 step, we could write that as {{map|12 19 28}}{{vector|4 -1 -1}} = {{vector|1}}, where writing the answer as {{vector|1}} expresses that 1 step as 1 of the only generator in this equal temperament. | ||
Line 976: | Line 976: | ||
Let’s review what we’ve seen so far. 5-limit JI is 3-dimensional. When we have a rank-3 temperament of 5-limit JI, 0 commas are tempered out. When we have a rank-2 temperament of 5-limit JI, 1 comma is tempered out. When we have a rank-1 temperament of 5-limit JI, 2 commas are tempered out.<ref>Probably, a rank-0 temperament of 5-limit JI would temper 3 commas out. All I can think a rank-0 temperament could be is a single pitch, or in other words, everything is tempered out. So perhaps in some theoretical sense, a comma-basis in 5-limit made out of 3 vectors, thus a square 3×3 matrix, as long as none of the lines are parallel, should minimally represent every interval in the space.</ref> | Let’s review what we’ve seen so far. 5-limit JI is 3-dimensional. When we have a rank-3 temperament of 5-limit JI, 0 commas are tempered out. When we have a rank-2 temperament of 5-limit JI, 1 comma is tempered out. When we have a rank-1 temperament of 5-limit JI, 2 commas are tempered out.<ref>Probably, a rank-0 temperament of 5-limit JI would temper 3 commas out. All I can think a rank-0 temperament could be is a single pitch, or in other words, everything is tempered out. So perhaps in some theoretical sense, a comma-basis in 5-limit made out of 3 vectors, thus a square 3×3 matrix, as long as none of the lines are parallel, should minimally represent every interval in the space.</ref> | ||
There’s a straightforward formula here: | There’s a straightforward formula here: <math>d - n = r</math>, where <math>d</math> is dimensionality, <math>n</math> is nullity, and <math>r</math> is rank. We’ve seen every one of those words so far except '''nullity'''. [[Nullity]] simply means the count of commas tempered out, or in other words, the count of commas in a basis for the null-space ''(see Figure 5c)''. | ||
So far, everything we’ve done has been in terms of 5-limit, which has dimensionality of 3. Before we generalize our knowledge upwards, into the 7-limit, let’s take a look at how things one step downwards, in the simpler direction, in the 3-limit, which is only 2-dimensional. | So far, everything we’ve done has been in terms of 5-limit, which has dimensionality of 3. Before we generalize our knowledge upwards, into the 7-limit, let’s take a look at how things one step downwards, in the simpler direction, in the 3-limit, which is only 2-dimensional. | ||
We don’t have a ton of options here! The PTS diagram for 3-limit JI could be a simple line. This axis would define the relative tuning of primes 2 and 3, which are the only harmonic building blocks available. Along this line we’ll find some points, which familiarly are ETs. For example, we find 12-ET. Its map here is {{map|12 19}}; no need to mention the 5-term because we have no vectors that will use it here. At this ET, being a rank-1 temperament, | We don’t have a ton of options here! The PTS diagram for 3-limit JI could be a simple line. This axis would define the relative tuning of primes 2 and 3, which are the only harmonic building blocks available. Along this line we’ll find some points, which familiarly are ETs. For example, we find 12-ET. Its map here is {{map|12 19}}; no need to mention the 5-term because we have no vectors that will use it here. At this ET, being a rank-1 temperament, <math>r</math> = 1. So if <math>d</math> = 2, then solve for <math>n</math> and we find that it only tempers out a single comma (unlike the rank-1 temperaments in 5-limit JI, which tempered out two commas). We can use our familiar null-space function to find what this comma is: | ||
<math> | <math> | ||
Line 1,031: | Line 1,031: | ||
As you can see from the 2.15.7 example, you don't even have to use primes. Simple and common examples of this situation are the 2.9.5 or the 2.3.25 groups, where you're targeting multiples of the same prime, rather than combinations of different primes. | As you can see from the 2.15.7 example, you don't even have to use primes. Simple and common examples of this situation are the 2.9.5 or the 2.3.25 groups, where you're targeting multiples of the same prime, rather than combinations of different primes. | ||
And these are no longer ''JI'' groups, of course, but you can even use irrationals, like the 2.ɸ.5.7 group! The sky is the limit. Whatever you choose, though, this core structural rule | And these are no longer ''JI'' groups, of course, but you can even use irrationals, like the 2.ɸ.5.7 group! The sky is the limit. Whatever you choose, though, this core structural rule <math>d - n = r</math> holds strong ''(see Figure 5d)''. | ||
The order you list the pitches you're approximating with your temperament is not standardized; generally you increase them in size from left to right, though as you can see from the 2.9.5 and 2.15.7 examples above it can often be less surprising to list the numbers in prime limit order instead. Whatever order you choose, the important thing is that you stay consistent about it, because that's the only way any of your vectors and covectors are going to match up correctly! | The order you list the pitches you're approximating with your temperament is not standardized; generally you increase them in size from left to right, though as you can see from the 2.9.5 and 2.15.7 examples above it can often be less surprising to list the numbers in prime limit order instead. Whatever order you choose, the important thing is that you stay consistent about it, because that's the only way any of your vectors and covectors are going to match up correctly! |