back to list

Some kind of inherent badness measure is present in the FFT of the HE curve

🔗Mike Battaglia <battaglia01@gmail.com>

1/20/2011 5:17:38 AM

I'm not sure exactly what I've stumbled upon here. I think it has something
to do with the zeta function, but I'm not sure what the Fourier transform of
the critical line of the zeta function looks like.

I sought to find out what chain of generators would hit as many of the HE
minima as possible. I first thought that this could be possible by taking a
bunch of samples at evenly-spaced points and trying to find out which ones
came out to be minimum, but then I realized - doing this is akin to
cross-correlating the signal with an impulse train. Well, an impulse train
is the sum of a bunch of harmonic sines, so why not just test with sines
themselves? Since the entire point of the Fourier Transform is to
cross-correlate the signal with sinusoids of different frequencies, I sought
out to do exactly that. It just so happens that in this space, the concept
of frequency happens to correspond to equal divisions of the octave
(assuming we're taking the FFT of one octave of the HE curve, otherwise it's
an equal division of something else).

The HE basis function is related to Thomae's function, which can probably be
represented by the self-convolution of the weighted prime-indicator function
with itself. Self-convolution corresponds to exponentiation in the frequency
domain, and if the frequencies correspond to EDO's, then it looks like we're
actually taking the FFT of the prime-indicator function, raised to the
infinite power of your choice.

To weight the prime-indicator function means to "damp" it in the
time-domain, meaning that you're going to cause frequency spreading. Since
we're mainly concerned with finding the frequency peaks, which correspond to
the best EDO's, then the end result should be the same as if we just take
the FFT of the prime-indicator function.

Since the prime-indicator function is the derivative of the prime-counting
function, then the FFT of this will simply be a less "complexity-weighted"
version of the prime-counting function, due to what integration does to the
Fourier transform of a signal.

And isn't the Fourier transform of the prime-counting function somehow
related to the critical line of the Zeta function?

Anyway, I took one octave of HE at s=1.2% and duplicated it a bunch of
times. After doing so, taking the FFT, and normalizing each bin number so
that it reflects an EDO, here's the gold standard list of EDOs that pops
out. Some strange choices here, but note that #1 is 12.

