coding, photo, plant and demo

*Linux用psf/psf2再生ツール psf2wavを作った

tech audio 20140313 001714

psf2wav

(書きかけ)

PS/PS2の音楽データをリップしたpsf/psf2形式のデコーダを作りました。
といってもsexypsfとhighly experimentalの両方を突っ込んで繋げただけですが。
linuxとcygwinで動作を確認しました。

曲の長さなどのtagも取得できないとかループ制御など出来ないなど、まだ作りかけですが、
これでMPD経由でpsfも再生できるようになりました。

使い方、ビルド方法などは
https://github.com/mitsuman/psf2wav
にあります。

利用したライブラリ

projects.raphnet.net
sexypsfはPS1ベース(PCSXというPS1エミュがベース)のサウンドエミュレータです。PSFのみに対応。その昔、modpのpsf対応したときもこれを使いました。今回は本当にただ繋げただけですが、modpでは鍵盤表示とかに対応するためにSPU側のレジスタを読むようにしたのかな。もうよく覚えてません。特徴としてはBIOSを実装しているのでROMが不要なことです。

www.neillcorlett.com/he
highly experimentalはPS2ベース(結局IOP+SPU*2なのでコード的にはPS1とほぼ同じ)のサウンドエミュレータです。PSF/PSF2に対応しています。正直こっちだけの対応で良かったかな。ただこちらはBIOSのROMが必要になります。これをレポジトリに含めるのは危険なので、foobar2000のプラグインのfoo_psfに含まれているhebios.binを使うようにしてますが…このBIOSの出処も怪しい気もします。中をみるとHighly experimentalの文字とSony Computer Entertainment Inc.の文字が同居しています。なんじゃこりゃ?

ちなみにPS2ともなると、ADPCM等で丸ごと曲を入れてしまうゲームが多いと思うので、PSF2に対応する意味はPSFと比べれば小さいかな。PS3にもなると古典的なサウンドドライバは絶滅してると思います。シーケンスデータや音色がROMに入っているというのは夢があったと思うんですが、もうそういう時代にはならないよなーきっと。ゲーム業界界隈のこの辺りの事情はmjtさんの各社オーディオミドルウェアSDKが面白いです。