Top
FM音源 再生比較
2013年 01月 18日 *
かつてゲーム音楽にFM音源が使われていた時代があった。
ゲームセンターの基盤に搭載されていたYM2151が有名だが、今回はPC-98に搭載されていた86音源をWindows上でどこまで再現できるか調べてみた。
とはいえ20年前に旬だった情報が今のネットに豊富に転がっているはずもなく。
過ぎ去った年月を考えると、こればかりは仕方ないが、でも熱かった時代のことを想像してみるのも面白いかもしれない。

FM音源ドライバーズサミット(1)


上記はFM音源の歴史を振り返る上で貴重な資料である。
これによると、FM音源を鳴らすためには、にはFM音源チップが搭載されたサウンドボードはもちろん、それに対応するFM音源ドライバが必要だった。
今の考え方だとメーカーが配布しているドライバをPCにインストールすれば使えると思いがちだが、どうやら作曲者がゲーム用のFM音源ドライバから自作していたらしい。

ところで有名なFM音源ドライバの一つにKAJA氏の「PMD」があり、PC-98時代のゲームの多くに採用されている。
曲のファイル拡張子は*.M形式で、梅本氏の作品もEVE、XENONなどはこの形式で作られている。
YU-NOはPLAY6というドライバで作られており、PMD系の再生環境で聞くことはできない。

では現在の環境でYU-NOの音楽を聴くにはどのような方法があるだろう。
(ここから先は若干グレーな内容が含まれるので自己責任でお願いします。)

一つはPC-98エミュレータを使用する方法があり、エミュレータの種類によってFM音源の再現度が異なる。
サウンドの観点から言えばT98-Nextが良いと思う。
86音源ボードのエミュレーション用としてfmgenが使われている。
YU-NOの曲を聴く場合はゲームクリア後に現れる音楽室かMSDPというPC-98用の音楽プレーヤーソフトを使って聴くことができる。

なおMSDPでYU-NOの曲を再生する場合は別途MSDPモジュールを入れておく必要がある。
またPLAY6を常駐させるコマンドは同梱資料にも書かれてあるが、
PLAY6 s -#20

常駐解除コマンドは
PLAY6 /R
となる。

こうしてYU-NOの曲をWindows上で聴くことが可能になる訳だが、実機と比べてどの程度の再現度なのだろう。
少なくともWindows版のYU-NOよりは音は良いみたいだが。

次に実機を使って録音したとされる下記の動画を見つけた。

【東方原曲】東方怪綺談 Romantic Children【PC-98実機再生版】


同人ソフトで有名な東方の曲にはPMDが使われており、これらの曲をWindows上で聞く方法として以下のものが挙げられる。

・hoot
・T98-Next(PC-98エミュレータ)+MSDP
・FMPMD2000
・FMP7+exPMD(PMD形式の曲を再生するaddonモジュール)

これらは全て前述のPMDWin.dllが使用されているので、どれも再現度は同じになりそうだが、各ソフトで設定方法が異なりデフォルト状態では同じ演奏にはならない。
まず実機の演奏に近づけるにはリズム音源のwaveファイルを指定のフォルダに入れておく。
PMDWinのreadmeにもある通り、必要なwaveファイルは以下の6つ。

2608_BD.WAV ;バスドラム
2608_SD.WAV ;スネアドラム
2608_HH.WAV ;ハイハット
2608_TOP.WAV ;シンバル
2608_TOM.WAV ;タム
2608_RIM.WAV ;リムショット

ただしT98-Nextには予め組み込まれているようなので不要。

■設定方法
・FMPMD2000
リズム音源のディレクトリを指定。
SSG+RHYにチェックを入れる。

・T98-Next+MSDP
PPSDRVを常駐させてからPMDB2を常駐させる。
具体的にコマンドとしては、
PPSDRV
PMDB2 /N-
MSDP
の順となる。

