すのものの「純正律について」(その7)

※ 検索エンジンから直接このページに来られたかたには、まず 『すのものの「純正律について」』 をお読みになることをおすすめします。

※ これは、ピッチベンドが 100/4096 セント単位でかかると仮定した場合のものである。 実際の PC ではピッチベンドは 1 セント単位でしかかからないので、 「すのものの「純正律について」(その8)」 を利用することをおすすめする。

すのものの「純正律について」(その2)」と 「すのものの「純正律について」(その6)」 を一つにし、使いやすくしてみた。

各マスの上段に太文字で書かれているのは音名である。 中段は、ある C の周波数を 1/1 としたときの周波数。 下段の小かっこの中は音高をセントを単位としてかいたもの。 その右の太字で書かれた数値は、 mml 言語で、ピッチベンドの際、BW の次に書くべき数値である。 その右の大かっこの中の数値は、 その音が、 左斜め上の一つ左の音を根音とする属七の和音の第七音として使われるときに BW の次に書くべき数値である。

この表だけを見て、 mml2 におけるピッチベンドで純正律を実現してみようと考える人のために、 ごく簡単に使い方を書いておく。 まず、左上端の Gisis に注目しつつ、 Geses が見えるところまで 縦にスクロールする。 その右下に Beses が見える。 その行を見つつ横にスクロールしてゆくと、1/1 と書かれた C が見つかる。 これが、基準となる C の音である。

この表においては、どこでも、右に一マス進むと完全五度あがる。 右上に一マス進むと長三度あがる。 右下に一マス進むと短三度あがる。 よって、 「品」の字の形をなす三つの音は長三和音をなす。 それを上下逆にした形をなす三つの音は短三和音をなす。 属七の和音については、「品」型をなす三つの音に、 その右下のマスの大かっこに入れた数値を BW の引数にとった音を加えればよい。

############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# ############# #############
  Hisis
20000000000/10460353203
(1122.082120) 904 [-]
 
Gisis
16000000000/10460353203
(735.768407) 1465 [-]
Disis
4000000000/3486784401
(237.723407) 1545 [-]
Aisis
2000000000/1162261467
(939.678408) 1625 [-]
Eisis
500000000/387420489
(441.633409) 1705 [-]
Hisis
250000000/129140163
(1143.588410) 1785 [-]
 
  His
6400000000/3486784401
(1051.409694) 2106 [108]
Fisis
1600000000/1162261467
(553.364694) 2186 [188]
Cisis
400000000/387420489
(55.319695) 2266 [268]
Gisis
200000000/129140163
(757.274696) 2346 [348]
Disis
50000000/43046721
(259.229697) 2426 [428]
Aisis
25000000/14348907
(961.184698) 2506 [508]
Eisis
6250000/4782969
(463.139699) 2586 [589]
Hisis
3125000/1594323
(1165.094700) 2666 [669]
 
Gis
5120000000/3486784401
(665.095980) 2666 [669]
Dis
1280000000/1162261467
(167.050981) 2746 [749]
Ais
640000000/387420489
(869.005981) 2826 [829]
Eis
160000000/129140163
(370.960982) 2907 [909]
His
80000000/43046721
(1072.915983) 2987 [989]
Fisis
20000000/14348907
(574.870984) 3067 [1069]
Cisis
5000000/4782969
(76.825985) 3147 [1149]
Gisis
2500000/1594323
(778.780986) 3227 [1229]
Disis
625000/531441
(280.735987) 3307 [1309]
Aisis
312500/177147
(982.690988) 3387 [1389]
Eisis
78125/59049
(484.645988) 3467 [1469]
Hisis
78125/39366
(1186.600989) 3547 [1550]
 
  H
2048000000/1162261467
(980.737267) 3307 [1309]
Fis
512000000/387420489
(482.692268) 3387 [1389]
Cis
256000000/129140163
(1184.647268) 3467 [1470]
Gis
64000000/43046721
(686.602269) 3547 [1550]
Dis
16000000/14348907
(188.557270) 3627 [1630]
Ais
8000000/4782969
(890.512271) 3707 [1710]
Eis
2000000/1594323
(392.467272) 3787 [1790]
His
1000000/531441
(1094.422273) 3868 [1870]
Fisis
250000/177147
(596.377274) 3948 [1950]
Cisis
62500/59049
(98.332275) 4028 [2030]
Gisis
31250/19683
(800.287275) 4108 [2110]
Disis
15625/13122
(302.242276) 4188 [2190]
Aisis
15625/8748
(1004.197277) 4268 [2270]
Eisis
15625/11664
(506.152278) 4348 [2350]
Hisis
15625/15552
(8.107279) 4428 [2430]
 
