周波数とレジスタの関係

Last-modified: 2010-11-07 (日) 22:50:02

周波数レジスタを知ることの意義

  • ディチューン(Dコマンド)ピッチエンベロープ(@EP定義)ソフトウェアLFO(@MP定義)等の値は「周波数の相対値を指定する」と書いてありますが、実際には周波数ではありません。
    周波数レジスタ値に対する相対値として処理しているのです。(音声周波数と周波数レジスタ値は同じ値ではない)
    そのため周波数レジスタ値の計算式が判れば勘に頼らず記述でるメリットがあります。
     

周波数レジスタ加算前の+-反転

  • 但し例外があります、それは#PITCH-CORRECTION を宣言している場合、FDS・N106・VRC7 では+-反転されません。
    これは FDS・N106・VRC7 では、音声周波数と周波数レジスタ値が比例するため、元々プラス値で高音となるのですが、全音源で一様に+-反転しているため、FDS・N106・VRC7 ではプラス値を指定すると逆に低音となってしまいます、これを回避するための措置として #PITCH-CORRECTION が作られたと考えられます。
    #PITCH-CORRECTION を宣言すれば、全音源で一様にプラス値で高音となります。
     

ファミコンの周波数について

ファミコンの各種音源では、次の周波数を元に音声周波数を作り出しています。

マスタークロック周波数21477272.7272Hz
システムクロック周波数1789772.7272666666666666666666667Hz                  (マスタークロック周波数の1/12)

※以降文章では、少数第5位以下切り落とした値で記述しています。

2A03・MMC5・VRC6・SUNSOFT 5B・FDS

音声周波数から周波数レジスタ値を求める計算

※ここに挙げている計算式はppmckでの式です、他のサウンドドライバやファミコンソフトによっては計算式は少々違う場合があります。

矩形波

音源2A03矩形波・MMC5VRC6矩形波
周波数レジスタbit数11bit(0~2047)12bit(0~4095)
周波数とレジスタの関係反比例

周波数レジスタ値計算式

周波数レジスタ値 = 1789772.7272 ÷ 音声周波数(Hz) ÷ 16

周波数レジスタ値 8以下は発声しない。

三角波

音源2A03三角波
周波数レジスタbit数11bit(0~2047)
周波数とレジスタの関係反比例

周波数レジスタ値計算式

周波数レジスタ値 = 1789772.7272 ÷ 音声周波数(Hz) ÷ 32
  • 1オクターブ低い音声周波数で鳴るため、o4a が 220Hz となります。

VRC6鋸波

音源VRC6鋸波
周波数レジスタbit数12bit(0~4095)
周波数とレジスタの関係反比例

周波数レジスタ値計算式

周波数レジスタ値 = 1789772.7272 ÷ 音声周波数(Hz) ÷ 14

SUNSOFT 5B(FME-7)

音源SUNSOFT 5B
周波数レジスタbit数12bit(0~4095)
周波数とレジスタの関係反比例

周波数レジスタ値計算式

周波数レジスタ値 = 1789772.7272 ÷ 2 ÷ 音声周波数(Hz) ÷ 16

FDS

音源FDS
周波数レジスタbit数12bit(0~4095)
周波数とレジスタの関係比例

周波数レジスタ値計算式

周波数レジスタ値 = 音声周波数(Hz) ÷ 1789772.7272 × 65536 × 64

音声周波数と周波数レジスタ値の関係表

