出オチっぽいタイトル。
前の記事でやった、MUCOM88で(無理やり)調律を変える場合のデチューンのパラメータを決める話。(ネタ枠)
\(\)私が考えたわけではなくて、先駆者がいらっしゃる。
個人的には初音ミクで調律変えるのをピッチベンドでやってた話の延長なのですが。
で、やり方ですが、まず1オクターブ分の周波数を決めます。平均律であれば、まずラ (a) の音を基準周波数として決めるのが一般的だと思うのでそうします。他の音は、半音上が\(2^{\frac{1}{12}}\)倍になるように埋めます。いろんな方法がありますが、ド (c) からシ (b) までを \(k=-9, -8, \ldots, 2\) として基準周波数に \(2^{\frac{k}{12}}\) を掛けてやるのが良いかと。
例として、「標準」440Hz・「マッピーぽい」431.3Hz・「フォゾンぽい」453.8Hzでやってみます。
ついでに、ナムコデチューンっぽい±12セントも御用意。これは元の周波数に\(2^{\pm\frac{12}{1,200}}\)を掛ければできます。フォゾンはデチューンなさそうだからいいや。
c | c+, d- | d | d+, e- | e | f | f+, g- | g | g+, a- | a | a+, b- | b | |
k | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 |
マッピーぽい -12c | 254.7 | 269.8 | 285.9 | 302.9 | 320.9 | 340.0 | 360.2 | 381.6 | 404.3 | 428.3 | 453.8 | 480.8 |
マッピーぽい | 256.5 | 271.7 | 287.9 | 305.0 | 323.1 | 342.3 | 362.7 | 384.2 | 407.1 | 431.3 | 456.9 | 484.1 |
マッピーぽい +12c | 258.2 | 273.6 | 289.9 | 307.1 | 325.4 | 344.7 | 365.2 | 386.9 | 409.9 | 434.3 | 460.1 | 487.5 |
標準 -12c | 259.8 | 275.3 | 291.6 | 309.0 | 327.4 | 346.8 | 367.4 | 389.3 | 412.4 | 437.0 | 462.9 | 490.5 |
標準 | 261.6 | 277.2 | 293.7 | 311.1 | 329.6 | 349.2 | 370.0 | 392.0 | 415.3 | 440.0 | 466.2 | 493.9 |
標準 +12c | 263.4 | 279.1 | 295.7 | 313.3 | 331.9 | 351.7 | 372.6 | 394.7 | 418.2 | 443.1 | 469.4 | 497.3 |
フォゾンぽい | 269.8 | 285.9 | 302.9 | 320.9 | 340.0 | 360.2 | 381.6 | 404.3 | 428.3 | 453.8 | 480.8 | 509.4 |
これらの周波数から、PC-8801のFM音源で使う場合のF-Numberを計算します。この音域からだと、\(\frac{9,437,184}{3,993,600}=\frac{768}{325}\)を掛ければ良いはず(計算方法はチップのマニュアル等を)。分母はマスタークロック。計算結果の端数は四捨五入して整数にします。
c | c+, d- | d | d+, e- | e | f | f+, g- | g | g+, a- | a | a+, b- | b | |
マッピーぽい -12cent | 602 | 638 | 676 | 716 | 758 | 803 | 851 | 902 | 955 | 1012 | 1072 | 1136 |
マッピーぽい | 606 | 642 | 680 | 721 | 764 | 809 | 857 | 908 | 962 | 1019 | 1080 | 1144 |
マッピーぽい +12cent | 610 | 647 | 685 | 726 | 769 | 815 | 863 | 914 | 969 | 1026 | 1087 | 1152 |
標準 -12cent | 614 | 650 | 689 | 730 | 774 | 820 | 868 | 920 | 975 | 1033 | 1094 | 1159 |
標準 | 618 | 655 | 694 | 735 | 779 | 825 | 874 | 926 | 981 | 1040 | 1102 | 1167 |
標準 +12cent | 623 | 660 | 699 | 740 | 784 | 831 | 880 | 933 | 988 | 1047 | 1109 | 1175 |
フォゾンぽい | 638 | 676 | 716 | 758 | 803 | 851 | 902 | 955 | 1012 | 1072 | 1136 | 1204 |
ここから、MUCOM88のF-Numberを引くのだけれど、その値は以下の通り。これは、MUCOM88のソースの FNUMB:
から持ってきただけ。
c | c+, d- | d | d+, e- | e | f | f+, g- | g | g+, a- | a | a+, b- | b | |
FNUMB 16進 | 26A | 28F | 2B6 | 2DF | 30B | 339 | 36A | 39E | 3D5 | 410 | 44E | 48F |
10進 | 618 | 655 | 694 | 735 | 779 | 825 | 874 | 926 | 981 | 1040 | 1102 | 1167 |
引き算すれば完成。
c | c+, d- | d | d+, e- | e | f | f+, g- | g | g+, a- | a | a+, b- | b | |
マッピーぽい -12cent | -16 | -17 | -18 | -19 | -21 | -22 | -23 | -24 | -26 | -28 | -30 | -31 |
マッピーぽい | -12 | -13 | -14 | -14 | -15 | -16 | -17 | -18 | -19 | -21 | -22 | -23 |
マッピーぽい +12cent | -8 | -8 | -9 | -9 | -10 | -10 | -11 | -12 | -12 | -14 | -15 | -15 |
標準 -12cent | -4 | -5 | -5 | -5 | -5 | -5 | -6 | -6 | -6 | -7 | -8 | -8 |
標準 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
標準 +12cent | 5 | 5 | 5 | 5 | 5 | 6 | 6 | 7 | 7 | 7 | 7 | 8 |
フォゾンぽい | 20 | 21 | 22 | 23 | 24 | 26 | 28 | 29 | 31 | 32 | 34 | 37 |
これで、前の記事のフォゾンのように、
A l8o5cfa>c ;...
の各ノートの前にDコマンドを入れて、
A l8o5D20cD26fD32a>D20c ;...
こうなります。
ドルアーガの場合は「標準」とその±12セントが近いのだけれど、以前上げたやつは D5 から D8 を使い分けたりせずに D6 だけで済ませてます。まあ、用途にもよるけれど、1とか2とかの差ならあまり気にしなくて良いんじゃないですかね?
平均律以外も同じ方法でできるはず。
ただ、MMLが長く汚くなって編集しにくいし、間違いも見つけにくいので、どう考えてもネタ枠です。