G
1638400000/1162261467
(594.423553) 3868 [1870]
D
409600000/387420489
(96.378554) 3948 [1950]
A
204800000/129140163
(798.333555) 4028 [2030]
E
51200000/43046721
(300.288555) 4108 [2110]
H
25600000/14348907
(1002.243556) 4188 [2190]
Fis
6400000/4782969
(504.198557) 4268 [2270]
Cis
1600000/1594323
(6.153558) 4348 [2350]
Gis
800000/531441
(708.108559) 4428 [2430]
Dis
200000/177147
(210.063560) 4508 [2511]
Ais
100000/59049
(912.018561) 4588 [2591]
Eis
25000/19683
(413.973562) 4668 [2671]
His
12500/6561
(1115.928562) 4748 [2751]
Fisis
3125/2187
(617.883563) 4829 [2831]
Cisis
3125/2916
(119.838564) 4909 [2911]
Gisis
3125/1944
(821.793565) 4989 [2991]
Disis
3125/2592
(323.748566) 5069 [3071]
Aisis
3125/1728
(1025.703567) 5149 [3151]
Eisis
3125/2304
(527.658568) 5229 [3231]
Hisis
3125/3072
(29.613568) 5309 [3311]
 
  B
655360000/387420489
(910.064840) 4508 [2511]
F
163840000/129140163
(412.019841) 4588 [2591]
C
81920000/43046721
(1113.974842) 4668 [2671]
G
20480000/14348907
(615.929842) 4748 [2751]
D
5120000/4782969
(117.884843) 4829 [2831]
A
2560000/1594323
(819.839844) 4909 [2911]
E
640000/531441
(321.794845) 4989 [2991]
H
320000/177147
(1023.749846) 5069 [3071]
Fis
80000/59049
(525.704847) 5149 [3151]
Cis
20000/19683
(27.659848) 5229 [3231]
Gis
10000/6561
(729.614849) 5309 [3311]
Dis
2500/2187
(231.569849) 5389 [3391]
Ais
1250/729
(933.524850) 5469 [3472]
Eis
625/486
(435.479851) 5549 [3552]
His
625/324
(1137.434852) 5629 [3632]
Fisis
625/432
(639.389853) 5709 [3712]
Cisis
625/576
(141.344854) 5789 [3792]
Gisis
625/384
(843.299855) 5870 [3872]
Disis
625/512
(345.254855) 5950 [3952]
Aisis
1875/1024
(1047.209856) 6030 [4032]
Eisis
5625/4096
(549.164857) 6110 [4112]
Hisis
16875/16384
(51.119858) 6190 [4192]
 
Ges
524288000/387420489
(523.751126) 5069 [3071]
Des
131072000/129140163
(25.706127) 5149 [3151]
As
65536000/43046721
(727.661128) 5229 [3231]
Es
16384000/14348907
(229.616129) 5309 [3311]
B
8192000/4782969
(931.571129) 5389 [3392]
F
2048000/1594323
(433.526130) 5469 [3472]
C
1024000/531441
(1135.481131) 5549 [3552]
G
256000/177147
(637.436132) 5629 [3632]
D
64000/59049
(139.391133) 5709 [3712]
A
32000/19683
(841.346134) 5790 [3792]
E
8000/6561
(343.301135) 5870 [3872]
H
4000/2187
(1045.256136) 5950 [3952]
Fis
1000/729
(547.211136) 6030 [4032]
Cis
250/243
(49.166137) 6110 [4112]
Gis
125/81
(751.121138) 6190 [4192]
Dis
125/108
(253.076139) 6270 [4272]
Ais
125/72
(955.031140) 6350 [4352]
Eis
125/96
(456.986141) 6430 [4433]
His
125/64
(1158.941142) 6510 [4513]
Fisis
375/256
(660.896142) 6590 [4593]
Cisis
1125/1024
(162.851143) 6670 [4673]
Gisis
3375/2048
(864.806144) 6750 [4753]
Disis
10125/8192
(366.761145) 6831 [4833]
Aisis
30375/16384
(1068.716146) 6911 [4913]
Eisis
91125/65536
(570.671147) 6991 [4993]
Hisis
273375/262144
(72.626148) 7071 [5073]
 
  Bes
