FPGA 版 FM 音源 (81) -- TX7 (OPS) 測定 (8)

オリジナルの TX7 では源発振 9.4265 MHz を 192 分周した 49.09635 kHz がサンプリング周波数となりますが、SPDIF 出力化の改造では、サンプリング周波数を 48 kHz にするために源発振の水晶振動子を 9.216 MHz に換装しています。
それ以外のファームウェアなどは変更していないので、源発振周波数の変化がそのまま出力波形のピッチの変化として表れます。
その変化の度合いは、リニアな周波数比率で言うと

9.216 [MHz] / 9.4265 [MHz] = 0.977669

となり、「セント」で表すと、

1200 × log2(9.216/9.4265) = -39.0978 [cent]

となります。
「中央 C」を含むオクターブの「A」の音の「正しいピッチ」の 440 Hz が、SPDIF 出力改造後は、

440 × 9.216 / 9.4265 = 430.174

と、約 10 Hz 低くなります。
TX7 本体の操作により、「マスター・チューニング」を ±75 セントの範囲で設定することができるので、これでピッチの低下を補正できます。
DX7/TX7 は RPN (Registered Parameter Number) やユニバーサル・エクスクルーシブ・メッセージによる「ファイン・チューニング」が RP (Recommended Practice) によって制定される以前の製品なので、MIDI メッセージでファイン・チューニングを設定することはできません。
TX7 の仕様では、「MASTER TUNE」値として -64 〜 64 の範囲で設定可能で、1 ステップ当たり 1.2 セント刻みとなっています。
これは、おそらく 3 半音 (300 セント) を 256 分割して 300 / 256 = 1.1719 [セント] ステップとしていると思われます。
必要なピッチ補正量は +39.0978 セントですから、

39.0970 / (300 / 256) = 33.3628

となり、「MASTER TUNE」を「33」に設定すれば良いことになります。
「A」の音の周波数を実測してみると、

  • (MASTER TUNE =  0) —— 430.33 [Hz]
  • (MASTER TUNE = 33) —— 440.04 [Hz]

となりました。
MASTER TUNE = 0 の時の周波数は、前出の計算値に比べて約 400 ppm の差がありますが、水晶振動子の周波数誤差や測定誤差の影響と思われます。
ちなみに、MIDI のボーレート・クロックは 9 MHz の源発振とは独立の 500 kHz のセラミック振動子を使ったオシレータから供給されているので、源発振の周波数の影響を受けません。
源発振を 2 分周したものが MCU のクロックとして使われているので、カセット・テープへの LOAD/STORE の FSK 周波数には影響があると思われます。