PS2のBGM吸出し方法
PS2のBGMには種類があります。
ひとつはPSFという、音源と楽譜データからなりゲーム上で走らせるタイプ、PCでいうMIDIの様な形式と。単なる音楽ファイルを再生する形式がありますが、今回は音楽ファイルの方を説明します。
音声の場合はPSoundというソフトで聞けます。聞けないソフトもありますが
作者のサイトが消滅しましたが、ソフト自体ははGoogle等で調べれば出てくると思うので探してみてください。
どうせなのでおいておきます。ここです。 問題あれば消しますです
このソフトはゲームの効果音や音源データも聞くことが出来ます。
まずPSoundを開き『file』から『scan file』を選びます。
スキャンするファイルを聞かれるのでPS・PS2のディスクのかなにあるそれらしいファイルを開きます。
例えばVOICE.DATAとか、まぁいろいろあるので調べてみてください。
少しスキャンするのに時間がかかりますがCD、DVDバックアップソフトでゲームディスクのイメージを取ってそれをスキャンする方法もあります。これはディスクのなかみが見えない(ディスク容量より見えてるファイルの方が明らかに少ない)ときに使用します、それにこっちの方が確実です。
ためしにFF7ダージュ・オブ・ケロベロスで探してみましょう。
今回は、バックアップイメージをスキャンします。
結構時間がかかります。
まぁソリティアでもして暇つぶししててください。
検索結果は、4700個ほど音データが出てきました。
BGMの音源(単音だけ)データ(これについては後で説明します)となぜか、マージャン用語らしき音声が出てきましたw
「ロン!」とか「ツモ・・・」とかww
ゲームの本編以外にオンラインのミニゲームが付いてくるんですが多分それのデータかと。
残念ながらゲーム本編の音声は聞けないようです。
ちなみにマグナカルタをスキャンした時にはキャラの声がたくさん入ってました。
あと、このソフトには変換機能が付いています。
いないとは思いますが、スキャンで見つかった音をwavに変換したい場合は、
変換したい音を選択して『File』からConvertを選んでください。保存できます。
次はBGMの再生・吸出し方法ですが、これは結構ややこしい場合があります。その場合は特に吸出しが面倒です。
簡単なほうですが
結構みんな知ってるMFAudioというソフト。こちらからダウンロードできます。
パワプロ9決定版を例にしてみましょう。
ディスクにSOUNDというフォルダがあります。
その中にSTRBGMというファイルがあります。
それをMFAudioで開くとBGMが聞けます。
Streamという項目で選曲が出来ます。出来ない場合でひとつのファイルにアーカイブされてる場合は↓の方法を試してみてください。
『utput audio file』でwavに変換できます、
『File Format』をwavにして『Save As』で保存場所を決めます。
あとは『Process!』を押すと変換し始めます。
さてややこしいほうですが、正直こっちの方がつかえます。
この方法は一つのファイルにアーカイブされているPSSにも使えます。
音楽ファイルがどこにあるか解らない、または音楽ファイル以外のものがアーカイブされている、Interleaveの値がわからなくて音がおかしい、ときに有効。
今回はcubemediaplayerを使います。ここからダウンロードできます どうやらページが消滅したようです。ファイルはここにおいておきます。
あまり知られていないソフトですが、おそらくPS2の再生ソフトでは最強でしょう。
ただ中国のソフトで、しかもシェアウェアなのでお金を払わないと変換が出来ません。ページ消滅つき送金ができない状況です。
なのでMFAudioと組み合わせて使ってみることにしましょう。
ただしscanにものすごく時間がかかる上、ゲームによっては音楽ファイルが見つかるかどうか解りません。
見つからなくても泣かないでね。
必要なものですが、
Cube Media Player
MFAudio
参照型のバイナリエディタ(自分はBzを使ってます、ただし4GBを越えるファイルは最後まで読み込めません。
CD・DVDのバックアップソフト。
関数電卓(windowsのアクセサリーの電卓で十分です、表示を関数電卓にしておいてください。)
メモ帳(数値の一時記録に使います、記憶力に自身のある方は要らないですねw)
バイナリエディタが使える程度の能力。
です。
まず、CD・DVDバックアップソフトで、無圧縮のISOイメージを作成します。
(どのファイルに音楽が入っているかわかってる場合は必要ないです)
CubeMediaPlayerを開きます。
『File』から『scan File』を選びバックアップしたISOファイル(音楽ファイル)をスキャンします。
ただこの作業にはものすごく時間がかかるので寝ている間にでもさせておきましょう。
スキャン結果を『Save Playlist』で保存することが出来ます。
途中でスキャンを中止してももういちどファイルを選ぶとき開始オフセットを指定できます。
中止時にオフセットを記録しておくことをお勧めします。
運良く見つかりました、
ゲームは武蔵伝2です。
ちなみに、ムービーも見れます。
余談ですが、今からやることを応用すればムービーの吸出しも出来ますがファイルサイズが大きいため、バイナリエディタでデータをコピーする際にエラーになるかもしれません。
その場合はバイナリカッター等で切り出して見てください。
音楽ファイルを再生してみてください。
正常に再生できれば問題ないですが、ノイズが乗ったり音が変だった場合はInterleaveの値を変更します。
曲を選択して右クリックから『Propertis』を開きます。
このソフトはデフォルトが512なのでそのゲームの値がこれ以外だと音が変になります。
低すぎたら音が高く薄くなり、高すぎると左右がバラバラになり飛び飛びで再生されたりします
値は2のn乗になります(64、128、256、512、1024等)
変更するのは一番下の項目です
武蔵伝2の値は1024でした。
一つの曲がわかると他の曲も基本は同じなので同じ値を設定します。
ムービー以外全てを選択すると一括で変更することが出来ます。
それでも、ノイズが乗るようであればソフトがスキャン時点で、Start offsetかEnd offsetを間違えてます。
ズレを修正してやる必要があります。
それについては↓であらためて説明します。
次は音楽の抜き出しです。バイナリエディタを使います。
Cubemediaplayerで抜き出したい曲のスタートオフセットとエンドオフセットを確認してください。
この場合は『482580480』(始)と『488925184』(終)です
Cubemediaplayerはオフセットを10進法で表示しますが、バイナリエディタのアドレス部は16進法です。なので変換してやらないといけません。
関数電卓を起動してください。
10進の所にチェックを入れます。
さっきの数字をいれます。
そして16進のところにチェックを入れなおすと、数値がそれぞれ『1CC39800』と『1D246800』にかわります。
これで16進数になりました。簡単ですね。
次にバイナリエディタでISOイメージを開きます。
もし、プレーヤーで再生をしている場合は止めてください。
参照型のバイナリエディタで開いた場合アクセス違反が発生します。
スタートオフセットと、エンドオフセットを元に間をしコピーします
Bzの場合、ドラッグなりして少しだけ選択したあとにエンドオフセットを入力すれば楽に選択できます。
コピーをしたらバイナリエディタで新規作成をして、貼り付けます。
サイズがデカ過ぎてコピー出来なかったり選択出来なかった場合はバイナリカッター等で切り出してください。
これで、吸い出したい曲をまるまる抜き出すことが出来ました。
あとはファイルを保存してMFAudioで開くだけですが、必ず拡張子をつけて下さい。
なぜか拡張子無しはMFAudioで開くとエラーを起して終了します。
開いたら再生してみましょう。
ノイズが乗ってる場合はInterleaveがおかしいです。
Cubemediaplayerで表示された値は10進です。
ここでも10進数→16進数をしなければなりません。
このゲームの場合Intが1024だったので16進数に計算しなおすと400です。
これをMFAudioに入れてやりましょう。
きっと再生できるはずです。
プレーヤーがファイルの場所を誤認識してしまった場合。
『Edit』にある『Operations』からAudio Stert Offstで、開始オフセットを前にやったり後ろにやったりして音がよくなる場所を探す。(わかりにくい・・・)という手もありますが、確実なのは人間の目でヘッダを直接みて修正するのが一番だと思います。
再生がちゃんとできる他の曲ファイルのヘッダ部分を見て照らし合わせて見てください。
近くにそのヘッダと同じところがあるはずです。大体のファイルは規則性があるのですぐに見つかると思います。
曲の始めにノイズが乗る場合。
これはスタートオフセットやエンドオフセットをずらしてやると直るようです。(北方さん情報)
Interleave分だけずらしてみたりスタートオフセットとエンドオフセットを両方ずらしてみたりといろいろやってみてください。
曲自体の終わりがループ用に曖昧(?)になっている時稀に変換中MFAudioが固まるということがあるみたいです。
エースコンバットの曲を変換してみた時に起こりました。
ちゃんと対処はできます。
まず、固まったMFAudioを強制終了させます。多分かなり大きなwavファイルができていて、WMP等で再生しようとすると『コーデックが~~』ってなエラーメッセージが出てきて再生できません。 とりあえずまず最初にSoundEngine等の編集ソフトで開いてみてください。
素直に開くことができる場合は、おそらく音楽がしばらく流れた後、無音常態かピーというノイズみたいな音が流れると思いますので音楽がちゃんと流れる所をそのまま編集して切り取るなりなんなりしてください。 この方法でできなかった場合は少々強引ですが午後のこ~だ~を使って(別の物でもいいです、エラーがでなければ)一度MP3に変換します。
そして、もう一度wavに戻すと再生できるようになります。
やっぱり音楽がしばらく流れた後、無音常態か、ピーというノイズみたいな音が流れると思いますのでSoundEngine等の編集ソフトで音楽がまともなところを切り出し保存すれば完成です。
一曲目(数曲に1つ)のヘッダにしかファイル構造の記述がなくてCMPやMFAudioでinterleaveやoffsetをどんなに変えてもノイズが乗る場合。
数曲をひとつの曲として扱い変換すればちゃんと聞けるようになります。たぶん・・・
(声のデータは試してないんでわからないけどもしかしたらできるかも、誰か報告求ム
つまり特定の曲は正常に再生されるのに他の曲はノイズが乗ってしまう場合。
まず、正常再生される曲のStartoffset(開始位置)とノイズが乗る最後の曲のEndoffsetをメモって↑の方法で摘出します。
後は摘出したwavデータを編集ソフトで開いて切り出すだけです。
ちなみに試したのは聖剣伝説4です。(また手抜きか・・・。どうでもいいですが、最近スクエニ手抜き多い・・・音楽は好きですがね
フレーム使ってます。
検索ページからやってきてフレームが出てない方はコチラ
何か問題・質問があればBBSへ