ドメインも戻って一度正式にサポートの案内をさせて頂きます。

ドライバ類はアーカイブセンターで管理しています。

FMP7とは

Windows環境にてFM音源(OPNA/OPM)、SSG音源(PSG)、PCM音源をソフトウェアエミュレートで再現し、演奏するドライバです。

特徴

音源のすべてをソフトウェアエミュレートにて実装しています。特別なハードウェアの追加を行なうことなく、すべての機能を利用することが出来ます。
音源コアにはその再現性で評価の高いcisc氏作FM Sound Generatorを利用させて頂きました。
FM Sound Generator ver 008 Copyright ©1998,2003 cisc

ただし、各音源に対して元の出音に影響を与えないように配慮した上で、独自の拡張を行っています。
FMP7でのそれぞれの音源部について解説します。

OPNA音源

FMPv4(MS-DOS版 FMP ver4系)がサポートしていた音源です。チップ型番はYM2608となり、OPN音源であるYM2203の上位互換音源です。
NEC/EPSON互換機系のPCで多く利用されていた音源で、88/98ユーザーに馴染みのある音源となります。

本来のOPNA音源の発音性能は以下の通り

  • 4op FM音源6ch
  • SSG音源3ch
  • リズム音源6ch
  • ADPCM音源1ch

このうち、FMP7では「4op FM音源」の部分のみを指してOPNA音源と呼んでいます。
この音源部分について、さらに以下の拡張を行っています。

  • 発音数を6chから32chに拡張
  • ハードウェアLFOを全ch独立して指定可能
  • 全chでオペレータごとに発音周波数を指定可能
  • 独立した音量管理を実装
  • パンポットを3段から128段に拡張

独立した音量管理については、後述します。

OPM音源

その名を一般に有名としたのはSHARP製パーソナルワークステーションX68000に搭載されたことだと思っています。
アーケードゲーム基板で多数利用され、同じくSHARP製X1でも採用されていた音源です。
チップ型番はYM2151となり、OPN系音源と同じ4opですが、制御方法などはかなり違いがあります。

OPM音源の発音性能は以下の通り

  • 4op FM音源8ch

OPNA音源と異なり、このチップはFM音源のみ扱う音源です。FMP7では以下の拡張を行っています。

  • 発音数を8chから32chに拡張
  • ハードウェアLFOを全ch独立して指定可能
  • 全chのslot4でノイズ出力が可能
  • 独立した音量管理を実装
  • パンポットを3段から128段に拡張

SSG音源

FMP7で実装している元音源は厳密にはPSG音源(AY-3-8910)なのですが、SSG音源と呼ばせて頂いています。ここでもその名前で話しをさせて頂きます。
本来は矩形波のみの発音しか行えず、貧弱な音源と思われがちですが、ソフトウェアで様々な制御を加えることで立派な味のある音源に生まれ変わったのがこの音源です。
どのあたりのドライバが実装発祥であるかなどは詳しくないので、音源の機能を高めた点についてだけ言わせて頂くと

  • ソフトウェアエンベロープ
    音量に対して簡単にアクセントをつけることが可能となり、そのままではのっぺらとした音に抑揚をつけることが出来ます。
  • ディチューン
    音程を微妙にずらし、多チャンネルで同時に発音することで音に厚みがつきます。
  • LFO(ビブラート)
    もう説明不要。ビブラート効果はSSG音源ばかりでなく、FM音源でも利用価値の高い処理です。

当時の標準BASICではこれらのことを行なうことが出来ないものがほとんどでした。
さて、話しが脱線しそうなので元に戻します。
FMP7では、元のSSG音源に対して以下の拡張を行ったものをSSG音源と呼んでいます。

  • 発音数を3chから32chに拡張
  • ハードウェアエンベロープを全ch独立して指定可能
  • 全chで独立したノイズ周波数の指定が可能
  • 独立した音量管理を実装
  • パンポットを128段実装
  • 出力波形に「三角波」「パルス波」「のこぎり波」を追加

波形追加は行なうかどうか最後まで悩みましたが、結局複数波実装しました。もはやSSGと呼べる範疇ではなくなったとも言えますが、これがFMP7でのSSG音源です。
SSG音源として使いたい方は拡張機能を使用して頂かなければ本来のSSG音源を再現して頂くことも可能で、もちろんカロリーもそのほうがお得です。

PCM音源

特に特徴はありません。一般的なPCM音源です。44.1KHz、16bit、モノラルのデータのみ扱えます。
ステレオのデータを再生したい場合は2ch使って、同時に発音させて下さい。chは他の音源同様32chまで利用可能です。すべてステレオ再生させても16ch使えます。

FMPv4の頃から変わったことといえば、複数のPCMファイルからピックアップしてPCMを利用可能になったことでしょうか。
毎回PCMファイルを構成しなおして頂くのも結構ですし、過去に使用したPCMファイルから必要な音だけを指定して頂いても結構です。
どのPCMが実際に演奏時に必要かはコンパイル時にFMC7がすべて自動で判断してくれます。
使っているものだけ定義しなくても、使った音だけ抜き出してくれますので、その辺りは人間は楽して下さい。

一応スペックを書いておきます。

  • 発音数32ch
  • ソフトウェアエンベロープを全ch独立して指定可能
  • 独立した音量管理を実装
  • パンポットを128段実装
  • ループ再生対応

あまり使っている方いないようですが、ソフトウェアエンベロープは結構便利です。ぜひ。

音量コントロール

詳しくはこの辺りを参考にして頂きたいのですが、FMP7では音源の音量指定に依存しない独自の音量管理を行い、それをMML上のvコマンドで指定可能としています。
この制御を導入したことで、FM音源で常に128段階の音量表現を行なうことが出来るようになりました。また、SSG音源では本来音量制御が効かないハードウェアエンベロープ使用時にも音量コントロールを行なうことが可能となっています。
逆に、今まで音量を意識することなく定義された音色データはその変更を行わなければならなくなりました。このことについては利用者に対して面倒をお掛けしていると感じています。

最後に

FMP7はスペック的には過去の音源を超える性能を持っています。
ですが、それを活かすも殺すも使う方次第です。
レトロ音源にもなれば、DOS時代では再現出来なかったゲームサウンドの再現が出来たり、あり得ない発音のドライバにも化けます。

その音はみなさん自身が感じてみて下さい。
多分、どの音も懐かしい音に聞こえると思いますよ。

作品はこちらにまとめられています。
お聞きになった作品の感想をお待ちしています。
公開して下さった作者に感謝の気持ちを忘れずに。