DOC@FMP7

Feed Rss

exS98Pとは

s98形式の演奏データをFMP7で扱うためのaddonドライバです。
演奏には多連装音源システム G.I.M.I.C(以降GIMICと略します)が必須となります。

 

動作環境

FMP7.exeから呼び出されることが前提となり、addonディレクトリ直下に配置することで動作します。
他のディレクトリに置いて動作させることは出来ません。

動作にはGIMICが必須となります。独自に音源をエミュレートして演奏する機能などは今のところ実装されていません。
GIMICのファームウェアをUSB制御ファームに変更する必要があります。それ以外のファームウェアでは動作しません。

演奏には以下のいずれかのDLLが必須となります。同じディレクトリに置いて下さい。

c86ctl.dll

Windows上でGIMICの制御が可能となります。
G.I.M.I.C Wikiのページよりdownload可能です。
ver1.3.1.24(Release)以降を利用して下さい。

ioGIMIC.dll

c86ctlを利用せずに独自にGIMICの制御を行います。
ioGIMIC.dll利用時に限り、データの転送方式をHID/MIDI切り替えが可能です。
ver1.06以降を利用して下さい。
作成にあたりsonson氏より多大な助言を頂いています。この場にて御礼申し上げます。

利用させて頂いた各プログラムの作者に感謝します。

 

対応音源

OPNA/OPN3-L/OPM/OPL3モジュールに対応しています。
各音源の下位互換性を利用した音源の演奏も可能です。(PSG/OPN/OPL/OPL II)

 

対応形式

S98V1~V3までのデータに対応します。ただし、分解能が1/1000以上のデータは非対応です。

OPNAのADPCM利用データについても利用できます。

OPNA音源データのFM/SSGのミキシング管理に独自タグ「soundsystem」を利用可能です。
既存のデータへの独自タグの追加・変更などはRuRuRu氏が公開されているS98V3タグツールなどを利用して下さい。

 

制限事項

ハードウェアの制御を伴うため、たとえ動作条件を満たす場合でもすべての環境での動作を保証するものではありません。特にioGIMICを利用する場合はファームウェアのバージョンに密接に影響を受けます。
動作の確認を行ったファームウェアは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音量

サウンドカードによりFM/SSGのミキシング音量は統一されていないため、データによって音量比が異なっています。
幸いGIMICではこのFM/SSGのミキシング音量を指定することが可能です。演奏中でも変更は可能ですが、変えた瞬間にクリックノイズが発生します。
音量比はデータを作成した環境に依存しますが、現在のs98フォーマットにはFM:SSGの音量比の情報がありません。
exS98Pでは独自タグ「soundsystem」により、データごとの音量比を指定します。

デフォルトミキサー値

音量費の情報がない場合のミキサー値を指定します。

  • PC-9801-26K相当
    通称26K音源相当のバランス
  • PC-9801-86相当
    通称86B音源相当のバランス
  • PC-8801mkIISR相当
    内蔵音源相当のバランス
  • PC-8801FA相当
    内蔵音源相当のバランス
  • 独自指定
    上記以外のバランスを指定する場合に選択します。

音源システム別ミキサー値

独自タグ「soundsystem」で指定される音源のミキサー値を個別に変更します。
この値を変更した場合はデフォルトミキサー値の同システム名の音源の設定値も変更されます。

S98V3タグの利用

データ中の「soundsystem」を参照するかの指定を行います。

表示・変換

タイトルの表示や、ドライバ間で扱いの異なるデータの変換方法の指定を行います。

表示制御

  • 全角記号を半角に置き換える
    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

  • 公開

Comments are closed.


Top