209715200/129140163
(839.392413) 5710 [3712]
Fes
52428800/43046721
(341.347414) 5790 [3792]
Ces
26214400/14348907
(1043.302415) 5870 [3872]
Ges
6553600/4782969
(545.257416) 5950 [3952]
Des
1638400/1594323
(47.212416) 6030 [4032]
As
819200/531441
(749.167417) 6110 [4112]
Es
204800/177147
(251.122418) 6190 [4192]
B
102400/59049
(953.077419) 6270 [4272]
F
25600/19683
(455.032420) 6350 [4352]
C
12800/6561
(1156.987421) 6430 [4433]
G
3200/2187
(658.942422) 6510 [4513]
D
800/729
(160.897423) 6590 [4593]
A
400/243
(862.852423) 6670 [4673]
E
100/81
(364.807424) 6751 [4753]
H
50/27
(1066.762425) 6831 [4833]
Fis
25/18
(568.717426) 6911 [4913]
Cis
25/24
(70.672427) 6991 [4993]
Gis
25/16
(772.627428) 7071 [5073]
Dis
75/64
(274.582429) 7151 [5153]
Ais
225/128
(976.537429) 7231 [5233]
Eis
675/512
(478.492430) 7311 [5313]
His
2025/1024
(1180.447431) 7391 [5393]
Fisis
6075/4096
(682.402432) 7471 [5474]
Cisis
18225/16384
(184.357433) 7551 [5554]
Gisis
54675/32768
(886.312434) 7631 [5634]
Disis
164025/131072
(388.267435) 7711 [5714]
Aisis
492075/262144
(1090.222436) 7792 [5794]
Eisis
1476225/1048576
(592.177436) 7872 [5874]
Hisis
4428675/4194304
(94.132437) 7952 [5954]
 
Geses
167772160/129140163
(453.078699) 6270 [4272]
Deses
83886080/43046721
(1155.033700) 6350 [4353]
Ases
20971520/14348907
(656.988701) 6430 [4433]
Eses
5242880/4782969
(158.943702) 6510 [4513]
Bes
2621440/1594323
(860.898703) 6590 [4593]
Fes
655360/531441
(362.853703) 6670 [4673]
Ces
327680/177147
(1064.808704) 6751 [4753]
Ges
81920/59049
(566.763705) 6831 [4833]
Des
20480/19683
(68.718706) 6911 [4913]
As
10240/6561
(770.673707) 6991 [4993]
Es
2560/2187
(272.628708) 7071 [5073]
B
1280/729
(974.583709) 7151 [5153]
F
320/243
(476.538710) 7231 [5233]
C
160/81
(1178.493710) 7311 [5313]
G
40/27
(680.448711) 7391 [5394]
D
10/9
(182.403712) 7471 [5474]
A
5/3
(884.358713) 7551 [5554]
E
5/4
(386.313714) 7631 [5634]
H
15/8
(1088.268715) 7711 [5714]
Fis
45/32
(590.223716) 7792 [5794]
Cis
135/128
(92.178716) 7872 [5874]
Gis
405/256
(794.133717) 7952 [5954]
Dis
1215/1024
(296.088718) 8032 [6034]
Ais
3645/2048
(998.043719) 8112 [6114]
Eis
10935/8192
(499.998720) 8192 [6194]
His
32805/32768
(1.953721) 8272 [6274]
Fisis
98415/65536
(703.908722) 8352 [6354]
Cisis
295245/262144
(205.863723) 8432 [6435]
Gisis
885735/524288
(907.818723) 8512 [6515]
Disis
2657205/2097152
(409.773724) 8592 [6595]
Aisis
7971615/4194304
(1111.728725) 8672 [6675]
Eisis
23914845/16777216
(613.683726) 8752 [6755]
Hisis
71744535/67108864
(115.638727) 8833 [6835]
 
  Beses
