※ 検索エンジンから直接このページに来られたかたには、まず 『すのものの「純正律について」』 をお読みになることをおすすめします。
『すのものの「純正律について」(その1)』 で示した表のうち、最も大きいものについて、 平均律からのずれをセント単位で計算して表にした。 ここでは、最初にとった C のずれを 0 とした。
左上にゆくほど値が小さく、右下にゆくほど値が大きくなる。 ±200 セント、すなわち平均律の全音以上ずれている音はない。
また、最初にとった C からみて、 完全五度さがることを七回おこなった音の長三度下の音 Ases は、 0.001280 と非常に 0 に近い。 (このことは「その2」でも述べた。)
| ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### | ##### |
| Hisis -177.917880 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Gisis -164.231593 |
Disis -162.276593 |
Aisis -160.321592 |
Eisis -158.366591 |
Hisis -156.411590 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| His -148.590306 |
Fisis -146.635306 |
Cisis -144.680305 |
Gisis -142.725304 |
Disis -140.770303 |
Aisis -138.815302 |
Eisis -136.860301 |
Hisis -134.905300 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Gis -134.904020 |
Dis -132.949019 |
Ais -130.994019 |
Eis -129.039018 |
His -127.084017 |
Fisis -125.129016 |
Cisis -123.174015 |
Gisis -121.219014 |
Disis -119.264013 |
Aisis -117.309012 |
Eisis -115.354012 |
Hisis -113.399011 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| H -119.262733 |
Fis -117.307732 |
Cis -115.352732 |
Gis -113.397731 |
Dis -111.442730 |
Ais -109.487729 |
Eis -107.532728 |
His -105.577727 |
Fisis -103.622726 |
Cisis -101.667725 |
Gisis -99.712725 |
Disis -97.757724 |
Aisis -95.802723 |
Eisis -93.847722 |
Hisis -91.892721 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| G -105.576447 |
D -103.621446 |
A -101.666445 |
E -99.711445 |
H -97.756444 |
Fis -95.801443 |
Cis -93.846442 |
Gis -91.891441 |
Dis -89.936440 |
Ais -87.981439 |
Eis -86.026438 |
His -84.071438 |
Fisis -82.116437 |
Cisis -80.161436 |
Gisis -78.206435 |
Disis -76.251434 |
Aisis -74.296433 |
Eisis -72.341432 |
Hisis -70.386432 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| B -89.935160 |
F -87.980159 |
C -86.025158 |
G -84.070158 |
D -82.115157 |
A -80.160156 |
E -78.205155 |
H -76.250154 |
Fis -74.295153 |
Cis -72.340152 |
Gis -70.385151 |
Dis -68.430151 |
Ais -66.475150 |
Eis -64.520149 |
His -62.565148 |
Fisis -60.610147 |
Cisis -58.655146 |
Gisis -56.700145 |
Disis -54.745145 |
Aisis -52.790144 |
Eisis -50.835143 |
Hisis -48.880142 |
||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ges -76.248874 |
Des -74.293873 |
As -72.338872 |
Es -70.383871 |
B -68.428871 |
F -66.473870 |
C -64.518869 |
G -62.563868 |
D -60.608867 |
A -58.653866 |
E -56.698865 |
H -54.743864 |
Fis -52.788864 |
Cis -50.833863 |
Gis -48.878862 |
Dis -46.923861 |
Ais -44.968860 |
Eis -43.013859 |
His -41.058858 |
Fisis -39.103858 |
Cisis -37.148857 |
Gisis -35.193856 |
Disis -33.238855 |
Aisis -31.283854 |
Eisis -29.328853 |
Hisis -27.373852 |
||||||||||||||||||||||||||||||||||||||||||||||||
| Bes -60.607587 |
Fes -58.652586 |
Ces -56.697585 |
Ges -54.742584 |
Des -52.787584 |
As -50.832583 |
Es -48.877582 |
B -46.922581 |
F -44.967580 |
C -43.012579 |
G -41.057578 |
D -39.102577 |
A -37.147577 |
E -35.192576 |
H -33.237575 |
Fis -31.282574 |
Cis -29.327573 |
Gis -27.372572 |
Dis -25.417571 |
Ais -23.462571 |
Eis -21.507570 |
His -19.552569 |
Fisis -17.597568 |
Cisis -15.642567 |
Gisis -13.687566 |
Disis -11.732565 |
Aisis -9.777564 |
Eisis -7.822564 |
Hisis -5.867563 |
|||||||||||||||||||||||||||||||||||||||||||||
| Geses -46.921301 |
Deses -44.966300 |
Ases -43.011299 |
Eses -41.056298 |
Bes -39.101297 |
Fes -37.146297 |
Ces -35.191296 |
Ges -33.236295 |
Des -31.281294 |
As -29.326293 |
Es -27.371292 |
B -25.416291 |
F -23.461290 |
C -21.506290 |
G -19.551289 |
D -17.596288 |
A -15.641287 |
E -13.686286 |
H -11.731285 |
Fis -9.776284 |
Cis -7.821284 |
Gis -5.866283 |
Dis -3.911282 |
Ais -1.956281 |
Eis -0.001280 |
His 1.953721 |
Fisis 3.908722 |
Cisis 5.863723 |
Gisis 7.818723 |
Disis 9.773724 |
Aisis 11.728725 |
Eisis 13.683726 |
Hisis 15.638727 |
|||||||||||||||||||||||||||||||||||||||||
| Beses -31.280014 |
Feses -29.325013 |
Ceses -27.370012 |
Geses -25.415011 |
Deses -23.460010 |
Ases -21.505010 |
Eses -19.550009 |
Bes -17.595008 |
Fes -15.640007 |
Ces -13.685006 |
Ges -11.730005 |
Des -9.775004 |
As -7.820003 |
Es -5.865003 |
B -3.910002 |
F -1.955001 |
C 0.000000 |
G 1.955001 |
D 3.910002 |
A 5.865003 |
E 7.820003 |
H 9.775004 |
Fis 11.730005 |
Cis 13.685006 |
Gis 15.640007 |
Dis 17.595008 |
Ais 19.550009 |
Eis 21.505010 |
His 23.460010 |
Fisis 25.415011 |
Cisis 27.370012 |
Gisis 29.325013 |
Disis 31.280014 |
Aisis 33.235015 |
Eisis 35.190016 |
Hisis 37.145016 |
||||||||||||||||||||||||||||||||||||||
| Beses -9.773724 |
Feses -7.818723 |
Ceses -5.863723 |
Geses -3.908722 |
Deses -1.953721 |
Ases 0.001280 |
Eses 1.956281 |
Bes 3.911282 |
Fes 5.866283 |
Ces 7.821284 |
Ges 9.776284 |
Des 11.731285 |
As 13.686286 |
Es 15.641287 |
B 17.596288 |
F 19.551289 |
C 21.506290 |
G 23.461290 |
D 25.416291 |
A 27.371292 |
E 29.326293 |
H 31.281294 |
Fis 33.236295 |
Cis 35.191296 |
Gis 37.146297 |
Dis 39.101297 |
Ais 41.056298 |
Eis 43.011299 |
His 44.966300 |
Fisis 46.921301 |
Cisis 48.876302 |
Gisis 50.831303 |
Disis 52.786303 |
|||||||||||||||||||||||||||||||||||||||||
| Beses 11.732565 |
Feses 13.687566 |
Ceses 15.642567 |
Geses 17.597568 |
Deses 19.552569 |
Ases 21.507570 |
Eses 23.462571 |
Bes 25.417571 |
Fes 27.372572 |
Ces 29.327573 |
Ges 31.282574 |
Des 33.237575 |
As 35.192576 |
Es 37.147577 |
B 39.102577 |
F 41.057578 |
C 43.012579 |
G 44.967580 |
D 46.922581 |
A 48.877582 |
E 50.832583 |
H 52.787584 |
Fis 54.742584 |
Cis 56.697585 |
Gis 58.652586 |
Dis 60.607587 |
Ais 62.562588 |
Eis 64.517589 |
His 66.472590 |
|||||||||||||||||||||||||||||||||||||||||||||
| Beses 33.238855 |
Feses 35.193856 |
Ceses 37.148857 |
Geses 39.103858 |
Deses 41.058858 |
Ases 43.013859 |
Eses 44.968860 |
Bes 46.923861 |
Fes 48.878862 |
Ces 50.833863 |
Ges 52.788864 |
Des 54.743864 |
As 56.698865 |
Es 58.653866 |
B 60.608867 |
F 62.563868 |
C 64.518869 |
G 66.473870 |
D 68.428871 |
A 70.383871 |
E 72.338872 |
H 74.293873 |
Fis 76.248874 |
Cis 78.203875 |
Gis 80.158876 |
Dis 82.113877 |
||||||||||||||||||||||||||||||||||||||||||||||||
| Beses 54.745145 |
Feses 56.700145 |
Ceses 58.655146 |
Geses 60.610147 |
Deses 62.565148 |
Ases 64.520149 |
Eses 66.475150 |
Bes 68.430151 |
Fes 70.385151 |
Ces 72.340152 |
Ges 74.295153 |
Des 76.250154 |
As 78.205155 |
Es 80.160156 |
B 82.115157 |
F 84.070158 |
C 86.025158 |
G 87.980159 |
D 89.935160 |
A 91.890161 |
E 93.845162 |
H 95.800163 |
||||||||||||||||||||||||||||||||||||||||||||||||||||
| Beses 76.251434 |
Feses 78.206435 |
Ceses 80.161436 |
Geses 82.116437 |
Deses 84.071438 |
Ases 86.026438 |
Eses 87.981439 |
Bes 89.936440 |
Fes 91.891441 |
Ces 93.846442 |
Ges 95.801443 |
Des 97.756444 |
As 99.711445 |
Es 101.666445 |
B 103.621446 |
F 105.576447 |
C 107.531448 |
G 109.486449 |
D 111.441450 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Beses 97.757724 |
Feses 99.712725 |
Ceses 101.667725 |
Geses 103.622726 |
Deses 105.577727 |
Ases 107.532728 |
Eses 109.487729 |
Bes 111.442730 |
Fes 113.397731 |
Ces 115.352732 |
Ges 117.307732 |
Des 119.262733 |
As 121.217734 |
Es 123.172735 |
B 125.127736 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Beses 119.264013 |
Feses 121.219014 |
Ceses 123.174015 |
Geses 125.129016 |
Deses 127.084017 |
Ases 129.039018 |
Eses 130.994019 |
Bes 132.949019 |
Fes 134.904020 |
Ces 136.859021 |
Ges 138.814022 |
Des 140.769023 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Beses 140.770303 |
Feses 142.725304 |
Ceses 144.680305 |
Geses 146.635306 |
Deses 148.590306 |
Ases 150.545307 |
Eses 152.500308 |
Bes 154.455309 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Beses 162.276593 |
Feses 164.231593 |
Ceses 166.186594 |
Geses 168.141595 |
Deses 170.096596 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Beses 183.782882 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
上の表は、C言語による次のプログラムに出力させた。 これは、 『すのものの「純正律について」(その2)』 に載せたプログラムの一部を変更したものである。 文がコメントになっている行が三行あるが、 最初の二行は「その2」にあったものをコメント化したものであり、 最後の一行は、「その4」で示すプログラムで使われる行である。
付)以下のプログラムは、LI と CO の値を変えてコンパイルすると正しい結果が得られなかったバグを、 2010-06-21 (2) に修正したものである。
#include <stdio.h>
#include <math.h> /* log10, floor */
#define LIN 21 /* 行の数(変えるとプログラム自体にも手直しが必要) */
#define COL 74 /* 列の数(変えるとプログラム自体にも手直しが必要) */
#define LI 10 /* 周波数 1 を何行めにおくか(変えてよい) */
#define CO 33 /* 周波数 1 を何列めにおくか(変えてよい) */
double val[2]; /* 分子、分母 */
char* name[] = {"Beses",
"Feses", "Ceses", "Geses", "Deses", "Ases", "Eses", "Bes", \
"Fes", "Ces", "Ges", "Des", "As", "Es", "B", \
"F", "C", "G", "D", "A", "E", "H", \
"Fis", "Cis", "Gis", "Dis", "Ais", "Eis", "His", \
"Fisis", "Cisis", "Gisis", "Disis", "Aisis", "Eisis", "Hisis" };
char* color[] = { "ffffdd", "eeddff", "ddffdd", "ffddee", "ddffff", "ffeedd", \
"ddddff", "eeffdd", "ffddff", "ddffee", "ffdddd", "ddeeff" };
/* (平均律で)As, Es, B, F, C, G; D, A, E, H, Fis, Cis の地の色(変えてよい) */
void standardize(double* a);
double power(double base, int n);
main() {
int i, j, n;
double bend; /* 半音を 1 としたときの値 */
printf("<html><body>\n<table border=\"1\">\n");
printf("<tr>\n");
for (j = 0; j < COL; j++) {
printf("\t<td><font color=\"white\">#####</font></td>\n");
}
printf("</tr>\n");
for (i = 0; i < LIN; i++) {
printf("<tr align=\"center\">\n");
if (i <= LIN / 2) {
if (i % 2 == 0) {
printf("\t<td> </td>\n"); j = 1;
} else {
j = 0;
}
} else {
printf("\t<td colspan=\"%d\"> </td>\n", 7*i - COL + 5); j = 7*i - COL + 5;
}
for ( ; j < 7*i + 2 && j < COL - 1; j += 2) {
if (i <= LI) {
val[0] = power(5, LI - i); val[1] = 1;
} else {
val[0] = 1; val[1] = power(5, i - LI);
}
if (i + j < LI + CO) {
val[1] *= power(3, ((LI + CO) - (i + j) + 1)/2);
} else {
val[0] *= power(3, ((i + j) - (LI + CO))/2);
}
n = 35 - (7*i+1)/2 + j/2; /* この値で音名が決まる */
standardize(val);
printf("\t<td colspan=\"2\" bgcolor=\"#%s\">", color[n%12]);
/* printf("%s<br>%.0f/%.0f<br>", name[n], val[0], val[1]); */
/* printf("%f</td>\n", log10(val[0]/val[1])/log10(2)*1200); */
printf("%s<br>", name[n]);
bend = log10(val[0]/val[1])/log10(2)*12 - (7*n+7*(COL-CO)/2+4*LI+5)%12;
if (bend > 6) {
bend -= 12; /* Cis の 120 セント下、など */
} else if (bend < -6) {
bend += 12; /* H の 120 セント上、など */
}
if (bend <= -2 || bend >= 2) {
printf("-</td>\n");
} else {
printf("%f</td>\n", bend*100);
/* printf("%f</td>\n", bend * 4096 + 8192); */
}
}
if (j <= COL-1) {
if (COL-1-j > 1) {
printf("\t<td colspan=\"%d\"> </td>\n", COL-j);
} else {
printf("\t<td> </td>\n");
}
}
printf("</tr>\n");
}
printf("</table>\n");
}
/* a[] を分数とみたとき、1 以上 2 未満に規格化する */
void standardize(double* a) {
while (a[0] < a[1]) {
if (floor(a[1] / 2) == a[1] / 2) {
a[1] /= 2;
} else {
a[0] *= 2;
}
}
while (a[0] / 2 >= a[1]) {
if (floor(a[0] / 2) == a[0] / 2) {
a[0] /= 2;
} else {
a[1] *= 2;
}
}
}
/* base の n 乗を返す。K&R2 にあるのとほぼ同じ */
double power(double base, int n) {
int i;
double p;
p = 1;
for (i = 0; i < n; i++) {
p *= base;
}
return p;
}