Optimal ET sequence: Difference between revisions
Cmloegcmluin (talk | contribs) "optimal GPV sequence" → "optimal ET sequence", per recent discussion to subsume GP/uniform property into "optimal" (along with support property and error-decreasing property); as well as sequence being of ETs, not vals/maps |
Code was outdated |
||
| Line 2: | Line 2: | ||
== Computation == | == Computation == | ||
Optimal ET sequences can be computed using [[Flora Canou]]'s [https://github.com/FloraCanou/temperament_evaluator Temperament Evaluator], using the <code>et_sequence</code> function. | Optimal ET sequences can be computed by iterating through all GPVs, finding the error of each and comparing it with the last best error value. | ||
Below is an example using [[Flora Canou]]'s [https://github.com/FloraCanou/temperament_evaluator Temperament Evaluator], using the <code>et_sequence</code> function from <code>te_equal.py</code>. Here is how the optimal ET sequence for [[No-threes subgroup temperaments #Yer_.28rank_3.29|Yer temperament]] was determined, by providing its comma basis and subgroup: | |||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
import et_sequence | import te_common as te | ||
from te_equal import et_sequence | |||
import numpy as np | import numpy as np | ||
et_sequence(np.column_stack([[7, -1, -1, -1, 1], [-4, 1, -1, 0, 1]]), subgroup=te.Subgroup ([2, 11, 13, 17, 19])) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Which produces the list: 13, 24, 33 | Which produces the list: 11, 13, 24, 33, 46, 57, 70, 127, 197eh. | ||
[[Category:Regular temperament theory]] | [[Category:Regular temperament theory]] | ||
Revision as of 15:03, 5 December 2023
Many regular temperaments documented on the wiki are accompanied with an optimal ET sequence, which suggests some useful equal tunings to tune the temperament as well as mos scales available. Technically, it gives generalized patent vals (GPVs) for equal temperaments which support the temperament, where each subsequent GPV included improves upon the TE error of the previous GPV, though no standard beginning cutoff to the list has been specified.
Computation
Optimal ET sequences can be computed by iterating through all GPVs, finding the error of each and comparing it with the last best error value.
Below is an example using Flora Canou's Temperament Evaluator, using the et_sequence function from te_equal.py. Here is how the optimal ET sequence for Yer temperament was determined, by providing its comma basis and subgroup:
import te_common as te
from te_equal import et_sequence
import numpy as np
et_sequence(np.column_stack([[7, -1, -1, -1, 1], [-4, 1, -1, 0, 1]]), subgroup=te.Subgroup ([2, 11, 13, 17, 19]))
Which produces the list: 11, 13, 24, 33, 46, 57, 70, 127, 197eh.