67108864/43046721
(768.719986) 6911 [4913]
Feses
16777216/14348907
(270.674987) 6991 [4993]
Ceses
8388608/4782969
(972.629988) 7071 [5073]
Geses
2097152/1594323
(474.584989) 7151 [5153]
Deses
1048576/531441
(1176.539990) 7231 [5233]
Ases
262144/177147
(678.494990) 7311 [5314]
Eses
65536/59049
(180.449991) 7391 [5394]
Bes
32768/19683
(882.404992) 7471 [5474]
Fes
8192/6561
(384.359993) 7551 [5554]
Ces
4096/2187
(1086.314994) 7631 [5634]
Ges
1024/729
(588.269995) 7712 [5714]
Des
256/243
(90.224996) 7792 [5794]
As
128/81
(792.179997) 7872 [5874]
Es
32/27
(294.134997) 7952 [5954]
B
16/9
(996.089998) 8032 [6034]
F
4/3
(498.044999) 8112 [6114]
C
1/1
(0.000000) 8192 [6194]
G
3/2
(701.955001) 8272 [6274]
D
9/8
(203.910002) 8352 [6355]
A
27/16
(905.865003) 8432 [6435]
E
81/64
(407.820003) 8512 [6515]
H
243/128
(1109.775004) 8592 [6595]
Fis
729/512
(611.730005) 8672 [6675]
Cis
2187/2048
(113.685006) 8753 [6755]
Gis
6561/4096
(815.640007) 8833 [6835]
Dis
19683/16384
(317.595008) 8913 [6915]
Ais
59049/32768
(1019.550009) 8993 [6995]
Eis
177147/131072
(521.505010) 9073 [7075]
His
531441/524288
(23.460010) 9153 [7155]
Fisis
1594323/1048576
(725.415011) 9233 [7235]
Cisis
4782969/4194304
(227.370012) 9313 [7315]
Gisis
14348907/8388608
(929.325013) 9393 [7396]
Disis
43046721/33554432
(431.280014) 9473 [7476]
Aisis
129140163/67108864
(1133.235015) 9553 [7556]
Eisis
387420489/268435456
(635.190016) 9633 [7636]
Hisis
1162261467/1073741824
(137.145016) 9713 [7716]
 
  Beses
4194304/2657205
(790.226276) 7792 [5794]
Feses
1048576/885735
(292.181277) 7872 [5874]
Ceses
524288/295245
(994.136277) 7952 [5954]
Geses
131072/98415
(496.091278) 8032 [6034]
Deses
65536/32805
(1198.046279) 8112 [6114]
Ases
16384/10935
(700.001280) 8192 [6194]
Eses
4096/3645
(201.956281) 8272 [6274]
Bes
2048/1215
(903.911282) 8352 [6355]
Fes
512/405
(405.866283) 8432 [6435]
Ces
256/135
(1107.821284) 8512 [6515]
Ges
64/45
(609.776284) 8592 [6595]
Des
16/15
(111.731285) 8673 [6675]
As
8/5
(813.686286) 8753 [6755]
Es
6/5
(315.641287) 8833 [6835]
B
9/5
(1017.596288) 8913 [6915]
F
27/20
(519.551289) 8993 [6995]
C
81/80
(21.506290) 9073 [7075]
G
243/160
(723.461290) 9153 [7155]
D
729/640
(225.416291) 9233 [7235]
A
2187/1280
(927.371292) 9313 [7315]
E
6561/5120
(429.326293) 9393 [7396]
H
19683/10240
(1131.281294) 9473 [7476]
Fis
59049/40960
(633.236295) 9553 [7556]
Cis
177147/163840
(135.191296) 9633 [7636]
Gis
531441/327680
(837.146297) 9714 [7716]
Dis
1594323/1310720
(339.101297) 9794 [7796]
Ais
4782969/2621440
(1041.056298) 9874 [7876]
Eis
14348907/10485760
(543.011299) 9954 [7956]
His
43046721/41943040
(44.966300) 10034 [8036]
Fisis
129140163/83886080
(746.921301) 10114 [8116]
Cisis
387420489/335544320
(248.876302) 10194 [8196]
Gisis
1162261467/671088640
(950.831303) 10274 [8276]
Disis
3486784401/2684354560
(452.786303) 10354 [8356]
  Beses
