Tuning map: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
prime count vector -> monzo
Undo revision 196294 by VectorGraphics (talk). Pointless, confusing addition
Tag: Undo
 
(7 intermediate revisions by 4 users not shown)
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 specifies the tuning of a temperament in terms of logarithmic [[interval size unit]]s (such as [[cent]]s or [[octave]]s) rather than scale steps. It can take a vector representation of an interval ([[monzo]]) as input and outputs its tempered size.  


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"]]).
A tempered-prime tuning map has one entry for each [[basis element]] of the temperament's JI subgroup (e.g. 2, 9, 5 in a 2.9.5-subgroup temperament), giving its size in cents, octaves, or any other logarithmic interval size unit.  
 
== 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]]).


== Generator tuning map ==
== Generator tuning map ==
Each entry of the '''generator tuning map''' gives the size in cents or octaves of a different [[generator]].
A '''generator tuning map''' is similar to a (tempered-prime) tuning map, but it specifies a tuning for a temperament by giving the sizes of its generators. Each entry of the generator tuning map gives the size of a different [[generator]]. It takes a vector in tempered interval space (a "[[tmonzos and tvals|tmonzo]]").  


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 subgroup tuning map ''T'' as
From the generator tuning map ''G'' and the mapping ''M'', we can obtain the tuning map ''T'' as


$$T = GM$$
$$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''<sup>+</sup>, as in  
To go the other way – that is, to find the generator tuning map from the ordinary 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 26: Line 23:
{{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. 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]].
[[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 tuning maps and generator tuning maps too; the tuning maps and generator 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 ==
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 ''&#400;'', tempered tuning map ''T'', and just tuning map ''J'', it follows that
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$$
$$\mathcal{E} = T - J$$
Line 36: Line 33:
Consider meantone temperament, with the mapping {{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 5<sup>1/4</sup>; this gives a generator tuning map of {{map| 1200.000 696.578 }}.  
Consider meantone temperament, with the mapping {{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 5<sup>1/4</sup>; this gives a generator tuning map of {{map| 1200.000 696.578 }}.  


The tuning map from {{nowrap|''G'' {{=}} {{map| 1200.000 696.578 }}}} and {{nowrap|''M'' {{=}} {{mapping| 1 1 0 | 0 1 4 }}}} is {{nowrap|''T'' {{=}} {{map| 1200.000 1896.578 2786.314 }}}}. For the error map we use {{nowrap|''J'' {{=}} {{val| 1200.000 1901.955 2786.314 }}}} and find {{nowrap|''&#400;'' {{=}} {{val| 0.000 -5.377 0.000 }}}}, showing us prime 3 is tempered flat by 5.377 cents while primes 2 and 5 are pure.  
The tuning map from {{nowrap|''G'' {{=}} {{map| 1200.000 696.578 }}}} and {{nowrap|''M'' {{=}} {{mapping| 1 1 0 | 0 1 4 }}}} is {{nowrap|''T'' {{=}} {{map| 1200.000 1896.578 2786.314 }}}}. For the error map we use {{nowrap|''J'' {{=}} {{val| 1200.000 1901.955 2786.314 }}}} and find {{nowrap|''Ɛ'' {{=}} {{val| 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 [[monzo]] {{vector| 4 -1 -1 }} via the tuning map given above, {{nowrap|4×1200.000 + (−1) × 1896.578 + (−1) × 2786.314 {{=}} 117.108{{cent}}}}. Similarly, to answer "how many cents is the approximation different from JI?" we go through the same process via the error map: {{nowrap|4 × 0.000 + (−1) × (-5.377) + (−1) × 0.000 {{=}} +5.377{{c}}}}.  
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]] {{vector| 4 -1 -1 }} via the tuning map given above, {{nowrap|4×1200.000 + (−1) × 1896.578 + (−1) × 2786.314 {{=}} 117.108{{cent}}}}. Similarly, to answer "how many cents is the approximation different from JI?" we go through the same process via the error map: {{nowrap| 4 × 0.000 + (−1) × (-5.377) + (−1) × 0.000 {{=}} +5.377{{c}} }}.  


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 {{map| 1201.397 1898.446 2788.196 }} and error map of {{val| +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 {{nowrap|4 × 1201.397 + (−1) × 1898.446 + (−1) × 2788.196 {{=}} 118.946{{c}}}} and {{nowrap|4 × 1.397 + (−1) × (−3.509) + (−1) × 1.882 {{=}} +7.215{{c}}}}, respectively. And that is our answer for TE meantone.
Another example tuning for meantone would be the [[TE tuning]], which is the default that [http://x31eq.com/temper|Breed's popular RTT web tool] provides. This gives us a tuning map of {{map| 1201.397 1898.446 2788.196 }} and error map of {{val| +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 {{nowrap| 4 × 1201.397 + (−1) × 1898.446 + (−1) × 2788.196 {{=}} 118.946{{c}} }} and {{nowrap| 4 × 1.397 + (−1) × (−3.509) + (−1) × 1.882 {{=}} +7.215{{c}} }}, respectively. And that is our answer for TE meantone.


== Cents versus octaves ==
== 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 {{map|1200 1896.578 2786.314}}/1200 = {{map|1 1.580 2.322}}. If we dot product {{vector|4 -1 -1}} with that, we get {{nowrap|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.
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 {{map| 1200 1896.578 2786.314 }}/1200 = {{map| 1 1.580 2.322 }}. If we dot product {{vector| 4 -1 -1 }} with that, we get {{nowrap| 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 ==
== 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.
A tuning map is a real-valued linear form (or covector). If we identify interval space with the integer lattice, it is a linear map <math>\varphi: \mathbb{Z}^n \to \mathbb{R}</math>, which projects abstract intervals onto the real line which measures pitch. It can also be thought of as a matrix with a single row. The same is true of error maps and generator tuning maps.


[[Category:Regular temperament tuning| ]] <!-- Main article -->
[[Category:Regular temperament tuning| ]] <!-- Main article -->

Latest revision as of 10:30, 17 May 2025

A tuning map represents the tuning of a regular temperament. It specifies the tuning of a temperament in terms of logarithmic interval size units (such as cents or octaves) rather than scale steps. It can take a vector representation of an interval (monzo) as input and outputs its tempered size.

A tempered-prime tuning map has one entry for each basis element of the temperament's JI subgroup (e.g. 2, 9, 5 in a 2.9.5-subgroup temperament), giving its size in cents, octaves, or any other logarithmic interval size 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

A generator tuning map is similar to a (tempered-prime) tuning map, but it specifies a tuning for a temperament by giving the sizes of its generators. Each entry of the generator tuning map gives the size of a different generator. It takes a vector in tempered interval space (a "tmonzo").

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 tuning map T as

$$T = GM$$

To go the other way – that is, to find the generator tuning map from the ordinary 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 tuning maps and generator tuning maps too; the tuning maps and generator 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 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 is a real-valued linear form (or covector). If we identify interval space with the integer lattice, it is a linear map [math]\displaystyle{ \varphi: \mathbb{Z}^n \to \mathbb{R} }[/math], which projects abstract intervals onto the real line which measures pitch. It can also be thought of as a matrix with a single row. The same is true of error maps and generator tuning maps.