MIDI Note No音声周波数(Hz)o音符2A03 MMC5 VRC6    矩形波VRC6 鋸波FME-7FDSo音符2A03   三角波
MIDI Note No音声周波数(Hz)o音符2A03 MMC5 VRC6    矩形波VRC6 鋸波FME-7FDSo音符2A03   三角波
12712543.859g8.9210.194.4629396.3210g4.46
12611839.829f+9.4510.804.7227746.4310f+4.72
12511175.309f10.0111.445.0026189.1510f5.00
12410548.089e10.6012.125.3024719.2610e5.30
1239956.069d+11.2412.845.6223331.8810d+5.62
1229397.279d11.9013.605.9522022.3610d5.95
1218869.849c+12.6114.416.3120786.3410c+6.31
1208372.019c13.3615.276.6819619.6910c6.68
1197902.138b14.1616.187.0818518.529b7.08
1187458.628a+15.0017.147.5017479.169a+7.50
1177040.008a15.8918.167.9416498.139a7.94
1166644.878g+16.8319.248.4215572.169g+8.42
1156271.928g17.8420.388.9214698.169g8.92
1145919.918f+18.9021.609.4513873.229f+9.45
1135587.658f20.0222.8810.0113094.579f10.01
1125274.048e21.2124.2410.6012359.639e10.60
1114978.038d+22.4725.6811.2411665.949d+11.24
1104698.638d23.8127.2111.9011011.189d11.90
1094434.928c+25.2228.8312.6110393.179c+12.61
1084186.008c26.7230.5413.369809.859c13.36
1073951.067b28.3132.3614.169259.268b14.16
1063729.317a+30.0034.2815.008739.588a+15.00
1053520.007a31.7836.3215.898249.068a15.89
1043322.437g+33.6738.4816.837786.088g+16.83
1033135.967g35.6740.7717.847349.088g17.84
1022959.957f+37.7943.1918.906936.618f+18.90
1012793.827f40.0445.7620.026547.298f20.02
1002637.027e42.4248.4821.216179.828e21.21
992489.017d+44.9451.3622.475832.978d+22.47
982349.317d47.6154.4223.815505.598d23.81
972217.467c+50.4557.6525.225196.588c+25.22
962093.007c53.4561.0826.724904.928c26.72
951975.536b56.6264.7128.314629.637b28.31
941864.656a+59.9968.5630.004369.797a+30.00
931760.006a63.5672.6431.784124.537a31.78
921661.216g+67.3476.9633.673893.047g+33.67
911567.986g71.3481.5335.673674.547g35.67
901479.976f+75.5886.3837.793468.307f+37.79
891396.916f80.0891.5240.043273.647f40.04
881318.516e84.8496.9642.423089.917e42.42
871244.506d+89.88102.7244.942916.487d+44.94
861174.656d95.23108.8347.612752.797d47.61
851108.736c+100.89115.3050.452598.297c+50.45
841046.506c106.89122.1653.452452.467c53.45
83987.765b113.25129.4256.622314.826b56.62
82932.325a+119.98137.1259.992184.896a+59.99
81880.005a127.11145.2763.562062.276a63.56
80830.605g+134.67153.9167.341946.526g+67.34
79783.995g142.68163.0671.341837.276g71.34
78739.985f+151.17172.7675.581734.156f+75.58
77698.455f160.15183.0380.081636.826f80.08
76659.255e169.68193.9284.841544.956e84.84
75622.255d+179.77205.4589.881458.246d+89.88
74587.325d190.46217.6695.231376.406d95.23
73554.365c+201.78230.61100.891299.156c+100.89
72523.255c213.78244.32106.891226.236c106.89
71493.884b226.49258.85113.251157.415b113.25
70466.164a+239.96274.24119.981092.455a+119.98
69440.004a254.23290.55127.111031.135a127.11
68415.304g+269.35307.82134.67973.265g+134.67
67391.994g285.36326.13142.68918.645g142.68
66369.994f+302.33345.52151.17867.085f+151.17
65349.224f320.31366.07160.15818.415f160.15
64329.624e339.36387.83169.68772.485e169.68
63311.124d+359.53410.90179.77729.125d+179.77
62293.664d380.91435.33190.46688.205d190.46
61277.184c+403.56461.22201.78649.575c+201.78
60261.624c427.56488.64213.78613.125c213.78
59246.943b452.98517.70226.49578.704b226.49
58233.083a+479.92548.48239.96546.224a+239.96
57220.003a508.46581.10254.23515.574a254.23
56207.653g+538.69615.65269.35486.634g+269.35
55195.993g570.72652.26285.36459.324g285.36
54184.993f+604.66691.04302.33433.544f+302.33
53174.613f640.62732.13320.31409.214f320.31
52164.813e678.71775.67339.36386.244e339.36
51155.563d+719.07821.79359.53364.564d+359.53
50146.833d761.83870.66380.91344.104d380.91
49138.593c+807.13922.43403.56324.794c+403.56
48130.813c855.12977.28427.56306.564c427.56
47123.472b905.971035.39452.98289.353b452.98
46116.542a+959.841096.96479.92273.113a+479.92
45110.002a1016.921162.19508.46257.783a508.46
44103.822g+1077.391231.30538.69243.313g+538.69
4397.992g1141.451304.51570.72229.663g570.72
4292.492f+1209.321382.08604.66216.773f+604.66
4187.302f1281.231464.27640.62204.603f640.62
4082.402e1357.421551.34678.71193.123e678.71
3977.782d+1438.141643.58719.07182.283d+719.07
3873.412d1523.651741.32761.83172.053d761.83
3769.292c+1614.251844.86807.13162.393c+807.13
3665.402c1710.241954.56855.12153.283c855.12
3561.731b1811.942070.79905.97144.682b905.97
3458.271a+1919.682193.92959.84136.562a+959.84
3355.001a2033.832324.381016.92128.892a1016.92
3251.911g+2154.772462.601077.39121.662g+1077.39
3148.991g2282.902609.031141.45114.832g1141.45
3046.241f+2418.652764.171209.32108.382f+1209.32
2943.651f2562.472928.541281.23102.302f1281.23
2841.201e2714.843102.681357.4296.562e1357.42
2738.891d+2876.273287.171438.1491.142d+1438.14
2636.701d3047.313482.641523.6586.022d1523.65
2534.641c+3228.513689.721614.2581.202c+1614.25
2432.701c3420.493909.131710.2476.642c1710.24
2330.860b3623.884141.571811.9472.341b1811.94
2229.130a+3839.364387.851919.6868.281a+1919.68
2127.500a4067.674648.762033.8364.451a2033.83
2025.950g+4309.544925.192154.7760.831g+2154.77
1924.490g4565.805218.062282.9057.411g2282.90
1823.120f+4837.305528.342418.6554.191f+2418.65
1721.820f5124.945857.072562.4751.151f2562.47
1620.600e5429.686205.352714.8448.281e2714.84
1519.440d+5752.556574.342876.2745.571d+2876.27
1418.350d6094.616965.273047.3143.011d3047.31
1317.320c+6457.027379.453228.5140.601c+3228.51
1216.350c6840.977818.253420.4938.321c3420.49
1115.43-1b7247.768283.153623.8836.170b3623.88
1014.56-1a+7678.738775.693839.3634.140a+3839.36
913.75-1a8135.339297.524067.6732.220a4067.67
812.97-1g+8619.089850.384309.5430.410g+4309.54
712.24-1g9131.6010436.114565.8028.710g4565.80
611.56-1f+9674.5911056.684837.3027.100f+4837.30
510.91-1f10249.8711714.145124.9425.580f5124.94
410.30-1e10859.3612410.705429.6824.140e5429.68
39.72-1d+11505.0913148.685752.5522.790d+5752.55
29.17-1d12189.2213930.546094.6121.510d6094.61
18.66-1c+12914.0314758.896457.0220.300c+6457.02
08.17-1c13681.9415636.506840.9719.160c6840.97
  • 周波数レジスタ値が小さいほど誤差が多くなり音痴になります、この誤差を認識し易いように小数点以下まで表示していますが、周波数レジスタで使用する値は少数第一位を8捨9入した値(※ppmck09aにて確認、他のサウンドドライバでは計算方法が少々違うかも知れません。)です。
  • 文字色:赤はbit数の有効範囲です。
  • VRC6矩形波の場合、文字色:赤文字色:緑がbit数の有効範囲です。
  • o:オクターブ
  • MIDI NoteNoから音声周波数を求める計算式
    音声周波数 = 440 × 2^(( NoteNo - 69) ÷ 12)
    「^」は累乗数