262144/164025
(811.732565) 8673 [6675]
Feses
65536/54675
(313.687566) 8753 [6755]
Ceses
32768/18225
(1015.642567) 8833 [6835]
Geses
8192/6075
(517.597568) 8913 [6915]
Deses
2048/2025
(19.552569) 8993 [6995]
Ases
1024/675
(721.507570) 9073 [7075]
Eses
256/225
(223.462571) 9153 [7155]
Bes
128/75
(925.417571) 9233 [7235]
Fes
32/25
(427.372572) 9313 [7316]
Ces
48/25
(1129.327573) 9393 [7396]
Ges
36/25
(631.282574) 9473 [7476]
Des
27/25
(133.237575) 9553 [7556]
As
81/50
(835.192576) 9633 [7636]
Es
243/200
(337.147577) 9714 [7716]
B
729/400
(1039.102577) 9794 [7796]
F
2187/1600
(541.057578) 9874 [7876]
C
6561/6400
(43.012579) 9954 [7956]
G
19683/12800
(744.967580) 10034 [8036]
D
59049/51200
(246.922581) 10114 [8116]
A
177147/102400
(948.877582) 10194 [8196]
E
531441/409600
(450.832583) 10274 [8276]
H
1594323/819200
(1152.787584) 10354 [8357]
Fis
4782969/3276800
(654.742584) 10434 [8437]
Cis
14348907/13107200
(156.697585) 10514 [8517]
Gis
43046721/26214400
(858.652586) 10594 [8597]
Dis
129140163/104857600
(360.607587) 10674 [8677]
Ais
387420489/209715200
(1062.562588) 10755 [8757]
Eis
1162261467/838860800
(564.517589) 10835 [8837]
His
3486784401/3355443200
(66.472590) 10915 [8917]
 
  Beses
16384/10125
(833.238855) 9553 [7556]
Feses
4096/3375
(335.193856) 9634 [7636]
Ceses
2048/1125
(1037.148857) 9714 [7716]
Geses
512/375
(539.103858) 9794 [7796]
Deses
128/125
(41.058858) 9874 [7876]
Ases
192/125
(743.013859) 9954 [7956]
Eses
144/125
(244.968860) 10034 [8036]
Bes
216/125
(946.923861) 10114 [8116]
Fes
162/125
(448.878862) 10194 [8196]
Ces
243/125
(1150.833863) 10274 [8277]
Ges
729/500
(652.788864) 10354 [8357]
Des
2187/2000
(154.743864) 10434 [8437]
As
6561/4000
(856.698865) 10514 [8517]
Es
19683/16000
(358.653866) 10594 [8597]
B
59049/32000
(1060.608867) 10675 [8677]
F
177147/128000
(562.563868) 10755 [8757]
C
531441/512000
(64.518869) 10835 [8837]
G
1594323/1024000
(766.473870) 10915 [8917]
D
4782969/4096000
(268.428871) 10995 [8997]
A
14348907/8192000
(970.383871) 11075 [9077]
E
43046721/32768000
(472.338872) 11155 [9157]
H
129140163/65536000
(1174.293873) 11235 [9237]
Fis
387420489/262144000
(676.248874) 11315 [9318]
Cis
1162261467/1048576000
(178.203875) 11395 [9398]
Gis
3486784401/2097152000
(880.158876) 11475 [9478]
Dis
10460353203/8388608000
(382.113877) 11555 [9558]
  Beses
1024/625
(854.745145) 10434 [8437]
Feses
768/625
(356.700145) 10514 [8517]
Ceses
1152/625
(1058.655146) 10595 [8597]
Geses
864/625
(560.610147) 10675 [8677]
Deses
648/625
(62.565148) 10755 [8757]
Ases
972/625
(764.520149) 10835 [8837]
Eses
729/625
(266.475150) 10915 [8917]
Bes
2187/1250
(968.430151) 10995 [8997]
Fes
6561/5000
(470.385151) 11075 [9077]
Ces
19683/10000
(1172.340152) 11155 [9157]
Ges
59049/40000
(674.295153) 11235 [9237]
Des
177147/160000
(176.250154) 11315 [9318]
As
531441/320000
(878.205155) 11395 [9398]
Es
1594323/1280000
(380.160156) 11475 [9478]
B
4782969/2560000
(1082.115157) 11555 [9558]
F
14348907/10240000
(584.070158) 11636 [9638]
C
43046721/40960000
(86.025158) 11716 [9718]
G
129140163/81920000
(787.980159) 11796 [9798]
D
387420489/327680000
(289.935160) 11876 [9878]
A
1162261467/655360000
(991.890161) 11956 [9958]
E
3486784401/2621440000
(493.845162) 12036 [10038]
H
10460353203/5242880000
(1195.800163) 12116 [10118]
 
  Beses
