Home > Programming > S98Player for Macを作ってみる

S98Player for Macを作ってみる

懐かしのOPNAでも書きましたが,微妙に懐古趣味に走り出した今日この頃.ネットを徘徊していたら,どうやらPC98本体からOPNAボードに流すサウンドデータをダンプしたファイルフォーマットがあることを知りました.拡張子はS98.

ひとまずネットでダウンロード可能なS98ダンプデータを,既存のMac用S98プレイヤにぶちこんで聞いてみました.
ざっと探して見つかったプレイヤは以下の2つ.

前者は日本の方の作品です.YM2608に限らず,様々なチップでのサウンドログファイルを再生させるためのソフトウェアらしく,プラグインで拡張できるように設計されています.
つい最近S98ファイル用のプラグインを公開されたようですが,残念ながら手持ちのファイルはどうもうまく再生されませんでした.どうもバッファ処理まわりでうまくいってない雰囲気.あと,再生周波数も半分くらいになってる感じで,音程が低かったです.

プラグインの方はソースが公開されていたので覗いてみたのですが(プレイヤのほうのソースが見当たらなかったのでいまいち全貌は掴めませんが),OPNAのエミュレーションはciscさんによって公開されているfmgenを利用している様子.
こちらはリズム音源をWAVで用意する必要があるのですが,このプラグインではいまのところ設定できないようです.リズムなし.

後者は海外のソフトウェアですが,S98に対応しているとの事でこちらもトライ.
...音程やらは良いのですが,こんどは音が抜けている....かなりお間抜けな感じに.
MAMEのコードを利用しているのかは分かりませんが,リズム音は入っています.なかなかそれっぽい.しかし,3音くらいしか同時になってないような....エミュレーションしてるのがOPNAではないのかも.


5分ほど迷った結果.
とりあえず,自分で作ってみました(笑
コマンドラインで動く即席バイナリはこちら.Autoreleaseなのにpoolループ作ってねぇぞ,とか怒られますが,そこはほら即席なので.
GUIかぶせる際にでも直します.
使い方ですが,ダウンロードしたS98Player.tgzを解凍したら,そのカレントディレクトリに移動し,以下のコマンドを打つだけです.エラー処理とかしてないので,存在しないファイルとか指定するとすぐに終了してしまいます^^;

./S98Player   Rhythmデータのあるディレクトリ   S98ファイルのパス

と打ってリターンです.ループのあるデータは2周して終了します.

Rhythmデータを持ってない方もいるかと思いますが,僕はこちらのサイトで公開されているデータ(リズムライブラリと書かれているファイル.とりあえずどちらでも大丈夫)をダウンロードさせていただきました.


このソフトを作る際にお世話になったソースや情報源たちを備忘録代わりにのせておきます.

  • chipplay with s98plugのプラグインのソースではfmgenが既にMacでコンパイルできるようになっていましたので利用させていただきました.
  • S98プレイヤを作ってみるのページでは,S98のファイル構造とfmgenの利用法について知る事が出来ました.
  • /Developer/Examples/CoreAudio/SimpleSDK/DefaultOutputUnitには,直接オーディオデータをいじくる方法についてのサンプルがあります.
  • ADC Developer Transition Resource Centerには,エンディアンの違いによるビットのフリップなどを効果的に行う方法が載っています(そう,このソフトウェアはUniversal Binaryであり,Intel Macでもおそらくきちんと動きます).

面倒だったのは,S98ファイルやWAVファイルがLittleEndianでデータが格納されているので,ビットフリップのコードを書き足した事くらいでしょうか.
それ以外は至って簡単です.それにしたって,fmgenはインタフェースといい,良く出来ています.凄い.

しかしこういう趣味的な(そして,対象がかなり狭い)ソフトウェアを書くのは楽しいですね(笑 いい気分転換になります.
GUI化は,来週までの論文執筆が終わってから.
FMやPSG,Rhythmのサウンドのバランスに関しても,今は僕好みになってますが(デフォルトからだいぶ変わってます),暇になったらそれも調整できるようにしますかね.

Comments:0

Comment Form

Trackbacks:1

TrackBack URL for this entry
http://blog.hiroaki.jp/mt/mt-tb.cgi/320
Listed below are links to weblogs that reference
S98Player for Macを作ってみる from Hirolog
S98Player for MacのGUI版を作ってみる from Hirolog 2006-01-21 (土) 23:45
論文を書き終わってから…ということだったのですが,進みが遅い時の気分転換に作って...

Home > Programming > S98Player for Macを作ってみる

Search
Feeds

Return to page top