s98形式の演奏データをFMP7で扱うためのaddonドライバです。
演奏には多連装音源システム G.I.M.I.C(以降GIMICと略します)が必須となります。
動作環境
他のディレクトリに置いて動作させることは出来ません。
動作にはGIMICが必須となります。独自に音源をエミュレートして演奏する機能などは今のところ実装されていません。
GIMICのファームウェアをUSB制御ファームに変更する必要があります。それ以外のファームウェアでは動作しません。
演奏には以下のいずれかのDLLが必須となります。同じディレクトリに置いて下さい。
c86ctl.dll
ioGIMIC.dll
ioGIMIC.dll利用時に限り、データの転送方式をHID/MIDI切り替えが可能です。
ver1.06以降を利用して下さい。
作成にあたりsonson氏より多大な助言を頂いています。この場にて御礼申し上げます。
利用させて頂いた各プログラムの作者に感謝します。
対応音源
各音源の下位互換性を利用した音源の演奏も可能です。(PSG/OPN/OPL/OPL II)
対応形式
OPNAのADPCM利用データについても利用できます。
OPNA音源データのFM/SSGのミキシング管理に独自タグ「soundsystem」を利用可能です。
既存のデータへの独自タグの追加・変更などはRuRuRu氏が公開されているS98V3タグツールなどを利用して下さい。
制限事項
動作の確認を行ったファームウェアはver 3.00.r178です。その他の版では動作の検証は行っていません。
GIMIC制御を行うDLLを変更した場合は一度FMP7.exe自体を再起動して下さい。c86ctl.dllのunloadが正常に行えない場合があり、そのまま演奏を行うとFMP7.exe自体がエラーで落ちたり、関係のないエラーメッセージが出力される場合があります。
c86ctl.dllのバージョンは必ず指定のものを使用して下さい。バージョンはc86ctlのダイアログより確認できます。
c86ctlを利用する場合は、マスクの処理は動作しません。パートのマスクを行いたい場合はioGIMICを使用して下さい。
ただし、OPL音源のリズムパートでは「スネアドラム、ハイハット」のいずれかのパートに対してマスクを指定した場合に両方のパートに同時にマスクがかかります。解除も同様の動作となります。また、同じことが「タム、シンバル」の組み合わせでも発生します。
演奏データはGIMICにのみ送られるため、FMP7側には音声データは一切送られません。よって、レベルメータには何も表示されず、WAVE出力も行えません。
演奏データの情報生成は行なっていますが、現在のところ実際に鳴る音との同期がずれています。そのうち改善されるかも…
オプション
about…
「FMP7」のロゴをクリックすることで、サポートサイトにアクセス出来ます。
以下のライブラリを使用しています。
Anti-Aliasing Font Generator Copyright ©1997-2010 HypS
以下のデータを使用しています
Graphic Design Copyright ©2011 せんたろ
以下の外部ライブラリを使用しています
OPx Status Disp for GIMIC/C86USB Copyright ©2011-2012 HONET
MIDI/HID I/F for G.I.M.I.C 「ioGIMIC」 Copyright ©2011-2012 Guu
演奏
演奏制御
- 再生にG.I.M.I.Cを使用する
現在のところ変更は出来ません。演奏にはGIMICが必須です。 - ioGIMIC.dllを使用して制御する
c86ctl.dllを利用せずに、独自にGIMICの制御を行います。GIMICのF/W更新などで動作しなくなることがあります。 - 送信データの最適化を行う
s98データ中に存在する冗長なデータをGIMICに送信せずに切り捨てます。データ転送量を抑えることで、テンポのもたりなどの改善がある場合があります。
通信方式
- HID方式
GIMICの制御をHIDインタフェースを用いたパケット通信にて行います。 - MIDI方式
GIMICの制御をMIDIデータ信号を用いたパケット通信にて行います。デバイス番号などは常に自動で検出されます。指定を行うことは出来ません。
SSG音量
幸いGIMICではこのFM/SSGのミキシング音量を指定することが可能です。演奏中でも変更は可能ですが、変えた瞬間にクリックノイズが発生します。
音量比はデータを作成した環境に依存しますが、現在のs98フォーマットにはFM:SSGの音量比の情報がありません。
exS98Pでは独自タグ「soundsystem」により、データごとの音量比を指定します。
デフォルトミキサー値
- PC-9801-26K相当
通称26K音源相当のバランス - PC-9801-86相当
通称86B音源相当のバランス - PC-8801mkIISR相当
内蔵音源相当のバランス - PC-8801FA相当
内蔵音源相当のバランス - 独自指定
上記以外のバランスを指定する場合に選択します。
音源システム別ミキサー値
この値を変更した場合はデフォルトミキサー値の同システム名の音源の設定値も変更されます。
S98V3タグの利用
表示・変換
表示制御
- 全角記号を半角に置き換える
DOS時代には固定幅ピッチで表示されていた文字はFMP7ではプロポーショナルフォントを使用して表示されます。
しかし、多くのフォントでは全角記号(含む、全角アルファベット、数字)にはプロポーショナル情報が含まれていません。これらの文字を半角文字に置き換えることで自然な表示となります。 - s98byが未定義の時 artist を代用
s98作成者のタグが無い場合にartistタグを代用します。 - PCM転送時にダイアログ表示
OPNAのADPCMデータ転送を行う際に進捗のプログレスバーの表示を行うかを指定します。
変換制御
変換は実際の演奏に影響を与えるものではなく、FMDSP7などで表示を行った際にどのように扱われるかの指定を行うものです。
- 最大音量を127に揃える
最大値が127でない音量を0~127の範囲となるように調整し変換します。 - 適当に音階を割り当てる
演奏データの並びから推測した音階を算出します。 - 適当に音長を割り当てる
演奏データの並びから推測した音長を算出します。 - 適当の音色番号を割り当てる
演奏データの並びから推測し、音色番号を算出します。
OPL音源の場合にのみ、チェックを外した場合に以下の動作となります。- 百の位 2opの場合は 0、4opの場合は 1
- 十の位 WAVE SELECT値
- 一の位 CONNECTION SELECT値
- 周波数のずれをDETUNEに変換
音階決定後から次のキーオンまでの周波数変化をDETUNE値に反映させます。
タイトル表示タグ
-
s98フォーマット中のタグについてタイトルとして表示させたいものを選択します。選択可能なタグは以下の通りです。
- title
- game
- system
- year
- copyright
初期設定
注意
-
本オプションはレジストリの操作を行うため、実行には管理者権限が必要となります。
レジストリの状態によっては、この画面からでは正しく関連付けが行われない場合もあります。
そのような場合にはエクスプローラーなどの関連付けを利用して行って下さい。
関連付け
-
関連付けを行いたい拡張子のアイコンボタンを押し込みます。
実行モジュールにすでに関連付けが行われている場合はボタンが押されている状態となります。
登録は「実行」ボタンを押すことで行われます。そのままオプションウィンドウをキャンセルした場合や、「OK」「適用」のボタンを押しただけでは行われませんのでご注意下さい。
特殊関連付け
-
Windows Vista/7ではエクスプローラーが独自に関連付けの情報を持っており、この情報が優先して利用されるため通常の関連付け情報だけでは正しく起動が行えない場合があります。
そのような環境の場合は「エクスプローラーの特殊関連付けを消す」にチェックをして「実行」を行うと指定した関連付けが行われることがあります。
Windows XPでは本現象は発生しないため不要です。
拡張子一覧
-
拡張子 データの意味 .s98 音源ダンプデータ
更新履歴
1.02n
- 2代目マザーボード USB F/W対応
- FM/SSGバランスにsoundsystem参照処理実装
1.02i
- OPL3ボード対応
- FM/SSGバランスのデフォルトリスト追加
1.01b
- 公開