5184/3125
(876.251434) 11315 [9318]
Feses
3888/3125
(378.206435) 11395 [9398]
Ceses
5832/3125
(1080.161436) 11475 [9478]
Geses
4374/3125
(582.116437) 11555 [9558]
Deses
6561/6250
(84.071438) 11636 [9638]
Ases
19683/12500
(786.026438) 11716 [9718]
Eses
59049/50000
(287.981439) 11796 [9798]
Bes
177147/100000
(989.936440) 11876 [9878]
Fes
531441/400000
(491.891441) 11956 [9958]
Ces
1594323/800000
(1193.846442) 12036 [10038]
Ges
4782969/3200000
(695.801443) 12116 [10118]
Des
14348907/12800000
(197.756444) 12196 [10198]
As
43046721/25600000
(899.711445) 12276 [10279]
Es
129140163/102400000
(401.666445) 12356 [10359]
B
387420489/204800000
(1103.621446) 12436 [10439]
F
1162261467/819200000
(605.576447) 12516 [10519]
C
3486784401/3276800000
(107.531448) 12596 [10599]
G
10460353203/6553600000
(809.486449) 12677 [10679]
D
31381059609/26214400000
(311.441450) 12757 [10759]
  Beses
26244/15625
(897.757724) 12196 [10199]
Feses
19683/15625
(399.712725) 12276 [10279]
Ceses
59049/31250
(1101.667725) 12356 [10359]
Geses
177147/125000
(603.622726) 12436 [10439]
Deses
531441/500000
(105.577727) 12516 [10519]
Ases
1594323/1000000
(807.532728) 12597 [10599]
Eses
4782969/4000000
(309.487729) 12677 [10679]
Bes
14348907/8000000
(1011.442730) 12757 [10759]
Fes
43046721/32000000
(513.397731) 12837 [10839]
Ces
129140163/128000000
(15.352732) 12917 [10919]
Ges
387420489/256000000
(717.307732) 12997 [10999]
Des
1162261467/1024000000
(219.262733) 13077 [11079]
As
3486784401/2048000000
(921.217734) 13157 [11159]
Es
10460353203/8192000000
(423.172735) 13237 [11240]
B
31381059609/16384000000
(1125.127736) 13317 [11320]
 
  Beses
531441/312500
(919.264013) 13077 [11079]
Feses
1594323/1250000
(421.219014) 13157 [11159]
Ceses
4782969/2500000
(1123.174015) 13237 [11240]
Geses
14348907/10000000
(625.129016) 13317 [11320]
Deses
43046721/40000000
(127.084017) 13397 [11400]
Ases
129140163/80000000
(829.039018) 13477 [11480]
Eses
387420489/320000000
(330.994019) 13558 [11560]
Bes
1162261467/640000000
(1032.949019) 13638 [11640]
Fes
3486784401/2560000000
(534.904020) 13718 [11720]
Ces
10460353203/10240000000
(36.859021) 13798 [11800]
Ges
31381059609/20480000000
(738.814022) 13878 [11880]
Des
94143178827/81920000000
(240.769023) 13958 [11960]
  Beses
43046721/25000000
(940.770303) 13958 [11960]
Feses
129140163/100000000
(442.725304) 14038 [12040]
Ceses
387420489/200000000
(1144.680305) 14118 [12120]
Geses
1162261467/800000000
(646.635306) 14198 [12201]
Deses
3486784401/3200000000
(148.590306) 14278 [12281]
Ases
10460353203/6400000000
(850.545307) 14358 [12361]
Eses
31381059609/25600000000
(352.500308) 14438 [12441]
Bes
94143178827/51200000000
(1054.455309) 14518 [12521]
 
  Beses
3486784401/2000000000
(962.276593) 14839 [12841]
Feses
10460353203/8000000000
(464.231593) 14919 [12921]
Ceses
31381059609/16000000000
(1166.186594) 14999 [13001]
Geses
94143178827/64000000000
(668.141595) 15079 [13081]
Deses
282429536481/256000000000
(170.096596) 15159 [13162]
  Beses
282429536481/160000000000
(983.782882) 15720 [13722]
 

これは、C言語による、以下のプログラムに出力させたものである。

#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>&nbsp;</td>\n"); j = 1;
            } else {
                j = 0;
            }
        } else {
            printf("\t<td colspan=\"%d\">&nbsp;</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("<b>%s</b><br>%.0f/%.0f<br>", name[n], val[0], val[1]);
            printf("(%f) ", 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("-");
            } else {
/*              printf("%f</td>\n", bend*100); */
                printf("<b>%.0f</b> ", bend * 4096 + 8192);
            }
            val[0] *= 35; val[1] *= 9;
            standardize(val);
            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("[%.0f]</td>\n", bend * 4096 + 8192);
            }
        }
        if (j <= COL-1) {
            if (COL-1-j > 1) {
                printf("\t<td colspan=\"%d\">&nbsp;</td>\n", COL-j);
            } else {
                printf("\t<td>&nbsp;</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;
}


すのもの Sunomono