参考例

各音源でディチューンを使いo4a(440Hz)相当を鳴らす

fileTest2A03_MMC5_VRC6_SUNSOFT5B.nsf

#TITLE Test2A03_MMC5_VRC6_SUNSOFT5B
#PITCH-CORRECTION
#EX-VRC6
#EX-FME7
#EX-MMC5
AaNXCO q7
A @2v8 L             D-28 o4b D255 o4a rrrrrrrrrrrr // 2a03矩形波
a @2v8 L rr          D-28 o4b D255 o4a   rrrrrrrrrr // MMC5
N @7v8 L rrrr        D-28 o4b D255 o4a     rrrrrrrr // VRC6矩形波
X @1v11L rrrrrr      D-14 o4b D255 o4a       rrrrrr // SANSOFT 5B
C      L rrrrrrrr    D-14 o5b D255 o5a         rrrr // 2a03三角波
O   v11L rrrrrrrrrr  D-32 o4b D255 o4a           rr // VRC6鋸波

この例では各音源にて、o4b(493.88Hz)の音符をディチューン(Dコマンド)を使用することにより、o4a(440Hz)相当を鳴らすものです。
一致していることの確認のため、直後にo4aも鳴らしています。

ここでディチューン(Dコマンド)に使用している値の求め方を説明します。
o4bとo4aの周波数レジスタ値の差を設定します。
表に周波数レジスタ値が載っているので確認して下さい、
矩形波の場合、o4bの周波数レジスタ値は226.49、o4aの周波数レジスタ値は254.23です。
小数点以下を切り落とし、差を計算すると226-254=-28となります、
この値をディチューン(Dコマンド)に使用するのです、またこの値はピッチエンベロープ(@EP定義)にも使用できます。
他の音源でも計算方法は同じです。
※三角波は1オクターブ低い事に注意して下さい、440Hzはo5aです。

N106

音声周波数から周波数レジスタ値を求める計算

音源N106
周波数レジスタbit数18bit(0~262143)
周波数とレジスタの関係比例

周波数レジスタ値計算式

周波数レジスタ値 = 音声周波数(Hz) × $40000 × 45 × 有効チャンネル数 ×サンプル数 ÷21477272.7272

有効チャンネル数は、#EX-NAMCO106 <num>の値
サンプル数は、使用する音色の波形データのサンプル数
$40000は16進数で、10進数では 262144

  • 8サンプルのときo4aが440Hzとなるように調整されている様です。
  • サンプル数が倍になると、音声周波数は半分となり1オクターブ下がります。
  • サンプル数は2のn乗の数にしておいた方が無難の様です、半端な数だと微妙な周波数ズレがありますし、音階表現がズレているので使いにくい。
  • 有効チャンネル数を減らすと音声周波数が上がります、例えば8チャンネルから4チャンネルに減らした場合、音声周波数は倍になり、1オクターブ上がります。
  • 有効チャンネル数は使用しないチャンネルが有っても、8チャンネルにしておいた方が無難です、他の音源に影響する不具合が確認されております。
  • N106では周波数レジスタ値の変化量が大きいため、ディチューンやピッチエンベロープの数値範囲(-127~127)では十分な変化が望めません、その対策としてppmckではSA<num>コマンドが用意されています。
    SA<num>コマンドではbitシフト量を指定できます、例えば SA5 と指定するとそれ以降、ディチューンやピッチエンベロープの値を5bit左シフト(2の5乗)した値が周波数レジスタ値に加算されます。

音声周波数と周波数レジスタ値の関係表

