Tuning map: Difference between revisions
→Generator tuning map: Caveat |
No edit summary |
||
Line 1: | Line 1: | ||
A '''tuning map''' represents the tuning of a [[regular temperament]]. It is similar to a standard [[val]], but it specifies the tuning of a temperament in terms of logarithmic [[interval size unit]]s (such as [[cent]]s) rather than scale steps. Some people consider it a type of val. It can take a vector representation of an interval ([[monzo]]) as input and outputs its pitch, usually measured in cents or octaves. | A '''tuning map''' represents the tuning of a [[regular temperament]]. It is similar to a standard [[val]], but it specifies the tuning of a temperament in terms of logarithmic [[interval size unit]]s (such as [[cent]]s) rather than scale steps. Some people consider it a type of val. It can take a vector representation of an interval ([[monzo]]) as input and outputs its pitch, usually measured in cents or octaves. | ||
A tuning map has one entry for each [[basis element]] of the temperament, giving its size in [[cent]]s or [[octave]]s (or any other logarithmic pitch unit). | There are two kinds of tuning maps: a '''subgroup tuning map'''{{Idiosyncratic}} and a '''generator tuning map.''' A subgroup tuning map represents a tuning of the "formal primes" of the JI subgroup being tempered (e.g. 2, 9, 5 in a 2.9.5 temperament), and takes a monzo representing a JI interval. A generator tuning map directly represents a tuning of the temperament's generators (given a set of generators), and takes a monzo in tempered interval space (a "[[Tmonzos and tvals|tmonzo"]]). | ||
== Subgroup tuning map == | |||
A subgroup tuning map has one entry for each [[basis element]] of the temperament's JI subgroup, giving its size in [[cent]]s or [[octave]]s (or any other logarithmic pitch unit). | |||
It may be helpful, then, to think of the units of each entry of a tuning map as <math>{\large\mathsf{¢}}\small /𝗽</math> (read "cents per prime"), <math>\small \mathsf{oct}/𝗽</math> (read "octaves per prime"), or any other logarithmic pitch unit per prime (for more information, see [[Dave Keenan & Douglas Blumeyer's guide to RTT/Units analysis]]). | It may be helpful, then, to think of the units of each entry of a tuning map as <math>{\large\mathsf{¢}}\small /𝗽</math> (read "cents per prime"), <math>\small \mathsf{oct}/𝗽</math> (read "octaves per prime"), or any other logarithmic pitch unit per prime (for more information, see [[Dave Keenan & Douglas Blumeyer's guide to RTT/Units analysis]]). | ||
Line 10: | Line 13: | ||
It may be helpful, then, to think of the units of each entry of a generator tuning map as <math>{\large\mathsf{¢}}\small /𝗴</math> (read "cents per generator"), <math>\small \mathsf{oct}/𝗴</math> (read "octaves per generator"), or any other logarithmic pitch unit per generator. | It may be helpful, then, to think of the units of each entry of a generator tuning map as <math>{\large\mathsf{¢}}\small /𝗴</math> (read "cents per generator"), <math>\small \mathsf{oct}/𝗴</math> (read "octaves per generator"), or any other logarithmic pitch unit per generator. | ||
From the generator tuning map ''G'' and the mapping ''M'', we can obtain the tuning map ''T'' as | From the generator tuning map ''G'' and the mapping ''M'', we can obtain the subgroup tuning map ''T'' as | ||
$$T = GM$$ | $$T = GM$$ | ||
To go the other way – that is, to find the generator tuning map from the | To go the other way – that is, to find the generator tuning map from the subgroup tuning map – we can multiply the tuning map by any right-inverse of the mapping, such as the [[pseudoinverse]] ''M''<sup>+</sup>, as in | ||
$$G = TM^{+}$$ | $$G = TM^{+}$$ | ||
Line 23: | Line 26: | ||
{{Main| JIP }} | {{Main| JIP }} | ||
[[JI]] can be conceptualized as the temperament where no intervals are made to [[vanish]], and as such, the untempered primes can be thought of as its generators | [[JI]] can be conceptualized as the temperament where no intervals are made to [[vanish]], and as such, the untempered primes can be thought of as its generators. So, JI subgroups have generator tuning maps and subgroup tuning maps too; the generator tuning maps and subgroup tuning maps are always the same thing as each other, and they are all subsets of the entries of the [[JIP]]. | ||
== Error map == | == Error map == |
Revision as of 08:04, 16 April 2025
A tuning map represents the tuning of a regular temperament. It is similar to a standard val, but it specifies the tuning of a temperament in terms of logarithmic interval size units (such as cents) rather than scale steps. Some people consider it a type of val. It can take a vector representation of an interval (monzo) as input and outputs its pitch, usually measured in cents or octaves.
There are two kinds of tuning maps: a subgroup tuning map[idiosyncratic term] and a generator tuning map. A subgroup tuning map represents a tuning of the "formal primes" of the JI subgroup being tempered (e.g. 2, 9, 5 in a 2.9.5 temperament), and takes a monzo representing a JI interval. A generator tuning map directly represents a tuning of the temperament's generators (given a set of generators), and takes a monzo in tempered interval space (a "tmonzo").
Subgroup tuning map
A subgroup tuning map has one entry for each basis element of the temperament's JI subgroup, giving its size in cents or octaves (or any other logarithmic pitch unit).
It may be helpful, then, to think of the units of each entry of a tuning map as [math]\displaystyle{ {\large\mathsf{¢}}\small /𝗽 }[/math] (read "cents per prime"), [math]\displaystyle{ \small \mathsf{oct}/𝗽 }[/math] (read "octaves per prime"), or any other logarithmic pitch unit per prime (for more information, see Dave Keenan & Douglas Blumeyer's guide to RTT/Units analysis).
Generator tuning map
Each entry of the generator tuning map gives the size in cents or octaves of a different generator.
It may be helpful, then, to think of the units of each entry of a generator tuning map as [math]\displaystyle{ {\large\mathsf{¢}}\small /𝗴 }[/math] (read "cents per generator"), [math]\displaystyle{ \small \mathsf{oct}/𝗴 }[/math] (read "octaves per generator"), or any other logarithmic pitch unit per generator.
From the generator tuning map G and the mapping M, we can obtain the subgroup tuning map T as
$$T = GM$$
To go the other way – that is, to find the generator tuning map from the subgroup tuning map – we can multiply the tuning map by any right-inverse of the mapping, such as the pseudoinverse M+, as in
$$G = TM^{+}$$
Note that this only works if the original tuning of the primes was valid for the temperament. For a detailed explanation see Dave Keenan & Douglas Blumeyer's guide to RTT/Tuning in nonstandard domains #9. Find pseudoinverse.
With respect to JIP
JI can be conceptualized as the temperament where no intervals are made to vanish, and as such, the untempered primes can be thought of as its generators. So, JI subgroups have generator tuning maps and subgroup tuning maps too; the generator tuning maps and subgroup tuning maps are always the same thing as each other, and they are all subsets of the entries of the JIP.
Error map
An error map, also known as mistuning map or retuning map, is like a tuning map, but each entry shows the signed amount of deviation from the target value (usually JI), i.e. the error. It is therefore equal to the difference between the tempered tuning map and the just tuning map. If we have an error map Ɛ, tempered tuning map T, and just tuning map J, it follows that
$$\mathcal{E} = T - J$$
Example
Consider meantone temperament, with the mapping [⟨1 1 0], ⟨0 1 4]]. Temperaments, as represented by mappings, remain abstract; while this mapping does convey that the generators are ~2/1 and ~3/2, it does not specify exact tunings for those approximations. One example tuning would be quarter-comma meantone, where the octave is pure and the perfect fifth is 51/4; this gives a generator tuning map of ⟨1200.000 696.578].
The tuning map from G = ⟨1200.000 696.578] and M = [⟨1 1 0], ⟨0 1 4]] is T = ⟨1200.000 1896.578 2786.314]. For the error map we use J = ⟨1200.000 1901.955 2786.314] and find Ɛ = ⟨0.000 -5.377 0.000], showing us prime 3 is tempered flat by 5.377 cents while primes 2 and 5 are pure.
So, to answer the question, "how many cents is the approximation of the interval 16/15 in quarter-comma meantone?" we use the dot product to map 16/15's prime-count vector [4 -1 -1⟩ via the tuning map given above, 4×1200.000 + (−1) × 1896.578 + (−1) × 2786.314 = 117.108 ¢. Similarly, to answer "how many cents is the approximation different from JI?" we go through the same process via the error map: 4 × 0.000 + (−1) × (-5.377) + (−1) × 0.000 = +5.377 ¢.
Another example tuning for meantone would be the TE tuning, which is the default that Breed's popular RTT web tool provides. This gives us a tuning map of ⟨1201.397 1898.446 2788.196] and error map of ⟨+1.397 -3.509 +1.882]. To answer the same questions about 16/15 in this tuning of meantone, we use the same prime count vector, but map it with these different tuning and error maps. So that gives us 4 × 1201.397 + (−1) × 1898.446 + (−1) × 2788.196 = 118.946 ¢ and 4 × 1.397 + (−1) × (−3.509) + (−1) × 1.882 = +7.215 ¢, respectively. And that is our answer for TE meantone.
Cents versus octaves
Sometimes you will see tuning maps given in octaves instead of cents. They work the same exact way. The only difference is that these octave-based tuning maps have each entry divided by 1200. For example, the quarter-comma meantone tuning map, in octaves, would be ⟨1200 1896.578 2786.314]/1200 = ⟨1 1.580 2.322]. If we dot product [4 -1 -1⟩ with that, we get 4 × 1 + (−1) × 1.580 + (−1) × 2.322 = 0.098, which tells us that 16/15 is a little less than 1/10 of an octave here.
With respect to linear algebra
A tuning map can be thought of either as a one-row matrix or as a covector. The same is true of error maps and generator tuning maps.