YMF297(OPN3-L)
シンセ・アンプラグドの中の人がYMF297の詳細な解析レポートを揚げておられます。
FPGA 版 FM 音源 (36) -- YMF297 (OPN3/OPL3) 測定 (1) - シンセ・アンプラグド
FPGA 版 FM 音源 (37) -- YMF297 (OPN3/OPL3) 測定 (2) - シンセ・アンプラグド
FPGA 版 FM 音源 (38) -- YMF297 (OPN3/OPL3) 測定 (3) - シンセ・アンプラグド
これで例のドライバを118ボード対応にできる!
けど、この様子だとOPN3/OPL3の同時鳴動は無理っぽいな…
あとで実験してみよう。
9821バリュースター(流星型)の音源ボードにYMF288が載る件(その2)
以前、9821バリュースター(流星型)の音源ボードにYMF288が載る件で書いた件の続き。
縁あって、先日のレトロデジゲー博において、YMF288を搭載したG8XZUを動態展示*1させて頂く機会に恵まれ、会場でもそこそこ好評だったようなので、これから「俺もやってみたい!」などと言い出すあたまのおかしい勇者が増えることを見越して前回よりも詳細な説明を書いておくことにする。
98用マルチ音源ドライバ(仮) Beta4
全体的にリファクタリングしたらだいぶ安定するようになったので公開。
あとポルタメントとMIDIスルーが動くようになったらFIXして他環境へ移植かな。
演奏サンプルはこちら。(あえてOPL3のみを使ってみた)
ys2opl3.wma - Google ドライブ
マニュアルはこちら。
98用マルチ音源ドライバv0.4.pdf - Google ドライブ
配布アーカイブはこちら。
BETA004.zip - Google ドライブ
FM音源のEG波形
FM音源のEGパラメータは、多くの場合「感覚的に」設定され、その正確な技術的情報や物理的挙動についてはあまり知られていなかったり間違って伝わっている場合がある。というか、YAMAHAから詳細な情報が提供されてこなかった。
ここらで、「EGの実際の挙動」と、流布されてきた情報との違いについて整理しておく。*1
Envelope Generator(EG)の基本
一般的なFM音源のEGは、アタックレイト、ディケイレイト、サスティンレベル、サスティンレイト、リリースレイトの5つのパラメータで挙動が定義される。*2
EGの挙動には、4つのフェーズがあり、それぞれの移行契機は以下の通り。
- アタックフェーズ
Key-Off状態からKey-On状態になった瞬間にアタックフェーズが始まり、アタックレイトの値に従って発音レベルが増大する。
- ディケイフェーズ
音量レベルがTLで指定された最大レベルに到達した瞬間にディケイフェーズに移行し、ディケイレイトの値に従って発音レベルが減衰する。
- サスティンフェーズ
音量レベルがサスティンレベルで指定されたレベルに到達した瞬間にサスティンフェーズに移行し、サスティンレイトの値に従って発音レベルが減衰する。
- リリースフェーズ
Key-On状態からKey-Off状態になった瞬間にリリースフェーズに移行し、リリースレイトの値に従って発音レベルが減衰する。
*1:ここではいわゆるADSRのみ取り上げる。音源ごとのオプショナルな機能(KSR/KSLとかEG-BIASとかSSG-EGとかLFOとか)については稿を改める。
*2:ここでは、「EGの挙動を決定する抽象パラメータ」をカタカナ(アタックレイトとか)で、それを実装した音源チップのレジスタ名を英字略語(ARとかDRとか)で書き分けている。
98用マルチ音源ドライバ(仮)オープンベータテスト開始
FM音源の載ったPC-98x1を本格的MIDI音源モジュールにするソフトウェアのオープンベータテスト開始。
マニュアル
https://drive.google.com/file/d/0B55dygT8EkNISWpKdDNkcHBqTkk/edit?usp=sharing
本体・ソース・プリセット音色入りパッケージ
https://drive.google.com/file/d/0B55dygT8EkNIMTlFdmVONlFjdkU/edit?usp=sharing
フィードバックが特になくても続けるけど、フィードバックがあればモチベーションが上がるかも知れないw