Magnitude Phase Generator EDO "Goodness"
1.0469e+005 0.1 100 12 1.2563e+006
1.0133e+005 0.1 120 10 1.0133e+006
1.3989e+005 0.1 171.43 7 9.792e+005
50589 0.1 80 15 7.5883e+005
83406 0.1 133.33 9 7.5065e+005
1.4087e+005 0.1 240 5 7.0433e+005
83528 0.1 150 8 6.6822e+005
47200 0.1 85.714 14 6.608e+005
29299 0.1 63.158 19 5.5668e+005
31238 0.1 70.588 17 5.3104e+005
45270 0.1 109.09 11 4.9797e+005
73346 0.1 200 6 4.4008e+005
24438 0.1 75 16 3.9101e+005
97244 0.1 300 4 3.8898e+005
25149 0.1 92.308 13 3.2694e+005
1.03e+005 0.1 400 3 3.0901e+005
12216 0.1 54.545 22 2.6875e+005
86443 0.1 600 2 1.7289e+005
7645.6 0.1 60 20 1.5291e+005
5939.9 0.1 57.143 21 1.2474e+005
4903.8 0.1 50 24 1.1769e+005
6391.9 0.1 66.667 18 1.1505e+005
2565.9 0.1 46.154 26 66714
2216.7 0.1 44.444 27 59852
48912 0.1 1200 1 48912
1299.2 0.1 52.174 23 29882
839.21 0.1 38.71 31 26016
919.16 0.1 48 25 22979
727.95 0.1 41.379 29 21110
166.79 0.1 35.294 34 5670.8
142.57 0.1 42.857 28 3991.9
128.14 0.1 40 30 3844.1
38.583 0.1 36.364 33 1273.3
32.571 0.1 34.286 35 1140
11.759 0.1 30 40 470.37
11.679 0.1 33.333 36 420.46
12.87 0.1 37.5 32 411.86
6.798 0.1 28.571 42 285.52
5.5392 0.1 29.268 41 227.11
4.6528 0.1 27.273 44 204.72
4.4624 0.1 30.769 39 174.03
3.7364 0.1 26.667 45 168.14
3.1836 0.1 25.532 47 149.63
3.2874 0.1 27.907 43 141.36
2.9114 0.1 25 48 139.75
2.7521 0.1 24.49 49 134.85
3.4847 0.1 31.579 38 132.42
2.5888 0.1 24 50 129.44
2.4888 0.1 23.529 51 126.93
2.3624 0.1 23.077 52 122.85
2.2326 0.1 22.642 53 118.33
2.5576 0.1 26.087 46 117.65
2.1492 0.1 22.222 54 116.06
2.0542 0.1 21.818 55 112.98
1.9666 0.1 21.429 56 110.13
1.8861 0.1 21.053 57 107.51
1.8102 0.1 20.69 58 104.99
1.7398 0.1 20.339 59 102.65
1.6732 0.1 20 60 100.39
1.6107 0.1 19.672 61 98.251
1.5517 0.1 19.355 62 96.205
1.4961 0.1 19.048 63 94.253
1.4435 0.1 18.75 64 92.386
1.3938 0.1 18.462 65 90.598
1.3467 0.1 18.182 66 88.885
1.3021 0.1 17.91 67 87.241
1.2597 0.1 17.647 68 85.661
1.2195 0.1 17.391 69 84.143
1.1812 0.1 17.143 70 82.682
1.1447 0.1 16.901 71 81.275
1.11 0.1 16.667 72 79.918
1.0768 0.1 16.438 73 78.61
1.0452 0.1 16.216 74 77.347
1.015 0.1 16 75 76.127
0.98615 0.1 15.789 76 74.947
0.95852 0.1 15.584 77 73.806
0.93207 0.1 15.385 78 72.702
0.90673 0.1 15.19 79 71.632
0.88244 0.1 15 80 70.595
0.85914 0.1 14.815 81 69.59
0.83677 0.1 14.634 82 68.615
0.81528 0.1 14.458 83 67.668
0.79463 0.1 14.286 84 66.749
0.77477 0.1 14.118 85 65.856
0.75567 0.1 13.953 86 64.987
0.73728 0.1 13.793 87 64.143
0.71956 0.1 13.636 88 63.321
0.70249 0.1 13.483 89 62.522
0.68603 0.1 13.333 90 61.743
0.67016 0.1 13.187 91 60.984
0.65484 0.1 13.043 92 60.245
0.64005 0.1 12.903 93 59.524
0.62576 0.1 12.766 94 58.822
0.61196 0.1 12.632 95 58.136
0.59861 0.1 12.5 96 57.467
0.58571 0.1 12.371 97 56.814
0.57322 0.1 12.245 98 56.176
0.56114 0.1 12.121 99 55.553
0.54944 0.1 12 100 54.944
0.53811 0.1 11.881 101 54.349

There are also chains that aren't part of an octave, but I chose to focus
only on EDO's for this. This list might be better thought of as
corresponding to "good" commas rather than "good" EDO's, because this
approach will often cause primes to skip. For example, 3-edo pops up because
128/125 is such a "good" comma, even though 3-edo skips most other primes.

Note that the #1 EDO of all time is 12-equal, followed by 10-equal. Why
10-equal? Well, the one after 10-equal is 7-equal. After the surprise 10 you
get the fairly expected 7, but in the eyes of this metric they're both
pretty similar: they're both dicot temperaments with "okay" fifths, but
unlike 7, 10 also has good approximations to 7 and 13, which 7 lacks. Thus
10 wins out in the HE badness department.

You then get my new favorite EDO, 15-equal, because it is to the 11-limit
what 12-equal is to the 5-limit. Not perfect, but if we were used to it
growing up, we'd be just fine with it. 15 is a winner as far as minimizing
dyadic entropy is concerned - our problems with it stem mostly from the fact
that since the fifth is so sharp, and since the 3rd harmonic of most timbres
is fairly strong in energy, we hate the beating.

You then get some surprises - 9, 5, then 8. 9 was probably picked because it
has a good 5/4, a good 8/5, a perfect 7/6, and a usable 11/8. 5 was picked
for obvious reasons. 8 was picked probably more because it's a subset of 16
and 24-tet than because of 8-tet itself.

So some interesting results here, although they're confounded by the fact
that this approach doesn't mind skipping important intervals. Perhaps this
is better interpreted as a good comma list. Either way, something more can
be found here.

-Mike

🔗Mike Battaglia <battaglia01@gmail.com>

1/20/2011 4:33:56 PM