N106では有効チャンネル数(#EX-NAMCO106 <num>の値)とサンプル数により、音声周波数が同じであっても周波数レジスタ値・オクターブ・音符は変わってきます。

下表では有効チャンネル数(#EX-NAMCO106 <num>の値)を 8 として計算しております。

サンプル数4・8・12・16

MIDI Note No音声周波数(Hz)o音符4     サンプルo音符8     サンプルo音符12     サンプルo音符16     サンプル
MIDI Note No音声周波数(Hz)o音符4     サンプルo音符8     サンプルo音符12     サンプルo音符16     サンプル
12712543.858g2204729g44094510d66141710g881890
12611839.828f+2080989f+41619710c+62429510f+832393
12511175.308f1964199f39283710c58925610f785674
12410548.088e1853949e3707899b55618310e741578
1239956.068d+1749899d+3499789a+52496710d+699956
1229397.278d1651689d3303359a49550310d660671
1218869.848c+1558989c+3117959g+46769310c+623590
1208372.028c1471489c2942959g44144310c588591
1197902.137b1388898b2777789f+4166679b555556
1187458.627a+1310948a+2621879f3932819a+524375
1177040.007a1237368a2474729e3712089a494944
1166644.887g+1167918g+2335829d+3503749g+467165
1156271.937g1102368g2204729d3307099g440945
1145919.917f+1040498f+2080989c+3121479f+416197
1135587.657f982098f1964199c2946289f392837
1125274.047e926978e1853948b2780929e370789
1114978.037d+874958d+1749898a+2624849d+349978
1104698.647d825848d1651688a2477529d330335
1094434.927c+779498c+1558988g+2338469c+311795
1084186.017c735748c1471488g2207229c294295
1073951.076b694447b1388898f+2083338b277778
1063729.316a+655477a+1310948f1966418a+262187
1053520.006a618687a1237368e1856048a247472
1043322.446g+583967g+1167918d+1751878g+233582
1033135.966g551187g1102368d1653548g220472
1022959.966f+520257f+1040498c+1560748f+208098
1012793.836f491057f982098c1473148f196419
1002637.026e463497e926977b1390468e185394
992489.026d+437477d+874957a+1312428d+174989
982349.326d412927d825847a1238768d165168
972217.466c+389747c+779497g+1169238c+155898
962093.006c367877c735747g1103618c147148
951975.535b347226b694447f+1041677b138889
941864.665a+327736a+655477f983207a+131094
931760.005a309346a618687e928027a123736
921661.225g+291986g+583967d+875937g+116791
911567.985g275596g551187d826777g110236
901479.985f+260126f+520257c+780377f+104049
891396.915f245526f491057c736577f98209
881318.515e231746e463496b695237e92697
871244.515d+218746d+437476a+656217d+87495
861174.665d206466d412926a619387d82584
851108.735c+194876c+389746g+584627c+77949
841046.505c183936c367876g551807c73574
83987.774b173615b347226f+520836b69444
82932.334a+163875a+327736f491606a+65547
81880.004a154675a309346e464016a61868
80830.614g+145995g+291986d+437976g+58396
79783.994g137805g275596d413396g55118
78739.994f+130065f+260126c+390186f+52025
77698.464f122765f245526c368286f49105
76659.264e115875e231745b347616e46349
75622.254d+109375d+218745a+328106d+43747
74587.334d103235d206465a309696d41292
73554.374c+97445c+194875g+292316c+38974
72523.254c91975c183935g275906c36787
71493.883b86814b173615f+260425b34722
70466.163a+81934a+163875f245805a+32773
69440.003a77334a154675e232005a30934
68415.303g+72994g+145995d+218985g+29198
67392.003g68904g137805d206695g27559
66369.993f+65034f+130065c+195095f+26012
65349.233f61384f122765c184145f24552
64329.633e57944e115874b173815e23174
63311.133d+54684d+109374a+164055d+21874
62293.663d51614d103234a154845d20646
61277.183c+48724c+97444g+146155c+19487
60261.633c45984c91974g137955c18393
59246.942b43403b86814f+130214b17361
58233.082a+40973a+81934f122904a+16387
57220.002a38673a77334e116004a15467
56207.652g+36503g+72994d+109494g+14599
55196.002g34453g68904d103354g13780
54185.002f+32523f+65034c+97554f+13006
53174.612f30693f61384c92074f12276
52164.812e28973e57943b86904e11587
51155.562d+27343d+54683a+82034d+10937
50146.832d25813d51613a77424d10323
49138.592c+24363c+48723g+73084c+9744
48130.812c22993c45983g68984c9197
47123.471b21702b43403f+65103b8681
46116.541a+20482a+40973f61453a+8193
45110.001a19332a38673e58003a7733
44103.831g+18252g+36503d+54753g+7299
4398.001g17222g34453d51673g6890
4292.501f+16262f+32523c+48773f+6503
4187.311f15352f30693c46043f6138
4082.411e14482e28972b43453e5794
3977.781d+13672d+27342a+41013d+5468
3873.421d12902d25812a38713d5161
3769.301c+12182c+24362g+36543c+4872
3665.411c11502c22992g34493c4598
3561.740b10851b21702f+32552b4340
3458.270a+10241a+20482f30732a+4097
3355.000a9671a19332e29002a3867
3251.910g+9121g+18252d+27372g+3650
3149.000g8611g17222d25842g3445
3046.250f+8131f+16262c+24392f+3252
2943.650f7671f15352c23022f3069
2841.200e7241e14481b21732e2897
2738.890d+6841d+13671a+20512d+2734
2636.710d6451d12901a19362d2581
2534.650c+6091c+12181g+18272c+2436
2432.700c5751c11501g17242c2299
2330.87-1b5430b10851f+16281b2170
2229.14-1a+5120a+10241f15361a+2048
2127.50-1a4830a9671e14501a1933
2025.96-1g+4560g+9121d+13691g+1825
1924.50-1g4310g8611d12921g1722
1823.12-1f+4060f+8131c+12191f+1626
1721.83-1f3840f7671c11511f1535
1620.60-1e3620e7240b10861e1448
1519.45-1d+3420d+6840a+10251d+1367
1418.35-1d3230d6450a9681d1290
1317.32-1c+3040c+6090g+9131c+1218
1216.35-1c2870c5750g8621c1150
1115.43-2b271-1b5430f+8140b1085
1014.57-2a+256-1a+5120f7680a+1024
913.75-2a242-1a4830e7250a967
812.98-2g+228-1g+4560d+6840g+912
712.25-2g215-1g4310d6460g861
611.56-2f+203-1f+4060c+6100f+813
510.91-2f192-1f3840c5750f767
410.30-2e181-1e362-1b5430e724
39.72-2d+171-1d+342-1a+5130d+684
29.18-2d161-1d323-1a4840d645
18.66-2c+152-1c+304-1g+4570c+609
08.18-2c144-1c287-1g4310c575
  • 文字色:赤はbit数の有効範囲です。
  • o:オクターブ

サンプル数20・24・28・32

MIDI Note No音声周波数(Hz)o音符20     サンプルo音符24     サンプルo音符28     サンプルo音符32     サンプル
MIDI Note No音声周波数(Hz)o音符20     サンプルo音符24     サンプルo音符28     サンプルo音符32     サンプル
12712543.8510b110236211d132283511f154330711g1763779
12611839.8210a+104049111c+124859011e145668811f+1664786
12511175.3010a98209311c117851211d+137493011f1571349
12410548.0810g+92697210b111236711d129776111e1483156
1239956.0610g87494510a+104993411c+122492411d+1399913
1229397.2710f+82583810a99100611c115617411d1321342
1218869.8410f77948810g+93538510b109128311c+1247180
1208372.0210e73573810g88288610a+103003411c1177181
1197902.1310d+69444510f+83333410a97222210b1111111
1187458.6210d65546810f78656210g+91765610a+1048749
1177040.0010c+61868010e74241610g86615210a989888
1166644.8810c58395610d+70074710f+81753810g+934330
1156271.939b55118110d66141710f77165310g881890
1145919.919a+52024610c+62429510e72834410f+832393
1135587.659a49104610c58925610d+68746510f785674
1125274.049g+46348610b55618310d64888110e741578
1114978.039g4374739a+52496710c+61246210d+699956
1104698.649f+4129199a49550310c57808710d660671
1094434.929f3897449g+46769310b54564110c+623590
1084186.019e3678699g4414439a+51501710c588591
1073951.079d+3472229f+4166679a4861119b555556
1063729.319d3277349f3932819g+4588289a+524375
1053520.009c+3093409e3712089g4330769a494944
1043322.449c2919789d+3503749f+4087699g+467165
1033135.968b2755919d3307099f3858279g440945
1022959.968a+2601239c+3121479e3641729f+416197
1012793.838a2455239c2946289d+3437339f392837
1002637.028g+2317439b2780929d3244409e370789
992489.028g2187368a+2624849c+3062319d+349978
982349.328f+2064608a2477529c2890439d330335
972217.468f1948728g+2338469b2728219c+311795
962093.008e1839358g2207228a+2575089c294295
951975.538d+1736118f+2083338a2430568b277778
941864.668d1638678f1966418g+2294148a+262187
931760.008c+1546708e1856048g2165388a247472
921661.228c1459898d+1751878f+2043858g+233582
911567.987b1377958d1653548f1929138g220472
901479.987a+1300618c+1560748e1820868f+208098
891396.917a1227628c1473148d+1718668f196419
881318.517g+1158728b1390468d1622208e185394
871244.517g1093687a+1312428c+1531158d+174989
861174.667f+1032307a1238768c1445228d165168
851108.737f974367g+1169238b1364108c+155898
841046.507e919677g1103617a+1287548c147148
83987.777d+868067f+1041677a1215287b138889
82932.337d819347f983207g+1147077a+131094
81880.007c+773357e928027g1082697a123736
80830.617c729947d+875937f+1021927g+116791
79783.996b688987d826777f964577g110236
78739.996a+650317c+780377e910437f+104049
77698.466a613817c736577d+859337f98209
76659.266g+579367b695237d811107e92697
75622.256g546846a+656217c+765587d+87495
74587.336f+516156a619387c722617d82584
73554.376f487186g+584627b682057c+77949
72523.256e459846g551806a+643777c73574
71493.886d+434036f+520836a607646b69444
70466.166d409676f491606g+573536a+65547
69440.006c+386676e464016g541346a61868
68415.306c364976d+437976f+510966g+58396
67392.005b344496d413396f482286g55118
66369.995a+325156c+390186e455216f+52025
65349.235a306906c368286d+429676f49105
64329.635g+289686b347616d405556e46349
63311.135g273425a+328106c+382796d+43747
62293.665f+258075a309696c361306d41292
61277.185f243595g+292316b341036c+38974
60261.635e229925g275905a+321896c36787
59246.945d+217015f+260425a303825b34722
58233.085d204835f245805g+286775a+32773
57220.005c+193345e232005g270675a30934
56207.655c182495d+218985f+255485g+29198
55196.004b172245d206695f241145g27559
54185.004a+162585c+195095e227615f+26012
53174.614a153455c184145d+214835f24552
52164.814g+144845b173815d202785e23174
51155.564g136714a+164055c+191395d+21874
50146.834f+129044a154845c180655d20646
49138.594f121794g+146155b170515c+19487
48130.814e114964g137954a+160945c18393
47123.474d+108514f+130214a151914b17361
46116.544d102424f122904g+143384a+16387
45110.004c+96674e116004g135344a15467
44103.834c91244d+109494f+127744g+14599
4398.003b86124d103354f120574g13780
4292.503a+81294c+97554e113804f+13006
4187.313a76734c92074d+107424f12276
4082.413g+72424b86904d101394e11587
3977.783g68363a+82034c+95704d+10937
3873.423f+64523a77424c90334d10323
3769.303f60903g+73084b85264c+9744
3665.413e57483g68983a+80474c9197
3561.743d+54253f+65103a75953b8681
3458.273d51213f61453g+71693a+8193
3355.003c+48333e58003g67673a7733
3251.913c45623d+54753f+63873g+7299
3149.002b43063d51673f60293g6890
3046.252a+40643c+48773e56903f+6503
2943.652a38363c46043d+53713f6138
2841.202g+36213b43453d50693e5794
2738.892g34182a+41013c+47853d+5468
2636.712f+32262a38713c45163d5161
2534.652f30452g+36543b42633c+4872
2432.702e28742g34492a+40243c4598
2330.872d+27132f+32552a37982b4340
2229.142d25602f30732g+35852a+4097
2127.502c+24172e29002g33832a3867
2025.962c22812d+27372f+31942g+3650
1924.501b21532d25842f30142g3445
1823.121a+20322c+24392e28452f+3252
1721.831a19182c23022d+26852f3069
1620.601g+18102b21732d25352e2897
1519.451g17091a+20512c+23922d+2734
1418.351f+16131a19362c22582d2581
1317.321f15221g+18272b21312c+2436
1216.351e14371g17241a+20122c2299
1115.431d+13561f+16281a18991b2170
1014.571d12801f15361g+17921a+2048
913.751c+12081e14501g16921a1933
812.981c11411d+13691f+15971g+1825
712.250b10771d12921f15071g1722
611.560a+10161c+12191e14231f+1626
510.910a9591c11511d+13431f1535
410.300g+9051b10861d12671e1448
39.720g8540a+10251c+11961d+1367
29.180f+8060a9681c11291d1290
18.660f7610g+9131b10661c+1218
08.180e7180g8620a+10061c1150
  • 文字色:赤はbit数の有効範囲です。
  • o:オクターブ
  • MIDI NoteNoから音声周波数を求める計算式
    音声周波数 = 440 × 2^(( NoteNo - 69) ÷ 12)
    「^」は累乗数
     

参考例

各サンプル数でディチューンを使いo4a(440Hz)相当を鳴らす

fileTest_N106_440Hz.nsf

#TITLE Test_N106_440Hz
#PITCH-CORRECTION
#EX-NAMCO106 8
@N0 = { 0 15,15,00,00 } // 4
@N1 = { 0 15,15,15,15,00,00,00,00 } // 8
@N2 = { 0 15,15,15,15,15,15,00,00,00,00,00,00 } // 12
@N3 = { 0 15,15,15,15,15,15,15,15,00,00,00,00,00,00,00,00 } // 16
@N4 = { 0 15,15,15,15,15,15,15,15,15,15,00,00,00,00,00,00,
          00,00,00,00 } // 20
@N5 = { 0 15,15,15,15,15,15,15,15,15,15,15,15,00,00,00,00,
          00,00,00,00,00,00,00,00 } // 24
@N6 = { 0 15,15,15,15,15,15,15,15,15,15,15,15,15,15,00,00,
          00,00,00,00,00,00,00,00,00,00,00,00 } // 28
@N7 = { 0 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
          00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 } // 32
P t160 v8 q7  L
P @@0 SA3 D-118 o3b  D255 o3a  // 4
P @@1 SA4 D-118 o4b  D255 o4a  // 8
P @@2 SA5 D-88  o5f+ D255 o5e  // 12
P @@3 SA5 D-118 o5b  D255 o5a  // 16
P @@4 SA6 D-74  o6d+ D255 o6c+ // 20
P @@5 SA6 D-88  o6f+ D255 o6e  // 24
P @@6 SA6 D-103 o6a  D255 o6g  // 28
P @@7 SA6 D-118 o6b  D255 o6a  // 32
P r2

この例ではN106の各サンプル数にて、493.88Hz相当の音符(o4b※)にディチューン(Dコマンド)をかけることにより、440Hzを鳴らすものです。
一致していることの確認のため、直後に440Hz相当の音符(o4a※)も鳴らしています。
※有効チャンネル数8、8サンプルの場合

ここで8サンプルのディチューン(Dコマンド)に使用している値の求め方を説明します。
o4bとo4aの周波数レジスタ値の差を設定します。
表に周波数レジスタ値が載っているので確認して下さい、
矩形波の場合、o4bの周波数レジスタ値は17361、o4aの周波数レジスタ値は15467です。
差を計算すると17361-15467=1894となります、#PITCH-CORRECTIONを宣言しており音程を下げるのですからマイナス値 -1894となります。
この値をディチューン(Dコマンド)に使用するのですが、ディチューン(Dコマンド)の設定可能な値の範囲は-127~126であるため、-1894は設定できません。
そこでSAコマンドを使用することにより解決できます。
 -1894を4回2で割ると-118.375となり範囲内になるので、この値の整数値にした値-118をディチューン(Dコマンド)に設定します。
(この値はピッチエンベロープ(@EP定義)でも同様です。)
そしてディチューン(Dコマンド)の事前にSAコマンドを使用し、値は先ほどの4回2で割った、その4回の値、SA4を設定します。
これにより、およそ440Hzが鳴ります(正確には誤差があります。)
SAコマンドの値が大きい程、誤差が大きくなるので注意が必要です。
SAコマンドはppmckにてN106音源のみ使用可能です。
他のサンプル数でも計算方法は同じです。
この例のnsfを聴くと判ると思いますが、サンプル数が2のn乗でない場合(12,20,24,28サンプル)、音程がわずかにズレることが確認できると思います、使用するサンプル数は2のn乗(4,8,16,32サンプル)にしておく事をお勧めします。

VRC7

音声周波数から周波数レジスタ値を求める計算

音源VRC7
周波数レジスタbit数9bit(0~511)+オクターブレジスタ3bit(0~7)
周波数とレジスタの関係比例

周波数レジスタ値計算式

周波数レジスタ値 = 音声周波数(Hz) × 2^(18-オクターブ) ÷ (1789772.7272 ÷ 72)         ※音色設定のCarrierのMULTIの倍率が 1 の場合を想定

「^」は累乗数

  • VRC7では周波数レジスタとオクターブレジスタにより音程を制御する。
    周波数レジスタには 0(ゼロ)オクターブでの音符cc+dd+eff+gg+aa+bに対応する周波数レジスタ値を設定し(この計算式では考慮してある)、オクターブレジスタには o<num> コマンドの値が直接入る。
    この様な関係にあるため、周波数レジスタ値を半分にし、1オクターブ高い値を設定しても、同じ音声周波数が鳴る。
  • ディチューン(Dコマンド)ピッチエンベロープ(@EP定義)では、周波数レジスタのみの制御であり、オクターブレジスタの制御はされないため、周波数の変化できる範囲は狭い(周波数レジスタ値 0~511まで)、特に高音域への変化は苦手で、オーバーフローし易い。
  • 音色設定のCarrierのMULTIの倍率が 1 の場合を想定していますが、例えばこの値が 2 の場合、音声周波数は 2倍となり、1オクターブ高い音で鳴る。(プリセット音色では 1倍の様です。)
     

音声周波数と周波数レジスタ値の関係表

※音声周波数は音色設定のCarrierのMULTIの倍率が 1 の場合を想定

MIDI Note No音声 周波数(Hz)o音 符o0o1o2o3o4o5o6o7
MIDI Note No音声 周波数(Hz)o音 符o0o1o2o3o4o5o6o7
12712543.859g13228366141.733070.916535.48267.724133.862066.931033.46
12611839.829f+12485962429.531214.715607.47803.683901.841950.92975.46
12511175.309f11785158925.629462.814731.47365.703682.851841.42920.71
12410548.089e11123655618.327809.213904.66952.293476.151738.07869.04
1239956.069d+10499352496.726248.413124.26562.093281.051640.52820.26
1229397.279d9910049550.324775.212387.66193.793096.891548.45774.22
1218869.849c+9353846769.323384.611692.35846.162923.081461.54730.77
1208372.029c8828844144.322072.211036.15518.042759.021379.51689.75
1197902.138b8333341666.720833.310416.75208.332604.171302.08651.04
1187458.628a+7865639328.119664.19832.04916.012458.011229.00614.50
1177040.008a7424137120.818560.49280.24640.102320.051160.02580.01
1166644.888g+7007435037.417518.78759.34379.672189.831094.92547.46
1156271.938g6614133070.916535.48267.74133.862066.931033.46516.73
1145919.918f+6242931214.715607.47803.73901.841950.92975.46487.73
1135587.658f5892529462.814731.47365.73682.851841.42920.71460.36
1125274.048e5561827809.213904.66952.33476.151738.07869.04434.52
1114978.038d+5249626248.413124.26562.13281.051640.52820.26410.13
1104698.648d4955024775.212387.66193.83096.891548.45774.22387.11
1094434.928c+4676923384.611692.35846.22923.081461.54730.77365.38
1084186.018c4414422072.211036.15518.02759.021379.51689.75344.88
1073951.077b4166620833.310416.75208.32604.171302.08651.04325.52
1063729.317a+3932819664.19832.04916.02458.011229.00614.50307.25
1053520.007a3712018560.49280.24640.12320.051160.02580.01290.01
1043322.447g+3503717518.78759.34379.72189.831094.92547.46273.73
1033135.967g3307016535.48267.74133.92066.931033.46516.73258.37
1022959.967f+3121415607.47803.73901.81950.92975.46487.73243.87
1012793.837f2946214731.47365.73682.81841.42920.71460.36230.18
1002637.027e2780913904.66952.33476.11738.07869.04434.52217.26
992489.027d+2624813124.26562.13281.01640.52820.26410.13205.07
982349.327d2477512387.66193.83096.91548.45774.22387.11193.56
972217.467c+2338411692.35846.22923.11461.54730.77365.38182.69
962093.007c2207211036.15518.02759.01379.51689.75344.88172.44
951975.536b2083310416.75208.32604.21302.08651.04325.52162.76
941864.666a+196649832.04916.02458.01229.00614.50307.25153.63
931760.006a185609280.24640.12320.01160.02580.01290.01145.00
921661.226g+175188759.34379.72189.81094.92547.46273.73136.86
911567.986g165358267.74133.92066.91033.46516.73258.37129.18
901479.986f+156077803.73901.81950.9975.46487.73243.87121.93
891396.916f147317365.73682.81841.4920.71460.36230.18115.09
881318.516e139046952.33476.11738.1869.04434.52217.26108.63
871244.516d+131246562.13281.01640.5820.26410.13205.07102.53
861174.666d123876193.83096.91548.4774.22387.11193.5696.78
851108.736c+116925846.22923.11461.5730.77365.38182.6991.35
841046.506c110365518.02759.01379.5689.75344.88172.4486.22
83987.775b104165208.32604.21302.1651.04325.52162.7681.38
82932.335a+9832.04916.02458.01229.0614.50307.25153.6376.81
81880.005a9280.24640.12320.01160.0580.01290.01145.0072.50
80830.615g+8759.34379.72189.81094.9547.46273.73136.8668.43
79783.995g8267.74133.92066.91033.5516.73258.37129.1864.59
78739.995f+7803.73901.81950.9975.5487.73243.87121.9360.97
77698.465f7365.73682.81841.4920.7460.36230.18115.0957.54
76659.265e6952.33476.11738.1869.0434.52217.26108.6354.31
75622.255d+6562.13281.01640.5820.3410.13205.07102.5351.27
74587.335d6193.83096.91548.4774.2387.11193.5696.7848.39
73554.375c+5846.22923.11461.5730.8365.38182.6991.3545.67
72523.255c5518.02759.01379.5689.8344.88172.4486.2243.11
71493.884b5208.32604.21302.1651.0325.52162.7681.3840.69
70466.164a+4916.02458.01229.0614.5307.25153.6376.8138.41
69440.004a4640.12320.01160.0580.0290.01145.0072.5036.25
68415.304g+4379.72189.81094.9547.5273.73136.8668.4334.22
67392.004g4133.92066.91033.5516.7258.37129.1864.5932.30
66369.994f+3901.81950.9975.5487.7243.87121.9360.9730.48
65349.234f3682.81841.4920.7460.4230.18115.0957.5428.77
64329.634e3476.11738.1869.0434.5217.26108.6354.3127.16
63311.134d+3281.01640.5820.3410.1205.07102.5351.2725.63
62293.664d3096.91548.4774.2387.1193.5696.7848.3924.19
61277.184c+2923.11461.5730.8365.4182.6991.3545.6722.84
60261.634c2759.01379.5689.8344.9172.4486.2243.1121.55
59246.943b2604.21302.1651.0325.5162.7681.3840.6920.35
58233.083a+2458.01229.0614.5307.3153.6376.8138.4119.20
57220.003a2320.01160.0580.0290.0145.0072.5036.2518.13
56207.653g+2189.81094.9547.5273.7136.8668.4334.2217.11
55196.003g2066.91033.5516.7258.4129.1864.5932.3016.15
54185.003f+1950.9975.5487.7243.9121.9360.9730.4815.24
53174.613f1841.4920.7460.4230.2115.0957.5428.7714.39
52164.813e1738.1869.0434.5217.3108.6354.3127.1613.58
51155.563d+1640.5820.3410.1205.1102.5351.2725.6312.82
50146.833d1548.4774.2387.1193.696.7848.3924.1912.10
49138.593c+1461.5730.8365.4182.791.3545.6722.8411.42
48130.813c1379.5689.8344.9172.486.2243.1121.5510.78
47123.472b1302.1651.0325.5162.881.3840.6920.3510.17
46116.542a+1229.0614.5307.3153.676.8138.4119.209.60
45110.002a1160.0580.0290.0145.072.5036.2518.139.06
44103.832g+1094.9547.5273.7136.968.4334.2217.118.55
4398.002g1033.5516.7258.4129.264.5932.3016.158.07
4292.502f+975.5487.7243.9121.960.9730.4815.247.62
4187.312f920.7460.4230.2115.157.5428.7714.397.19
4082.412e869.0434.5217.3108.654.3127.1613.586.79
3977.782d+820.3410.1205.1102.551.2725.6312.826.41
3873.422d774.2387.1193.696.848.3924.1912.106.05
3769.302c+730.8365.4182.791.345.6722.8411.425.71
3665.412c689.8344.9172.486.243.1121.5510.785.39
3561.741b651.0325.5162.881.440.6920.3510.175.09
3458.271a+614.5307.3153.676.838.4119.209.604.80
3355.001a580.0290.0145.072.536.2518.139.064.53
3251.911g+547.5273.7136.968.434.2217.118.554.28
3149.001g516.7258.4129.264.632.3016.158.074.04
3046.251f+487.7243.9121.961.030.4815.247.623.81
2943.651f460.4230.2115.157.528.7714.397.193.60
2841.201e434.5217.3108.654.327.1613.586.793.39
2738.891d+410.1205.1102.551.325.6312.826.413.20
2636.711d387.1193.696.848.424.1912.106.053.02
2534.651c+365.4182.791.345.722.8411.425.712.85
2432.701c344.9172.486.243.121.5510.785.392.69
2330.870b325.5162.881.440.720.3510.175.092.54
2229.140a+307.3153.676.838.419.209.604.802.40
2127.500a290.0145.072.536.318.139.064.532.27
2025.960g+273.7136.968.434.217.118.554.282.14
1924.500g258.4129.264.632.316.158.074.042.02
1823.120f+243.9121.961.030.515.247.623.811.91
1721.830f230.2115.157.528.814.397.193.601.80
1620.600e217.3108.654.327.213.586.793.391.70
1519.450d+205.1102.551.325.612.826.413.201.60
1418.350d193.696.848.424.212.106.053.021.51
1317.320c+182.791.345.722.811.425.712.851.43
1216.350c172.486.243.121.610.785.392.691.35
1115.43-1b162.881.440.720.310.175.092.541.27
1014.57-1a+153.676.838.419.29.604.802.401.20
913.75-1a145.072.536.318.19.064.532.271.13
812.98-1g+136.968.434.217.18.554.282.141.07
712.25-1g129.264.632.316.18.074.042.021.01
611.56-1f+121.961.030.515.27.623.811.910.95
510.91-1f115.157.528.814.47.193.601.800.90
410.30-1e108.654.327.213.66.793.391.700.85
39.72-1d+102.551.325.612.86.413.201.600.80
29.18-1d96.848.424.212.16.053.021.510.76
18.66-1c+91.345.722.811.45.712.851.430.71
08.18-1c86.243.121.610.85.392.691.350.67
  • 周波数レジスタ値が小さいほど誤差が多くなり音痴になります、この誤差を認識し易いように小数点以下まで表示していますが、周波数レジスタで使用する値は少数第一位を8捨9入した値(※ppmck09aにて確認、他のサウンドドライバでは計算方法が少々違うかも知れません。)です。
  • 文字色:赤はbit数の有効範囲です。
  • 文字色:水色は音符から周波数レジスタ値に変換される値で、どのオクターブでも同じ値です。
  • o:オクターブ
  • MIDI NoteNoから音声周波数を求める計算式
    音声周波数 = 440 × 2^(( NoteNo - 69) ÷ 12)
    「^」は累乗数
     

この文章はファミコン音源詳細の各種資料を元に計算式を求め、表にまとめたものです。