この設定で再生すればMSDPとFMPMDの演奏はほぼ同じになるが、T98-Nextの演奏が若干テンポが安定しないので演奏面ではFMPMD2000の方がいいかもしれない。
ただグラフィック的な観点ではMSDPの方がいいかもしれない。

・hoot
これに関してはリズム音源の入れ忘れに注意すれば後は解説サイトが沢山あるのでそちらを参考にすれば大丈夫だと思う。
ただそもそも起動できないという場合は、hoot掲示板の以下の書き込みを参考に。
DirectX Runtime
http://www.microsoft.com/downloads/ja-jp/details.aspx?displaylang=ja&FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3
Direct3D系のDLLが不足する場合、取ってきてくれると思います。

Visual C++ 2005 ランタイム
以下の3つを全ていれてみてください。
(Windows2000ではインストールすることで不具合が出ることもあるようです。今回動作環境対象から外れていますのでご注意ください)
※なお、現在リリースされているhootはx86バイナリのため、x64のOSを使用している方でもx86のランタイムを入れる必要があります。

Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)
http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=ja

Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ ATL のセキュリティ更新プログラム
http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=766A6AF7-EC73-40FF-B072-9112BAB119C2&displaylang=ja

Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ MFC のセキュリティ更新プログラム
(2011/06/15の定例アップデートにより更新)
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=ae2e1a40-7b45-4fe9-a20f-2ed2923aca62&displaylang=ja

その後、Windows Updateもおためしください。

・FMP7+exPMD
PMDWinのオプションでリズムWAVのパスを指定。
SSGリズムと同時にOPNAリズムを鳴らすにチェックを入れる。
その他、PCMを使用する曲を再生する際はPPC検索パスも適宜設定しておく。


と以上の設定により、4つの方法とも同じような演奏になるはずだが、リズム音源の再現度においては、
MSDP、FMPMD2000 < hoot、FMP7
のような気がする。

次にhootとFMP7を比較した場合、hootで色々な曲を聴いているとたまにFM音の再生が違っていることがあるので、
hoot < FMP7
のような気がする。
FM音の音色にはほとんど違いがないと思うが、FMP7の方が若干きれいに再生できている感じがする。

という訳で、自分の中でFMP7はかなりいいという結論に達した。
またFMP7にはMMLで自分で曲を作るツールも用意されていて、大変素晴らしいソフトである。

ただ最初に取り上げたFM音源ドライバーズサミットの動画にもある通り、FM音源が使用されていた当時は様々な技術的な制約があり、だからこそ作曲能力が鍛えられたと語られている。
技術が進歩した現在、FM音の数の制約に縛られることなく曲作りが可能になった訳だが、だからといって必ずしも曲が良いとは限らない。
むしろ当時の制約の中で生み出された曲に魅力を感じるのは私だけだろうか。


■参考サイト

PMD配布
かぢゃぽんのお部屋
http://www5.airnet.ne.jp/kajapon/

なおゲームをするのに必要なPMDはソフトに含まれていて、例えば、東方の体験版にも同梱されている。
AOTAKA.jp = Amusument Makers お試し版
http://www.kt.rim.or.jp/~aotaka/am/get.htm

音楽室用
YU-NOセーブデータエディタ
http://www.vector.co.jp/soft/dos/game/se076028.html

PC-98エミュレータ用HDDイメージ
http://mwlab.net/download?category=25

MS-DOS無しでPC-98版のYU-NOをプレイしよう
http://bmky.net/diary/log/2280.html

Windows上で、YU-NO・EVE・DESIREの曲を楽しもう
http://www.geocities.co.jp/SiliconValley-Oakland/9295/FM.htm

hootの使い方
http://www.itarunsearch.com/willowxx400/diary.cgi?field=7
[PR]
by nochoice1 | 2013-01-18 23:37 | Comments(0) *
<< 幻覚 ページトップ 眠っている記憶 >>
The Original by Sun&Moon