Вообще чтобы не попадать ни в какие нечётные гармоники, надо просто брать по одной ноте из октавы (т.е. частота каждой строки отличается от предыдущей ровно в 2 раза):
Code: Select all
0: 110.000000
1: 220.000000
2: 440.000000
3: 880.000000
4: 1760.000000
5: 3520.000000
6: 7040.000000
7: 14080.000000
но это будет только 8 строк - неинтересно
А вообще можно совсем от нот отказаться - я набросал небольшую программку (если кому интересно - под спойлером), которая ищет самый подходящий набор частот, чтобы каждая частота не попадала в 10% окрестности нечётных гаромник 3,5,7,9 и 11 других частот (по возможности)
test1.cCode: Select all
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,l,p,lmax=0;
double o,d,f,s,d1;
double m = 2;
double a[256];
double b = 0;
for(s=0.03;s<1.001;s+=0.001)
{
printf("TRY 2^%lf\n",s);
m = pow(2.0,s);
f = 110.0;
i = 0;
l = 120;
while(f<16000.0)
{
printf("%i: %lf\n",i,f);
for(j=0;j<i;j++)
{
o = f/10;
d = a[j]*3;
if(f >= d-o && f <= d+o)
{
p = (int)(fabs(f-d)*100.0/f);
printf(" in 3rd with %i (%i%%)\n",j,p);
if(30+p < l) l = 30+p;
}
d = a[j]*5;
if(f >= d-o && f <= d+o)
{
p = (int)(fabs(f-d)*100.0/f);
printf(" in 5th with %i (%i%%)\n",j,p);
if(50+p < l) l = 50+p;
}
d = a[j]*7;
if(f >= d-o && f <= d+o)
{
p = (int)(fabs(f-d)*100.0/f);
printf(" in 7th with %i (%i%%)\n",j,p);
if(70+p < l) l = 70+p;
}
d = a[j]*9;
if(f >= d-o && f <= d+o)
{
p = (int)(fabs(f-d)*100.0/f);
printf(" in 9th with %i (%i%%)\n",j,p);
if(90+p < l) l = 90+p;
}
d = a[j]*11;
if(f >= d-o && f <= d+o)
{
p = (int)(fabs(f-d)*100.0/f);
printf(" in 11th with %i (%i%%)\n",j,p);
if(110+p < l) l = 110+p;
}
}
a[i] = f;
f *= m;
i++;
}
if(l > lmax)
{
lmax = l;
b = s;
printf("BEST %lf (%i with %i lines)\n",b,l,j+1);
}
}
}
и вот что она нашла
если устраивает попадание в окрестности 9й гармоники и больше, то можно получить 17 строк:
Code: Select all
TRY 2^0.435000
0: 110.000000
1: 148.710192
2: 201.042919
3: 271.792100
4: 367.438685
5: 496.744338
6: 671.554052
7: 907.881198
in 9th with 0 (9%)
8: 1227.374426
in 11th with 0 (1%)
in 9th with 1 (9%)
9: 1659.300783
in 11th with 1 (1%)
in 9th with 2 (9%)
10: 2243.226704
in 11th with 2 (1%)
in 9th with 3 (9%)
11: 3032.642482
in 11th with 3 (1%)
in 9th with 4 (9%)
12: 4099.862224
in 11th with 4 (1%)
in 9th with 5 (9%)
13: 5542.648155
in 11th with 5 (1%)
in 9th with 6 (9%)
14: 7493.166084
in 11th with 6 (1%)
in 9th with 7 (9%)
15: 10130.092403
in 11th with 7 (1%)
in 9th with 8 (9%)
16: 13694.981660
in 11th with 8 (1%)
in 9th with 9 (9%)
если 7я гармоника с отступом в 5% ок, то можно получить 20 строк:
Code: Select all
TRY 2^0.361000
0: 110.000000
1: 141.274739
2: 181.441381
3: 233.028034
4: 299.281588
5: 384.372074
6: 493.655131
7: 634.009089
8: 814.267897
in 7th with 0 (5%)
9: 1045.777132
in 9th with 0 (5%)
in 7th with 1 (5%)
10: 1343.108104
in 11th with 0 (9%)
in 9th with 1 (5%)
in 7th with 2 (5%)
11: 1724.974971
in 11th with 1 (9%)
in 9th with 2 (5%)
in 7th with 3 (5%)
12: 2215.412625
in 11th with 2 (9%)
in 9th with 3 (5%)
in 7th with 4 (5%)
13: 2845.289458
in 11th with 3 (9%)
in 9th with 4 (5%)
in 7th with 5 (5%)
14: 3654.250232
in 11th with 4 (9%)
in 9th with 5 (5%)
in 7th with 6 (5%)
15: 4693.211343
in 11th with 5 (9%)
in 9th with 6 (5%)
in 7th with 7 (5%)
16: 6027.565523
in 11th with 6 (9%)
in 9th with 7 (5%)
in 7th with 8 (5%)
17: 7741.297691
in 11th with 7 (9%)
in 9th with 8 (5%)
in 7th with 9 (5%)
18: 9942.271007
in 11th with 8 (9%)
in 9th with 9 (5%)
in 7th with 10 (5%)
19: 12769.015831
in 11th with 9 (9%)
in 9th with 10 (5%)
in 7th with 11 (5%)
а если подобраться к 3ей гармонике на 6% (расстояние между двумя соседними нотами), то можно получить 39 строк, правда при этому будут прямые попадания в 7ю и 9ю гармоники - см. под спойлер
39Code: Select all
TRY 2^0.187000
0: 110.000000
1: 125.223343
2: 142.553506
3: 162.282060
4: 184.740928
5: 210.307970
6: 239.413337
7: 272.546714
8: 310.265551
in 3rd with 0 (6%)
9: 353.204451
in 3rd with 0 (6%)
in 3rd with 1 (6%)
10: 402.085838
in 3rd with 1 (6%)
in 3rd with 2 (6%)
11: 457.732117
in 3rd with 2 (6%)
in 3rd with 3 (6%)
12: 521.079509
in 5th with 0 (5%)
in 3rd with 3 (6%)
in 3rd with 4 (6%)
13: 593.193802
in 5th with 0 (7%)
in 5th with 1 (5%)
in 3rd with 4 (6%)
in 3rd with 5 (6%)
14: 675.288282
in 5th with 1 (7%)
in 5th with 2 (5%)
in 3rd with 5 (6%)
in 3rd with 6 (6%)
15: 768.744148
in 7th with 0 (0%)
in 5th with 2 (7%)
in 5th with 3 (5%)
in 3rd with 6 (6%)
in 3rd with 7 (6%)
16: 875.133748
in 7th with 1 (0%)
in 5th with 3 (7%)
in 5th with 4 (5%)
in 3rd with 7 (6%)
in 3rd with 8 (6%)
17: 996.247034
in 9th with 0 (0%)
in 7th with 2 (0%)
in 5th with 4 (7%)
in 5th with 5 (5%)
in 3rd with 8 (6%)
in 3rd with 9 (6%)
18: 1134.121675
in 11th with 0 (6%)
in 9th with 1 (0%)
in 7th with 3 (0%)
in 5th with 5 (7%)
in 5th with 6 (5%)
in 3rd with 9 (6%)
in 3rd with 10 (6%)
19: 1291.077343
in 11th with 0 (6%)
in 11th with 1 (6%)
in 9th with 2 (0%)
in 7th with 4 (0%)
in 5th with 6 (7%)
in 5th with 7 (5%)
in 3rd with 10 (6%)
in 3rd with 11 (6%)
20: 1469.754738
in 11th with 1 (6%)
in 11th with 2 (6%)
in 9th with 3 (0%)
in 7th with 5 (0%)
in 5th with 7 (7%)
in 5th with 8 (5%)
in 3rd with 11 (6%)
in 3rd with 12 (6%)
21: 1673.160018
in 11th with 2 (6%)
in 11th with 3 (6%)
in 9th with 4 (0%)
in 7th with 6 (0%)
in 5th with 8 (7%)
in 5th with 9 (5%)
in 3rd with 12 (6%)
in 3rd with 13 (6%)
22: 1904.715374
in 11th with 3 (6%)
in 11th with 4 (6%)
in 9th with 5 (0%)
in 7th with 7 (0%)
in 5th with 9 (7%)
in 5th with 10 (5%)
in 3rd with 13 (6%)
in 3rd with 14 (6%)
23: 2168.316609
in 11th with 4 (6%)
in 11th with 5 (6%)
in 9th with 6 (0%)
in 7th with 8 (0%)
in 5th with 10 (7%)
in 5th with 11 (5%)
in 3rd with 14 (6%)
in 3rd with 15 (6%)
24: 2468.398681
in 11th with 5 (6%)
in 11th with 6 (6%)
in 9th with 7 (0%)
in 7th with 9 (0%)
in 5th with 11 (7%)
in 5th with 12 (5%)
in 3rd with 15 (6%)
in 3rd with 16 (6%)
25: 2810.010320
in 11th with 6 (6%)
in 11th with 7 (6%)
in 9th with 8 (0%)
in 7th with 10 (0%)
in 5th with 12 (7%)
in 5th with 13 (5%)
in 3rd with 16 (6%)
in 3rd with 17 (6%)
26: 3198.898970
in 11th with 7 (6%)
in 11th with 8 (6%)
in 9th with 9 (0%)
in 7th with 11 (0%)
in 5th with 13 (7%)
in 5th with 14 (5%)
in 3rd with 17 (6%)
in 3rd with 18 (6%)
27: 3641.607487
in 11th with 8 (6%)
in 11th with 9 (6%)
in 9th with 10 (0%)
in 7th with 12 (0%)
in 5th with 14 (7%)
in 5th with 15 (5%)
in 3rd with 18 (6%)
in 3rd with 19 (6%)
28: 4145.584219
in 11th with 9 (6%)
in 11th with 10 (6%)
in 9th with 11 (0%)
in 7th with 13 (0%)
in 5th with 15 (7%)
in 5th with 16 (5%)
in 3rd with 19 (6%)
in 3rd with 20 (6%)
29: 4719.308322
in 11th with 10 (6%)
in 11th with 11 (6%)
in 9th with 12 (0%)
in 7th with 14 (0%)
in 5th with 16 (7%)
in 5th with 17 (5%)
in 3rd with 20 (6%)
in 3rd with 21 (6%)
30: 5372.432416
in 11th with 11 (6%)
in 11th with 12 (6%)
in 9th with 13 (0%)
in 7th with 15 (0%)
in 5th with 17 (7%)
in 5th with 18 (5%)
in 3rd with 21 (6%)
in 3rd with 22 (6%)
31: 6115.944983
in 11th with 12 (6%)
in 11th with 13 (6%)
in 9th with 14 (0%)
in 7th with 16 (0%)
in 5th with 18 (7%)
in 5th with 19 (5%)
in 3rd with 22 (6%)
in 3rd with 23 (6%)
32: 6962.355251
in 11th with 13 (6%)
in 11th with 14 (6%)
in 9th with 15 (0%)
in 7th with 17 (0%)
in 5th with 19 (7%)
in 5th with 20 (5%)
in 3rd with 23 (6%)
in 3rd with 24 (6%)
33: 7925.903646
in 11th with 14 (6%)
in 11th with 15 (6%)
in 9th with 16 (0%)
in 7th with 18 (0%)
in 5th with 20 (7%)
in 5th with 21 (5%)
in 3rd with 24 (6%)
in 3rd with 25 (6%)
34: 9022.801386
in 11th with 15 (6%)
in 11th with 16 (6%)
in 9th with 17 (0%)
in 7th with 19 (0%)
in 5th with 21 (7%)
in 5th with 22 (5%)
in 3rd with 25 (6%)
in 3rd with 26 (6%)
35: 10271.503223
in 11th with 16 (6%)
in 11th with 17 (6%)
in 9th with 18 (0%)
in 7th with 20 (0%)
in 5th with 22 (7%)
in 5th with 23 (5%)
in 3rd with 26 (6%)
in 3rd with 27 (6%)
36: 11693.017939
in 11th with 17 (6%)
in 11th with 18 (6%)
in 9th with 19 (0%)
in 7th with 21 (0%)
in 5th with 23 (7%)
in 5th with 24 (5%)
in 3rd with 27 (6%)
in 3rd with 28 (6%)
37: 13311.261804
in 11th with 18 (6%)
in 11th with 19 (6%)
in 9th with 20 (0%)
in 7th with 22 (0%)
in 5th with 24 (7%)
in 5th with 25 (5%)
in 3rd with 28 (6%)
in 3rd with 29 (6%)
38: 15153.460957
in 11th with 19 (6%)
in 11th with 20 (6%)
in 9th with 21 (0%)
in 7th with 23 (0%)
in 5th with 25 (7%)
in 5th with 26 (5%)
in 3rd with 29 (6%)
in 3rd with 30 (6%)
P.S. Вот более точная реализация вышеприведённой последовательности на 40 строк (использовалась слегка модифицированная программа, которая начинает считать со 100 Гц и с чуть большей точностью):
40Code: Select all
TRY 2^0.186800
0: 100.000000
1: 113.823623
2: 129.558170
3: 147.467803
4: 167.853195
5: 191.056587
6: 217.467529
7: 247.529419
8: 281.746951
in 3rd with 0 (6.4%)
9: 320.694586
in 3rd with 0 (6.4%)
in 3rd with 1 (6.4%)
10: 365.026195
in 3rd with 1 (6.4%)
in 3rd with 2 (6.4%)
11: 415.486039
in 3rd with 2 (6.4%)
in 3rd with 3 (6.4%)
12: 472.921260
in 5th with 0 (5.7%)
in 3rd with 3 (6.4%)
in 3rd with 4 (6.4%)
13: 538.296110
in 5th with 0 (7.1%)
in 5th with 1 (5.7%)
in 3rd with 4 (6.4%)
in 3rd with 5 (6.4%)
14: 612.708132
in 5th with 1 (7.1%)
in 5th with 2 (5.7%)
in 3rd with 5 (6.4%)
in 3rd with 6 (6.4%)
15: 697.406592
in 7th with 0 (0.3%)
in 5th with 2 (7.1%)
in 5th with 3 (5.7%)
in 3rd with 6 (6.4%)
in 3rd with 7 (6.4%)
16: 793.813446
in 7th with 1 (0.3%)
in 5th with 3 (7.1%)
in 5th with 4 (5.7%)
in 3rd with 7 (6.4%)
in 3rd with 8 (6.4%)
17: 903.547220
in 9th with 0 (0.3%)
in 7th with 2 (0.3%)
in 5th with 4 (7.1%)
in 5th with 5 (5.7%)
in 3rd with 8 (6.4%)
in 3rd with 9 (6.4%)
18: 1028.450177
in 11th with 0 (6.9%)
in 9th with 1 (0.3%)
in 7th with 3 (0.3%)
in 5th with 5 (7.1%)
in 5th with 6 (5.7%)
in 3rd with 9 (6.4%)
in 3rd with 10 (6.4%)
19: 1170.619248
in 11th with 0 (6.0%)
in 11th with 1 (6.9%)
in 9th with 2 (0.3%)
in 7th with 4 (0.3%)
in 5th with 6 (7.1%)
in 5th with 7 (5.7%)
in 3rd with 10 (6.4%)
in 3rd with 11 (6.4%)
20: 1332.441233
in 11th with 1 (6.0%)
in 11th with 2 (6.9%)
in 9th with 3 (0.3%)
in 7th with 5 (0.3%)
in 5th with 7 (7.1%)
in 5th with 8 (5.7%)
in 3rd with 11 (6.4%)
in 3rd with 12 (6.4%)
21: 1516.632880
in 11th with 2 (6.0%)
in 11th with 3 (6.9%)
in 9th with 4 (0.3%)
in 7th with 6 (0.3%)
in 5th with 8 (7.1%)
in 5th with 9 (5.7%)
in 3rd with 12 (6.4%)
in 3rd with 13 (6.4%)
22: 1726.286484
in 11th with 3 (6.0%)
in 11th with 4 (6.9%)
in 9th with 5 (0.3%)
in 7th with 7 (0.3%)
in 5th with 9 (7.1%)
in 5th with 10 (5.7%)
in 3rd with 13 (6.4%)
in 3rd with 14 (6.4%)
23: 1964.921811
in 11th with 4 (6.0%)
in 11th with 5 (6.9%)
in 9th with 6 (0.3%)
in 7th with 8 (0.3%)
in 5th with 10 (7.1%)
in 5th with 11 (5.7%)
in 3rd with 14 (6.4%)
in 3rd with 15 (6.4%)
24: 2236.545184
in 11th with 5 (6.0%)
in 11th with 6 (6.9%)
in 9th with 7 (0.3%)
in 7th with 9 (0.3%)
in 5th with 11 (7.1%)
in 5th with 12 (5.7%)
in 3rd with 15 (6.4%)
in 3rd with 16 (6.4%)
25: 2545.716748
in 11th with 6 (6.0%)
in 11th with 7 (6.9%)
in 9th with 8 (0.3%)
in 7th with 10 (0.3%)
in 5th with 12 (7.1%)
in 5th with 13 (5.7%)
in 3rd with 16 (6.4%)
in 3rd with 17 (6.4%)
26: 2897.627021
in 11th with 7 (6.0%)
in 11th with 8 (6.9%)
in 9th with 9 (0.3%)
in 7th with 11 (0.3%)
in 5th with 13 (7.1%)
in 5th with 14 (5.7%)
in 3rd with 17 (6.4%)
in 3rd with 18 (6.4%)
27: 3298.184043
in 11th with 8 (6.0%)
in 11th with 9 (6.9%)
in 9th with 10 (0.3%)
in 7th with 12 (0.3%)
in 5th with 14 (7.1%)
in 5th with 15 (5.7%)
in 3rd with 18 (6.4%)
in 3rd with 19 (6.4%)
28: 3754.112554
in 11th with 9 (6.0%)
in 11th with 10 (6.9%)
in 9th with 11 (0.3%)
in 7th with 13 (0.3%)
in 5th with 15 (7.1%)
in 5th with 16 (5.7%)
in 3rd with 19 (6.4%)
in 3rd with 20 (6.4%)
29: 4273.066902
in 11th with 10 (6.0%)
in 11th with 11 (6.9%)
in 9th with 12 (0.3%)
in 7th with 14 (0.3%)
in 5th with 16 (7.1%)
in 5th with 17 (5.7%)
in 3rd with 20 (6.4%)
in 3rd with 21 (6.4%)
30: 4863.759540
in 11th with 11 (6.0%)
in 11th with 12 (6.9%)
in 9th with 13 (0.3%)
in 7th with 15 (0.3%)
in 5th with 17 (7.1%)
in 5th with 18 (5.7%)
in 3rd with 21 (6.4%)
in 3rd with 22 (6.4%)
31: 5536.107299
in 11th with 12 (6.0%)
in 11th with 13 (6.9%)
in 9th with 14 (0.3%)
in 7th with 16 (0.3%)
in 5th with 18 (7.1%)
in 5th with 19 (5.7%)
in 3rd with 22 (6.4%)
in 3rd with 23 (6.4%)
32: 6301.397874
in 11th with 13 (6.0%)
in 11th with 14 (6.9%)
in 9th with 15 (0.3%)
in 7th with 17 (0.3%)
in 5th with 19 (7.1%)
in 5th with 20 (5.7%)
in 3rd with 23 (6.4%)
in 3rd with 24 (6.4%)
33: 7172.479329
in 11th with 14 (6.0%)
in 11th with 15 (6.9%)
in 9th with 16 (0.3%)
in 7th with 18 (0.3%)
in 5th with 20 (7.1%)
in 5th with 21 (5.7%)
in 3rd with 24 (6.4%)
in 3rd with 25 (6.4%)
34: 8163.975796
in 11th with 15 (6.0%)
in 11th with 16 (6.9%)
in 9th with 17 (0.3%)
in 7th with 19 (0.3%)
in 5th with 21 (7.1%)
in 5th with 22 (5.7%)
in 3rd with 25 (6.4%)
in 3rd with 26 (6.4%)
35: 9292.532991
in 11th with 16 (6.0%)
in 11th with 17 (6.9%)
in 9th with 18 (0.3%)
in 7th with 20 (0.3%)
in 5th with 22 (7.1%)
in 5th with 23 (5.7%)
in 3rd with 26 (6.4%)
in 3rd with 27 (6.4%)
36: 10577.097674
in 11th with 17 (6.0%)
in 11th with 18 (6.9%)
in 9th with 19 (0.3%)
in 7th with 21 (0.3%)
in 5th with 23 (7.1%)
in 5th with 24 (5.7%)
in 3rd with 27 (6.4%)
in 3rd with 28 (6.4%)
37: 12039.235728
in 11th with 18 (6.0%)
in 11th with 19 (6.9%)
in 9th with 20 (0.3%)
in 7th with 22 (0.3%)
in 5th with 24 (7.1%)
in 5th with 25 (5.7%)
in 3rd with 28 (6.4%)
in 3rd with 29 (6.4%)
38: 13703.494229
in 11th with 19 (6.0%)
in 11th with 20 (6.9%)
in 9th with 21 (0.3%)
in 7th with 23 (0.3%)
in 5th with 25 (7.1%)
in 5th with 26 (5.7%)
in 3rd with 29 (6.4%)
in 3rd with 30 (6.4%)
39: 15597.813541
in 11th with 20 (6.0%)
in 11th with 21 (6.9%)
in 9th with 22 (0.3%)
in 7th with 24 (0.3%)
in 5th with 26 (7.1%)
in 5th with 27 (5.7%)
in 3rd with 30 (6.4%)
in 3rd with 31 (6.4%)