Continuing to explore what this has to do with the zeta function - this time
I decided to take the cumulative sum of the numbers listed, aka the
integral. I took a cue from Gene's zeta integral work for this, although I
still don't fully understand what's going on. I think that since the zeta
function has a relationship with the prime-counting function, and Thomae's
function has a relationship with the prime counting function, and Thomae's
function has a relationship with HE, that's why they're related.

Specifically, Thomae's function is related to Reimann's exponentiated
prime-counting function, right? Is the zeta function just the Laplace
transform of the prime-counting function? That would help make sense of all
of this.

Anyway, the output changes depending on what interval I take the FFT of - if
I take the FFT of one octave from 0 to 1200 cents, I get a different result
than if I take the FFT of two octaves from -1200 to 1200 cents, which is
different than if I take the FFT of two octaves from 0 to 2400 cents.

Here is the plot of what I get for some different selections. The first
column represents the raw values that it spits out if sorted by badness
(e.g. strength/EDO), the second column represents the integral of these
values. The third column, on the other hand, represents the raw values that
it spits out if sorted by strength alone, and the fourth is the integral of
this.

The FFT taken from 0 to 1200 cents: (yay 12 and 22 as first up on the
badness list!)

12 12 0 0
10 22 7 7
7 29 5 12
14 43 12 24
9 52 3 27
15 67 10 37
5 72 4 41
19 91 9 50
8 99 2 52
17 116 8 60
11 127 6 66
16 143 14 80
6 149 11 91
4 153 15 106
13 166 1 107

The FFT taken from 0 to 2400 cents (looks like we have a little pajara
tangent going on on the right side... Also looks like 38 pops up on the left
side, as 19*2, as being better than 22 and 29, until you finally hit 53).

12 12 0 0
10 22 7 7
7 29 5 12
9 38 10 22
15 53 12 34
14 67 3 37
5 72 9 46
19 91 2 48
17 108 4 52
8 116 8 60
16 132 6 66
22 154 14 80
11 165 15 95
6 171 1 96
13 184 4.5 100.5

The FFT taken from -1200 to 1200 cents:

12 12 0 0
10 22 5 5
7 29 7 12
15 44 12 24
9 53 3 27
5 58 10 37
8 66 4 41
14 80 2 43
19 99 8 51
17 116 9 60
11 127 6 66
6 133 15 81
4 137 1 82
16 153 14 96
8.5 161.5 11 107

The FFT taken from -2400 to 2400 cents:
12 12 0 0
10 22 7 7
7 29 5 12
15 44 12 24
9 53 10 34
5 58 3 37
14 72 9 46
17 89 2 48
19 108 4 52
8.25 116.25 8.25 60.25
8 124.25 3.75 64
13.75 138 8 72
16 154 15 87
8.75 162.75 6 93
10.75 173.5 3.25 96.25

From -3600 to 3600 cents:
12 12 0 0
10 22 7 7
7 29 5 12
15 44 10 22
9 53 12 34
8.1667 61.167 8.1667 42.167
13.833 75 9 51.167
5 80 3 54.167
19 99 3.8333 58
17 116 6.8333 64.833
6.8333 122.83 3.1667 68
12.167 135 2 70
14 149 5.1667 75.167
16 165 4 79.167
8.8333 173.83 6 85.167

So the HE curve, at least at s=1.2%, loves 12, 22, and 29-tet. Also seems to
like pajara.

I'm pretty sure this is related to the zeta function, but I don't understand
the relationship between the Fourier transform of the prime counting
function and the zeta function - the Mellin transform of the Von Mangoldt
function is the zeta function or something, right?

-Mike

🔗genewardsmith <genewardsmith@sbcglobal.net>

1/20/2011 9:50:53 PM

--- In tuning-math@yahoogroups.com, Mike Battaglia <battaglia01@...> wrote:

Is the zeta function just the Laplace
> transform of the prime-counting function?

Another counting function is the Chebychev function psi, which counts the von Mangolt function Lambda. Lambda(n) is defined on positive integers as 0 when n is 1 or is divided by more than one prime, and log(p) when n is a prime power of prime p. psi(x) is sum_{x <= n} Lambda(n). These are related to zeta(s) by (for real part s >1)

zeta(s) = sum Lambda(n)/(log(n) n^s)

The logarithmic derivative is

zeta'(s)/zeta(s) = - sum Lambda(n)/n^s

This allows you to relate zeta to a Mellin transform:

zeta'(s)/zeta(s) = -s integral_1^infinity x^(-s-1) psi(x) dx

The Mellin transform can be changed by a change of variables into a Fourier transform.