2019年8月4日日曜日

DCの効果音っぽい音や音声を dtpkext.pyとdsfdtpk.pyで変換してみる

DCの中身を見る機会なんてあまりない。次の機会には、やり方を忘れていると思うので記しておく。

必要なもの(スクリプトはググって入手)

  • 変換したいサウンドデータ(バイナリエディタで見ると識別子がDTPKとなっているもの)とドライバ(AICADRV.BIN)
  • Python 2.7を導入しておく(3.Xだと実行時にエラーが出て、スクリプトを修正しなければならない)
  • dtpkext.py(dtpkext.zipの中にある)
  • dsfdtpk.py(dsfdtpk.zipの中にある)

手順

  1. 変換したいサウンドデータはyplpackというフォルダに、YPLPACK_??.binというかたちで32個入っているとする。
    dtpkext.pyとdsfdtpk.pyはAICADRV.BINと同じフォルダに入れておく。

  2. 声やSEなどのサウンドデータは、変換後に大量のファイルができると思うので、あらかじめフォルダを作っておいて、そこに変換後のファイルが入るようにするといい。例えば、\dsf。

  3. AICADRV.BINと同じフォルダにバッチファイルを作成する。例えば、moejus.bat。
    moejus.batの内容は―

    • dtpkext.py yplpack\*.bin dsf
      (これを実行すると、yplpackフォルダのYPLPACK_??.binを元にdsfフォルダにYPLPACK_??_???_??.DTPKというファイルが複数個作成される)
    • dsfdtpk.py AICADRV.BIN -a dsf\*.DTPK
      (これを実行すると、dsfフォルダの*.DTPKを元に*.dsflibと大量の*.minidsfが作成される
    • del dsf\*.DTPK
      (これを実行すると、dsfフォルダの*.DTPKを削除する。DTPKファイルは残しておかなくても問題ないから)
  4. 以上の3コマンドは、コマンドプロンプトから実行してもよい。他に変換したいサウンドデータがいくつかあったので敢えてバッチファイルにした。

  5. moejus.batを実行する。

    dsfフォルダに64個のdsflibファイルと5,312個のminidsfファイルができていた。
    これらが全てボイスかと思っていたらガッカリ。無音がとても多いのだ。

音楽プレイヤーで聴く

DSFプラグインの入った音楽プレイヤーに、*.minidsfをドロップする。

minidsfとdsflibは同じフォルダに入れておかなくてはならない。

midiっぽいdsfならfoobar2000で聴くのが一番良かったが、waveのようなdsfは聞くに堪えない雑音になってしまった。WinampかKb Mediaplayerで聴くしかない。

2019年8月2日金曜日

DCのmidiっぽい音楽をdsfmake.pyで変換してみる

聞き専wikiにMLT形式の変換方法が載っていたので、やってみたら上手くいった。やり方を忘れそうなので記しておく。

必要なもの(ツールとスクリプトはググって入手)

  • 変換したいサウンドデータ(*.MLT)とドライバ(MANATEE.DRV)
  • Python 2.7を導入しておく(3.Xだと実行時にエラーが出て、スクリプトを修正しなければならない)
  • dsfmake.py(dsfmake.zipの中にある)
  • bin2psf.exe(simple_psf_utils.zipの中にある)
  • psfpoint.exe(PSFPoint103.zipの中にある)

手順

  1. *.MLT、MANATEE.DRV、dsfmake.py、bin2psf.exe、psfpoint.exeは同じフォルダに入れておく。

  2. dsfmake.pyをテキストエディタで開いて、黄色いマーカーの箇所を修正する。
    これは修正したあとの状態。

    • nmlt = 変換したいサウンドデータ
    • bank = 初期値の0x00でスクリプトを実行してみて、何もできていなかった場合は0x01にする
  3. dsfmake.pyを実行する。

    変換が上手くいけば、サウンドデータと同じフォルダに拡張子がdsflibと大量のminidsfファイルが出来上がっている。
    minidsfファイルは1KBしかないので、ついゴミと勘違いしてしまう。うっかり削除しないように気をつけないと。
    そして、minidsfとdsflibは同じフォルダに入れておかなくてはならない。

音楽プレイヤーで聴く

DSFプラグインの入った音楽プレイヤーに、*.minidsfをドロップする。

私は普段Winamp5.7を愛用しているが、この時ばかりはfoobar2000で聴くのが良いと感じた。WinampやKbMedia Playerだと、BGMの集まりの中に短い効果音的なメロディが混じっていた場合、default play lengthの間、無駄にシーーンとなってしまうことがあるのだ。その点、foobar2000は短い曲が終わったと思ったら次の曲へ進んでくれる。wavやmp3への変換も容易だ。