Path-based goodness

From Xenharmonic Wiki
Jump to navigation Jump to search

Path-based goodness is a measure of your ability as a composer to create music recognizable as tempered JI. we assume a composer wants to return to previously written pitches; otherwise, they would just use JI. so their music contains multiple paths from a tone to the same tone. They are likelier to use a path if the intervals within it are simple and close to just. So path-based goodness is a measure of how much total option (which I use as a mass noun here because there is an infinite number of options and some paths are more of a compositional option for them than others) a composer has when writing music.

The parameters are calibrated according to what best reflects the preferences of composers (how much they use simple intervals, and how much error they're willing to tolerate). If a composer works under different aesthetic criteria, they may want to use different parameters. For example, if one uses timbres less sensitive to mistuning, one may want to increase inaccuracy_fondness. If one is interested in essentially tempered chords more than long comma pumps, one may want to lower target_score. hkm has found that changing target_score by an order of magnitude affects rankings minimally; changing the other parameters changes the rankings in a predictable and small way. (For example, if we increase inaccuracy_fondness, all scores go up, but scores for less accurate systems increase more.) We do not treat some JI intervals as having more room for error than others, both because it is not entirely agreed upon whether they do, and because it should have little change in the results (since simple intervals can be stacked upon other intervals to become complex intervals).

Method of computation

To compute path-based goodness, we can apply the following steps:

  1. Choose values for the parameters error_power, complexity_fondness, inaccuracy_fondness, and target_score. The canonical values are:
    • error_power = 1.5,
    • complexity_fondness = 0.9,
    • inaccuracy_fondness = 0.98,
    • target_score = 0.002.
  2. Let g be a variable. Assign to every JI interval (except 1/1) n/d with error e (in cents) a score equal to inaccuracy_fondness^(e^error_power) * complexity_fondness^(n+d) / g.
  3. Assign to every ordered list of JI intervals a score equal to the product of the scores of all of its steps.
  4. Assign to every temperament with tuning a score equal to the sum of the scores of all the ordered lists that yield a comma when the intervals are stacked.
  5. Assign to every temperament with tuning a goodness equal to the value g such that the score is equal to the target_score.
  6. 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.

Path-based goodness observes several properties that make it easier to compare across subgroups than Smith or Dirichlet badness.

  1. If we have two temperaments A and B which are equal except that in temperament A, some prime is free, while in temperament B, the prime is tuned arbitrarily close to temperament A's optimal tuning for that prime but related to the other primes by an arbitrarily complex comma, A and B have the same goodness.
  2. If we have two temperaments A and B which are equal except that B gives a mapping to a prime that A does not, but the tuned value for that prime is arbitrarily inaccurate, then A and B have the same goodness.
  3. Just intonation has a defined goodness, and (at least under the canonical parameters) some tempered systems have larger goodness.

Path-based goodness can also be calculated for scales without JI interpretations; we assign to each note and just interval a tempered interval rooted on that note, and compute the goodness of the best assignment.

Path-based goodnesses, ideal GPVs, and octave stretches for the equal temperaments 1-140:

EDO GPV Goodness Octave stretch
1 1.06 10.8 +0.00
2 2.03 10.6 +0.00
3 3.12 13.5 -0.03
4 4.03 12.1 +0.01
5 5.06 13.7 +0.11
6 6.03 12.6 -0.47
7 7.03 14.1 +10.58
8 8.12 14.4 -0.09
9 8.97 15.9 -0.10
10 10.12 17.3 +0.19
11 11.03 17.4 -0.17
12 11.97 24.9 +0.49
13 13.03 15.2 +0.00
14 13.91 21.1 +9.93
15 15.12 22.6 -3.43
16 16.00 20.2 +4.52
17 17.12 26.2 -2.36
18 18.09 19.7 -8.70
19 18.97 29.5 +3.64
20 19.94 19.9 +2.01
21 21.00 23.1 -0.71
22 22.06 30.3 -1.04
23 22.91 21.5 +9.07
24 24.00 30.7 +0.13
25 25.06 23.7 +0.87
26 25.94 30.6 +3.03
27 27.12 32.8 -4.21
28 27.94 24.3 +0.04
29 28.94 31.8 +3.28
30 30.03 24.0 -2.72
31 31.00 37.4 +0.36
32 32.06 28.1 -2.29
33 32.88 26.1 +4.29
34 34.06 36.7 -1.67
35 34.94 28.8 +2.80
36 36.00 34.4 +0.45
37 37.06 32.8 -0.89
38 37.91 35.0 +3.82
39 39.09 35.1 -4.02
40 39.97 30.2 +1.10
41 41.00 40.4 +0.12
42 42.12 30.9 -4.47
43 43.00 37.2 -1.03
44 44.00 33.3 -0.71
45 44.88 35.4 +4.03
46 45.94 40.7 +0.14
47 46.91 30.2 +1.23
48 48.00 35.6 +0.37
49 49.12 37.4 -3.50
50 49.94 39.4 +1.33
51 51.09 34.4 -2.03
52 51.97 31.2 +0.21
53 53.00 42.6 +0.11
54 54.12 33.9 -2.76
55 54.91 35.9 +2.81
56 56.00 38.6 -0.10
57 56.94 36.7 +0.62
58 58.06 42.2 -1.51
59 59.09 32.8 -1.89
60 59.94 40.6 +1.56
61 61.09 35.8 -2.59
62 61.88 40.1 +1.39
63 63.00 40.2 -0.32
64 63.88 36.4 +3.48
65 65.09 41.5 -0.50
66 66.12 35.4 -3.41
67 67.09 37.8 -0.39
68 68.00 42.0 -0.71
69 68.91 36.8 +1.93
70 70.06 38.4 -0.59
71 71.09 36.3 -2.01
72 71.94 44.0 +0.93
73 73.12 38.5 -2.34
74 74.00 38.0 -0.00
75 75.12 40.1 -1.46
76 75.91 36.9 +2.05
77 77.00 42.9 +0.21
78 78.09 38.9 -0.77
79 78.88 39.7 +1.98
80 80.06 42.7 -1.03
81 80.88 39.4 +1.23
82 81.97 40.9 +0.56
83 83.12 37.1 -2.07
84 84.03 42.5 -0.03
85 85.12 38.8 -1.90
86 85.88 39.4 +1.99
87 87.06 43.6 -0.26
88 87.88 38.3 +1.80
89 89.00 42.0 -0.24
90 90.06 39.6 -1.06
91 90.88 41.3 +2.00
92 92.12 40.2 -1.97
93 93.06 39.2 +0.17
94 94.00 43.6 +0.14
95 95.09 40.7 -1.55
96 95.94 42.0 +0.68
97 97.00 39.4 -0.01
98 97.94 39.9 +1.21
99 99.09 43.5 -0.69
100 99.91 38.8 +1.43
101 100.88 40.5 +1.51
102 102.12 40.6 -1.34
103 102.97 43.4 +0.73
104 104.06 41.9 -0.72
105 104.97 38.5 +0.37
106 106.03 42.3 +0.03
107 107.12 39.5 -1.89
108 108.09 40.9 -0.40
109 109.03 41.9 -0.04
110 109.88 40.2 +1.53
111 111.06 43.6 -0.68
112 111.91 39.5 +1.42
113 113.00 43.2 +0.41
114 114.06 41.3 -0.86
115 114.91 41.4 +0.38
116 115.97 40.7 +0.00
117 117.12 38.7 -1.48
118 118.03 43.6 +0.17
119 119.12 39.2 -1.37
120 120.00 41.3 -0.00
121 121.09 43.3 -0.76
122 121.88 41.6 +1.17
123 122.97 41.1 +0.15
124 124.12 40.1 -0.38
125 124.91 43.0 +0.54
126 126.12 41.4 -1.39
127 126.91 41.0 +0.64
128 127.97 42.3 -0.04
129 128.88 40.1 +1.17
130 130.00 43.8 -0.01
131 131.06 40.4 -0.57
132 131.88 42.2 +1.28
133 133.06 41.9 -0.50
134 133.88 41.3 +1.05
135 135.03 42.0 -0.36
136 136.09 41.3 -0.95
137 137.03 42.7 -0.05
138 138.12 41.7 -1.41
139 138.97 41.0 +0.36
140 140.00 43.6 +0.09