シンセ・アンプラグド RSSフィード

2018-07-14

FPGA 版 FM 音源 (86) -- TX7 (OPS) 測定 (13)

「ロー・レート」動作の上限、つまり、EG プリスケーラの設定が 1/1 になり、オクタル・レート・マルチプライアに fs レートのクロックが直接に入力される場合の rate99、rate63 の表を下に示します。

続きを読む

2018-07-12

FPGA 版 FM 音源 (85) -- TX7 (OPS) 測定 (12)

検索ワード「FM音源 OPS レジスタ解析」でググると、

FM音源 EGS/OPSのレジスタ解析

と題された、作者不明の web ページが見つかります。

このページには、TX7 のファームウェアを解析して EGS/OPSレジスタの仕様を探った結果が示されています。

その中で、EG のレートに関して、音色パラメタの 0 〜 99 の 100 段階の値から 5 ビット幅のレジスタに設定する 0 〜 63 の 64 段階の値へとマッピングする計算式が示されています。

続きを読む

2018-07-06

FPGA 版 FM 音源 (84) -- TX7 (OPS) 測定 (11)

EG のアタック部分をプログラムで再現することができました。 やはり「ゴンペルツ曲線」でした。 (→参考記事)

まず、アタック/リリースの「エンベローブ波形」をキャプチャしたものを再掲します。

続きを読む

2018-07-04

FPGA 版 FM 音源 (83) -- TX7 (OPS) 測定 (10)

オペレータ出力周り、サイン波テーブルの仕様について調べています。

結論から言うと、サイン波テーブルは 1 周期 4096 エントリ、減衰量として格納されている 2 を底とする対数のフォーマットは整数部 4 ビット、小数部 10 ビットのようです。

1 周期 4096 エントリなので、1 周期が 8192 サンプル (以上) になるピッチ周波数を選べば、テーブルの全てのエントリに渡って「抜け」がなく、その出力値が 2 個あるいは 3 個以上繰り返して出力されるようにできます。

オリジナルの源発振周波数 9.4265 MHz に対しては、

9.4265 [MHz] / (192 × 8192) = 5.993 [Hz]

となります。

「楽音」としてのピッチでは、MIDI ノート・ナンバー 6 の F# の音 (11.562 Hz) の 1 オクターブ下の 5.781 Hz が条件を満たします。

MIDI ノート・ナンバーの表現範囲外なので、音色パラメタのオペレータ周波数設定の「Freq Coarse」で「0」を選んで、「0.5 倍」の設定にする必要があります。

パラメタの「トランスポーズ」の設定で 1 オクターブ下げる方法は、正常な発振周波数を外れるようでうまく行きません。

そうやってキャプチャしたサイン波形のゼロクロス点付近のグラフを下に示します。

続きを読む

2018-06-20

FPGA 版 FM 音源 (82) -- TX7 (OPS) 測定 (9)

2014 年 5 月 6 日の記事 (→こちら) の OPM の EG 測定と同様に、正弦波出力のオペレータ 2 段による直列 FM で、下のグラフのようなピーク部分が平坦な「方形波」を発生させ、EG の動作を探っています。

続きを読む

2018-06-14

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

オリジナルの TX7 では源発振 9.4265 MHz を 192 分周した 49.09635 kHz がサンプリング周波数となりますが、SPDIF 出力化の改造では、サンプリング周波数を 48 kHz にするために源発振の水晶振動子を 9.216 MHz に換装しています。

それ以外のファームウェアなどは変更していないので、源発振周波数の変化がそのまま出力波形のピッチの変化として表れます。

続きを読む

2018-06-10

FPGA 版 FM 音源 (80) -- TX7 (OPS) 測定 (7)

TX7 本体の操作では「音色」のエディットはできませんが、「INIT VOICE」機能でエディット・バッファ中の音色パラメタの「初期化」は可能です。 初期化後の音色パラメタ値を下に示します。

(2018 年 7 月 4 日追記: 「TP」パラメタの値の表示位置が間違っていて PEG の各パラメタもずれて表示されていたのを修正しました。)

"INIT VOICE"

       ______LFO________ _PEG_Rate__ _PEG_Level_   
 AL FB WF SP DY PD AD SY R1 R2 R3 R4 L1 L2 L3 L4 TP
  1  0  0 35  0  0  0  1 99 99 99 99 50 50 50 50 24

____Oscillator___ __Envelope_Generator___ ___Key_Scaling___ OPout  Mod
  Mode ___Freq___ ____Rate___ ___Level___    Curve/Depth           Sens
OP M S CO Fine DT R1 R2 R3 R4 L1 L2 L3 L4 BP  L  R  L  R RS OL VS  P  A
1: 0 1  1 1.00  0 99 99 99 99 99 99 99  0  0  0  0  0  0  0 99  0  3  0
2: 0 1  1 1.00  0 99 99 99 99 99 99 99  0  0  0  0  0  0  0  0  0  3  0
3: 0 1  1 1.00  0 99 99 99 99 99 99 99  0  0  0  0  0  0  0  0  0  3  0
4: 0 1  1 1.00  0 99 99 99 99 99 99 99  0  0  0  0  0  0  0  0  0  3  0
5: 0 1  1 1.00  0 99 99 99 99 99 99 99  0  0  0  0  0  0  0  0  0  3  0
6: 0 1  1 1.00  0 99 99 99 99 99 99 99  0  0  0  0  0  0  0  0  0  3  0

続きを読む