User:FloraC/Hard problems of harmony and psychoacoustically supported optimization: Difference between revisions

mNo edit summary
Done
Line 1: Line 1:
<div style="background: aliceblue; color: darkslategray; font-style: italic; border: 1px solid lightblue; margin: 15px; padding: 15px; text-align: center;">
This page is a work in progress.
</div>
In the study of tuning optimization, we find two blocker issues that deserve the title "hard problems of harmony". Versed in a catchy way, they are:  
In the study of tuning optimization, we find two blocker issues that deserve the title "hard problems of harmony". Versed in a catchy way, they are:  


Line 199: Line 193:


== Chapter V. Towards an Optimization Strategy ==
== Chapter V. Towards an Optimization Strategy ==
Incorporating all that have been discussed above, I recommend CTE tuning as the best general-purpose reference solution to everyone, whereas my hemi-idiosyncratic answer to tuning optimization is the '''CH<sub>''n''</sub>E tuning''' (for '''constrained Hahn[''n'']-Euclidean tuning''').
The only part that needs explanation is the Hahn[''n''] weight, an adaptation to the original Hahn distance.
The ''n'' is a positive integer determining the highest relevant harmonic. Specifically, the weight of any prime harmonic equals its maximum number of stacks without exceeding the ''n''-integer-limit, so different values of ''n'' can alter the relative weights of the primes.
To illustrate, let us set ''n'' = 9, or 9-integer-limit. Harmonic 2 can be stacked thrice, giving 8. Stacking it four times would give 16, exceeding 9. Its weight is thus 3. Harmonic 3 can be stacked twice, giving 9. Stacking it three times would give 27, exceeding 9. Its weight is thus 2. Both 5 and 7 have unity weight since they can only be stacked once in the integer limit. 11 and beyond have zero weight because they cannot be stacked at all. If optimization is to be carried out for a 13-limit temperament then we have the weights 3, 2, 1, 1, 0, 0 for primes 2 to 13. The weights are different if ''n'' = 7, or 7-integer-limit, for example. The weight of 2 is 2, of 3, 5 and 7 is unity, and of 11 and 13 zero, giving 2, 1, 1, 1, 0, 0 for primes 2 to 13.
The Hahn[''n''] weight matrix is given as
$$
W = \operatorname {diag} (\operatorname {floor} (\log_Q (n)))
$$
which indicates that the prime ''q'' in Q has the weight equal to floor (log<sub>''q''</sub> (''n'')).
The Tenney weight is a special case of the Hahn[''n''] weight, where ''n'' → infinity. The only thing that sets Hahn[''n''] apart from Tenney is the floor function (since log<sub>Q</sub> (''n'') = log<sub>2</sub> (''n'')/log<sub>2</sub> (Q) and log<sub>2</sub> (''n'') is a constant), and its effect converges to zero as ''n'' gets sufficiently large. Conceptualizing the Tenney weight in this way is not recommended, though, because Tenney's is characteristically transcendental whereas all the other Hahn[''n''] weights are algebraic.
That defines the H<sub>''n''</sub>C, H<sub>''n''</sub>E, and H<sub>''n''</sub>OP tunings, but if we contrain the octave to pure, it does not matter how many times the octave is stacked, making the integer limit equivalent to the smaller closest odd limit. The proposed convention is to always use the largest number ''n'' if multiple consecutive choices of ''n'' will give the same CH<sub>''n''</sub>E tuning. For example, CH<sub>13</sub>E, CH<sub>14</sub>E, CH<sub>15</sub>E, and CH<sub>16</sub>E are all equivalent and one should always write CH<sub>16</sub>E.
Specifically designed to ''my'' taste, another special case of note is setting ''n'' = 24, or Hahn[24]. The entries are 4, 2, 1, 1, 1, 1, 1, 1, 1 for primes 2 to 23, and primes beyond 23 are never optimized for. The octave matters not, so you can see its only difference from the equilateral weight is that not 3 but 9 is treated as a prime, meaning every two steps along the path of 3 counts as one.
Let us tune some temperaments!
<center>
{| class="wikitable"
|-
! Temperament !! Mistuning Map (CTE) !! Mistuning Map (CH<sub>24</sub>E)
|-
| 5-limit meantone || {{val| 0 -4.7407 +2.5436 }} || {{val| 0 -4.3013 +4.3013 }}
|-
| 7-limit meantone || {{val| 0 -5.0029 +1.4948 +0.6955 }} || {{val| 0 -4.9439 +1.7308 +1.2853 }}
|-
| 2.3.7 superpyth || {{val| 0 +7.6398 +11.9845 }} || {{val| 0 +6.8160 +13.6320 }}
|-
| 7-limit superpyth || {{val| 0 +7.6357 +0.0023 +11.9928 }} || {{val| 0 +7.5618 -0.6629 +12.1406 }}
|-
| 11-limit sensamagic || {{val| 0 +1.8187 -0.7280 -2.1970 +0.2160 }} || {{val| 0 +1.6927 -0.9366 -2.3952 +0.5219 }}
|-
| 13-limit marvel (hecate) || {{val| 0 -0.3917 -3.2984 +0.3314 -1.9273 -0.3053 }} || {{val| 0 -0.3922 -3.5071 -0.0870 -1.3006 +0.1105 }}
|-
| 13-limit pele || {{val| 0 +1.4848 +0.5796 -2.5714 +1.1774 +1.6483 }} || {{val| 0 +1.5434 +0.7961 -2.7066 +0.8077 +1.1028 }}
|}
</center>


== Notes ==
== Notes ==
Line 204: Line 242:


== Release Notes ==
== Release Notes ==
© 2023 Flora Canou
Version Stable 0
This work is licensed under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License].