Path-based goodness: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
Path-based goodness is a metric for judging the accuracy and simplicity of temperaments. To compute path-based goodness, we can apply the following steps: | Path-based goodness is a metric for judging the accuracy and simplicity of temperaments. To compute path-based goodness, we can apply the following steps: | ||
# Choose values for the parameters <code>error_power</code>, <code>complexity_fondness</code>, <code>inaccuracy_fondness</code>, and | # Choose values for the parameters <code>error_power</code>, <code>complexity_fondness</code>, <code>inaccuracy_fondness</code>, and target_score. The canonical values are: | ||
::: <code>error_power</code> = 1.5, | ::: <code>error_power</code> = 1.5, | ||
| Line 8: | Line 8: | ||
::: <code>target_score</code> = 0.02. | ::: <code>target_score</code> = 0.02. | ||
# Let ''g'' be a variable. Assign to every JI interval (except 1/1) n/d with error e (in cents) a score equal to <code>inaccuracy_fondness</code>^(e^<code>error_power</code>) * <code>complexity_fondness</code>^(n+d) / ''g''. | # Let ''g'' be a variable. Assign to every JI interval (except 1/1) n/d with error e (in cents) a score equal to <code>inaccuracy_fondness</code>^(e^<code>error_power</code></code>) * <code>complexity_fondness</code>^(n+d) / ''g''. | ||
# Assign to every ordered list of JI intervals a score equal to the product of the scores of all of its steps. | # Assign to every ordered list of JI intervals a score equal to the product of the scores of all of its steps. | ||
# Assign to every temperament with tuning a score equal to the sum of the scores of all the paths that yield a comma when the intervals are stacked. | # Assign to every temperament with tuning a score equal to the sum of the scores of all the paths that yield a comma when the intervals are stacked. | ||
# Assign to every temperament with tuning a ''goodness'' equal to the value ''g'' such that the score is equal to the | # Assign to every temperament with tuning a ''goodness'' equal to the value ''g'' such that the score is equal to the target_score. | ||
# Assign to every temperament a ''goodness'' equal to the largest goodness of that temperament across all generator tunings. In this way, path-based goodness also provides optimal tunings for temperaments. | # Assign to every temperament a ''goodness'' equal to the largest goodness of that temperament across all generator tunings. In this way, path-based goodness also provides optimal tunings for temperaments. | ||