Target tuning: Difference between revisions
Replace Gene's tie-breaking method in favor of a more reasonable one. Misc. clarification/cleanup |
+ general formulation (including the requested link to D&D's guide). Mention minimean tuning (no contents yet) |
||
| Line 1: | Line 1: | ||
A '''target tuning''' for a [[regular temperament|temperament]] is a tuning which has been optimized with respect to a set of target [[interval]]s. | |||
== Least squares | The generic formulation for any target tuning is as follows. | ||
$$ | |||
\begin{align} | |||
& \text{find} && G \\ | |||
& \text{that minimizes} && \lVert (GV - J) M_T \rVert_q \\ | |||
& \text{subject to} && (GV - J)M_C = O | |||
\end{align} | |||
$$ | |||
for a [[generator tuning map]] ''G'', a [[temperament mapping matrix]] ''V'', a [[just tuning map]] ''J'', a target [[monzo]] list ''M''<sub>''T''</sub>, a ''q''-norm, and optionally a constrained monzo list ''M''<sub>''C''</sub>. | |||
This is very similar to all-interval tunings shown in [[Optimization #General formulation]], except for the introduction of a target interval set represented by the monzo list ''M''<sub>''T''</sub>, which transforms the [[error map]] on the subgroup basis elements (''GV'' - ''J'') to an error map on the target intervals. A more detailed explanation on this topic is provided by [[Dave Keenan & Douglas Blumeyer's guide to RTT/Tuning fundamentals]]. | |||
Usually, the set of intervals is derived from a finite set of [[pitch class|octave-equivalence classes]], and octaves are taken to be pure 2's. Below we will make all of these assumptions, and will discuss the most important target tunings, minimax, least squares, and minimean. | |||
== Least squares tuning == | |||
By assumption we have a finite set of rational intervals defining [[interval class]]es, which we may take to be [[octave reduction|octave-reduced]] intervals, expressed logarithmically in terms of [[binary logarithm]]. The least squares tuning, ''T'', is the tuning for a particular regular temperament which minimizes the sum of the squares of the errors, ∑<sub>''i''</sub> ({{nowrap|''T''(''q<sub>i</sub>'') − log<sub>2</sub>(''q<sub>i</sub>''))<sup>2</sup>}}, where ''q<sub>i</sub>'' are the rational intervals of the target set. | By assumption we have a finite set of rational intervals defining [[interval class]]es, which we may take to be [[octave reduction|octave-reduced]] intervals, expressed logarithmically in terms of [[binary logarithm]]. The least squares tuning, ''T'', is the tuning for a particular regular temperament which minimizes the sum of the squares of the errors, ∑<sub>''i''</sub> ({{nowrap|''T''(''q<sub>i</sub>'') − log<sub>2</sub>(''q<sub>i</sub>''))<sup>2</sup>}}, where ''q<sub>i</sub>'' are the rational intervals of the target set. | ||
| Line 12: | Line 28: | ||
For a rank-''r'' temperament, we can form a list of candidate sets of eigenmonzos by taking {{nowrap|''r'' − 1}} elements from the list of target intervals, and adding 2 to the set, leading to an ''r''-element set. To avoid duplications and sets with rank less than ''r'', we can take the [[normal forms|normal interval list]] defined by each of these ''r''-element sets, discarding any with less than ''r'' elements. This means we are compiling a list of rank-''r'' [[just intonation subgroup]]s, which are [[eigenmonzo subgroup]]s for the corresponding tuning. For each of these these subgroups, we may find a corresponding projection matrix as the matrix with the ''r'' generators of the subgroup as eigenmonzos and a basis for the commas as left eigenvectors with eigenvalue zero. These projection matrices define tunings, and the tuning, if unique, with the least maximum error is the minimax tuning. However, this tuning may not be unique, in which case we may break the tie by discarding the bounding intervals and repeat minimax on the rest of the intervals until a unique tuning is found. This is the same tuning achieved by minimizing the ''p''-norm error as ''p'' approaches infinity<ref group="note">See [[Dave Keenan & Douglas Blumeyer's guide to RTT/Tuning computation #Tie breaking: power limit method]] for details.</ref><ref group="note">Historically, [[Gene Ward Smith]] proposed breaking the tie by falling back to least squares tuning in the set of minimax tunings.</ref>. | For a rank-''r'' temperament, we can form a list of candidate sets of eigenmonzos by taking {{nowrap|''r'' − 1}} elements from the list of target intervals, and adding 2 to the set, leading to an ''r''-element set. To avoid duplications and sets with rank less than ''r'', we can take the [[normal forms|normal interval list]] defined by each of these ''r''-element sets, discarding any with less than ''r'' elements. This means we are compiling a list of rank-''r'' [[just intonation subgroup]]s, which are [[eigenmonzo subgroup]]s for the corresponding tuning. For each of these these subgroups, we may find a corresponding projection matrix as the matrix with the ''r'' generators of the subgroup as eigenmonzos and a basis for the commas as left eigenvectors with eigenvalue zero. These projection matrices define tunings, and the tuning, if unique, with the least maximum error is the minimax tuning. However, this tuning may not be unique, in which case we may break the tie by discarding the bounding intervals and repeat minimax on the rest of the intervals until a unique tuning is found. This is the same tuning achieved by minimizing the ''p''-norm error as ''p'' approaches infinity<ref group="note">See [[Dave Keenan & Douglas Blumeyer's guide to RTT/Tuning computation #Tie breaking: power limit method]] for details.</ref><ref group="note">Historically, [[Gene Ward Smith]] proposed breaking the tie by falling back to least squares tuning in the set of minimax tunings.</ref>. | ||
== Minimean tuning == | |||
{{Todo|inline=1|complete section}} | |||
== Example == | == Example == | ||