私のホームページからの転載です。
長らくホームページの方は更新してないのでこれからはブログメインでやっていきます(´・ω・`)
少々内容を更新しました。
※2020/05/05 コメントに一部データのダウンロード先がおかしいとの事で修正しました!
内蔵音源抽出方法
※注意※
※これはあくまでも個人なりのやり方ですので間 間違っている可能性もあります。
※この行為によって破損や事故など起こった場合 一切責任を取りません。
※絶対にヘッドホンで音楽を調べるのはやめてください!
スピーカーかつ音量を小さめにして調べてください!
まず最初に内臓音源の場合は抽出できるものあるものあれば出来ないものもありますので
そこのところはきちんと覚えておいてください。
ここではパンツァードラグーンツヴァイとAZELパンツァードラグーンを中心として
抽出しています。(好きだったのでwヽ(*´∀`)ノ)
STEP①
まず必要な物の集めます。
・python
http://www.python.org/
左側のDOWNLOADクリックし最新python(windows binaryの方)をクリック
・SSF_010_beta
http://www7a.biglobe.ne.jp/~phantasy/ssf/
「古いバージョンはこちら」をクリック次にVer0.10 betaをクリック
・ssfdump.py ・ssfmake.py ・ssfinfo.py
・tonext.py ・seqext.py ・ssftime.py ・AOSSF plugin pack
http://snesmusic.org/hoot/kingshriek/ssf/
playersの3つ目にAOSSF plugin packがあるのでクリックその後aossf 1.21を探してダウンロードする
SFF-related Python scriptsの下にあるものを(一応)全てダウン ロードする
・pmdump.exe
https://web.archive.org/web/20160410152138/http://www.ntsecurity.nu/downloads/pmdump.exe
・bin2psf.exe
http://sourceforge.jp/projects/sfnet_vgmtoolbox/
ダウンロードのwindowsのvgmtoolboxをクリック
ダウンロードできたらvgmtoolbox内のexternalのbin2psf.exeを取り出す又はコピー
・KbMedia Player
http://www.vector.co.jp/soft/win95/art/se175675.html
ダウンロードページへをクリック次に今すぐダウンロードをクリック
STEP②
KbMedia Playerの設定
SSF形式の音楽を聴くためにはプラグインを導入しなければなりません
1.ダウンロードしたaossf 1.21を解凍したものをKbMedia PlayerのPlugins内に全て入れてください
2.KbMedia Playerを起動しツールをクリックし環境選択をクリック
3.演奏設定の右下の曲の長さを変える (出来れば10分くらいとループも10回以上に設定しておく)次に 適用をクリック
これで設定は完了です
抽出方法1
1.pythonをインストールします。
2.SSF_010_betaを解凍します、その後SSF(エミュレータ)を起動する。(エミュレータの使い方は調べてくだ さい)
3.新しいファイルを作り(名前を変えてよい)そこにssfdump.py pmdump.exe bin2psf.exeを入れる
4.SSF(エミュレータ)で抽出したい音楽をながす
5.SSF(エミュレータ)で 目的の音楽が流れた状態でssfdump.pyをクリック
6.作ったファイルの中にssfdata.bin ssf.bin ssfdata.ssfが生成される
7.その中のssfdata.ssfが音楽ファイルです
これで内臓音源が抽出できましたが、音楽が流れるか流れないかKbMedia Playerで調べます。
流れたのならssfdata.ssfをリネームかデータを移動する。
音楽が流れないという人は抽出方法2へ
抽出方法2
1.pythonのIDLE(python GUI)を起動します
2.FileのOpenをクリックしssfdump.pyを開く
3.下にスクロールしPARAMETERSに移動
4.音が出ない&目的の音楽と違う音楽が流れる場合はtrackの値を+1する 効果音が鳴る場合はbankを+1する
5.値を変えたらFileのSaveをクリック
6.作ったフォルダの中のssfdump.pyを起動する
これで作ったフォルダの中にssfdump.ssfが抽出されるのでそれをKbMedia Playerで確認する
鳴らなければ4に戻り繰り返す。流れたのなら ssfdata.ssfをリネームかデータを移動する。
それでも流れない人は抽出方法3へ
抽出方法3
今から行う手順は直接CDからデータを取り出す(もしかしたら+α)方法です
必ず「すべてのファイルとフォルダを表示する」設定しておいてください
CDからファイルを取り出すわけですが、サターンディスクの中に数多くあるデータの中から音楽のデータを自分で探さなけ ればいけません
サターンディスクから サウンドドライバ(.TSK) トーンデータ (.BIN) シーンケンスデータ(.SEQ) DSPプログラム(.EXB) を取り出し
ssfmake.pyのフォルダの中にあった拡張子「.MAP」のデータ サウンドエリアマップ(.MAP) が必要です
※CDの中にSEQやBINがない場合はしたの「トー ンデータ(.BIN) シーンケンスデータ(.SEQ)がサターンディスクに 無い場合」へ、移動してください。
1.ssfmake.pyのフォルダの中にbin2psf.exeを入れる
2.音楽を抽出したいサターンディスクをいれ、開く
3.CDの中から音楽らしきデータ(.BIN .SEQ)とDSPプログラム(.EXB)とサウンドドライバ(.TSK)をデータを取り出しssfmake.pyのフォルダへ入れる。たとえばAZEL パンツァードラグーンの場合は
A3BGM1_1.SEQ A3BGM.BIN A3DSP1.EXB などといった、いかにも音楽と思わせるデータがありますね そういう音楽らしいファイルを探し、 ssfmake.pyのフォルダへ取り出す。
分かりやすくいうと 例えば 1BGM.SEQ 2BGM.SEQ 1BGM.BIN 2BGM.BIN 1DSP.EXB 2DSP.EXB SDDRVS.TSKというデータがあるとすると
1の付いたファイルは「1」という音楽のファイル関係である 2とついたファイルは「2」という音楽のファイル関係であ りSDDRVS.TSKはドライバである
こんな感じに取り出す。
また、DSPプログラムを使用しない音楽もありますが、ない場合はそのまま無しで大丈夫です。ただし ssfmake.pyに記述しなくてはいけません。
4.ssfmake.pyのフォルダの中に~.MAPというファイルがいくつかあります。 この中から対応したサウンド エリアマップを覚えておく。
選択の仕方はDSPがあるかないかくらいで大丈夫です。
DSP 無しの場合は
GEN_SEQ10000.MAP
GEN_SEQ20000.MAP
DSP 有りの場合は
GEN_DSP4040.MAP
GEN_DSP8040.MAP
GEN_DSP10040.MAP
GEN_DSP20040.MAP
※出力できなかったり音が出ないならサウンドエリアマップを変えれば解決できるかも・・・
とは言え、きちんとDSPの有り無しを指定してね(´Д`)
5.pythonのIDLE(python GUI)を起動します
6.FileのOpenをクリックしssfmake.pyを開く
7.下にスクロールしPARAMETERSとfilenamesを見つける.
8.DSPを無い場合はPARAMETERSのuse_dspの値を0に変えておく。
filenamesにndrv nmap nbin nseq nexb とあり=の隣に 「”」があります、その”の間に取り出したファイルの名前を記述します。
ndrvはサウンドドライバ(.TSK) nmapはサウンドエリアマップ(.MAP) nbinはトーンデータ (.BIN) nseqはシーンケンスデータ(.SEQ) nexbはDSPプログラム(.EXB)を記述する
※DSPがない場合は記述しなくて良いですがuse_dspも 0 へ変更してください
↓こんな感じにします
9.ssfmake.pyを起動する
10.ssfmakeのフォルダの中にssfdata.ssfが生成されそれが音楽ファイルです
これで抽出出来たので音楽が鳴るかKbMedia Playerで調べる
流れたのなら ssfdata.ssfをリネームかデータを移動する。
流れなかった場合は下の「失敗時」へ
トー ンデータ(.BIN) シーンケンスデータ(.SEQ)がサターンディスクに 無い場合
サターンディスクの中にトーンデータとシーンケン スデータが無い場合この方法で抽出できます。
1.新しいフォルダ(名前は変えてよい)を作りその中に GEN_DSP4040.MAP
GEN_DSP8040.MAP GEN_DSP10040.MAP GEN_DSP20040.MAP ssfdump.py pmdump.exe tonext.py seqext.py bin2psf.exe
を入れる。
2.そこに新規テキストを作り
seqext.py ssf.bin SEQ
pause
と記述し、保存 そのあと名前と拡張子を seq.bat と変える。
3.さらに新規テキストを作り
tonext.py ssf.bin BIN
pause
と記述し、保存 そのあと名前と拡張子を bin.bat と変える。
4.SSF(エミュレータ)で抽出したい音楽をながす
5.SSF(エミュレータ)で 目的の音楽が流れた状態でssfdump.pyをクリック
6. 作ったファイルの中にssfdata.bin ssf.bin ssfdata.ssfが生成される
7.seq.batをクリックし、終了後作ったファイルの中にSEQという フォルダができる (CMDは閉じないでください 閉じると推測が難しくなります)
8.bin.batをク リックし、終了後作ったファイルの中に BINというフォルダができる (CMD は閉じないでください 閉じる と推測が難しくなります)
9.SEQフォルダの中にはシーンケンスデータ が作られ、BINフォルダの中にはトーンデータ が作られていることを確認する
10.音楽を抽出したいサターンディスクの中か らサ ウンドドライバ(.TSK)を抽出しDSP プログラム(.EXB)があればそれも抽出し 作ったフォルダの中へ
11.SEQ BIN のフォルダの中の物をsffmake.pyのある場所へ全て移動する(手順通りなら手前のディレクトリへ移動する)
12.これらのファイルを使い 「抽出方法3」の4から手順を進める。
この方法を使い抽出方法3を行う前に・・・
SEQ.BATのCMDをみて Track(s) の数を確 認してください
まず ssfdump.py で抽出したゲームの場面ではそ の場で何曲流れるか?など推測 してください
例えばこの場面では通常の音楽 とBOSSの音楽が流れるとな ると Track が2になる わけです
この場面では通常の音楽しかな らないとすると Track が1になるわけです
このように推測し、そのSEQ ファイルを使う。(ダメな時は 手探りで(笑))
↓例 バイオハザードの場合
BINについては1つずつ変えながら調べる。
それとサウンドドライバの拡張子が違う物もあるようです。
バイオハザードの場合SDDRVS.PACでした
サウンドドライバの容量は大体 20KB~30KBだと思いますのでそれも目安 にサウンドドライバを探せば良いと思います。
今のところ拡張子が .TSK や名前が SDDRVS を含む名前のサウンドドライバしか見たことないのでこれを目安に抽出すれば良いと思います。
失敗時
ssfmake.py で 生成は出来たものの音が出ません…
ならばssfmake.pyのPARAMETERS のtrack bankを抽出方法2みたいにためしてみる。
無理なら諦めるしかない、諦めることは大事だ。
少し再生して終わる、どうすれば良いのですか?
きちんとプレーヤーを設定しましょう。 それかwinampの方を使いましょう。 ※設定が必要
ssfmake.pyでDSPの値を0にしてるのにできない…
nexbの ” 内の文字を消さないと抽出されない。
私的発言
実はパンツァードラグーンツヴァイのEP2のBOSSのBGMはSEQ BINを抽出して
数字が揃った一式使っても音楽はならなかったΣ(゚д゚lll)
ツヴァイのなかでこれが厄介でした(笑)
結局trackが1つしかないシーンケンスを使って一個一個トーンデータ使ったところ
BGMが流れたヽ(*´∀`)ノ
音 楽のSEQだと簡単に判断する 方法は音が鳴る適当なトーン データを使い取り敢えずSEQ を流すことです(゚Д゚)
効果音がたくさん流れるまたは、音楽っぽく発音していれば音楽のシーンケンスの確率が高いです!
見つかれはあとはトーンデータ を合わせるだけです!
言語能力低すぎておそらくこの記事が読みにくいと思います…すいません・・・(‘A`)



セガサターンのエミュレータはBIOS無しでもゲームを起動可能ですが、BGMを抽出するならちゃんとBIOSを入れて行うほうが良いようです。
BIOS無しでBGM抽出を試みて失敗したものが、BIOS有りではちゃんとBGMを抽出できたことがあるので。
2020/03/15 現在、こちらの記事に記載されているpmdump.exeのダウンロードページへ進むとvidstromlabsという違うサイトに飛ばされ、
そこでダウンロードできるPMDumpは全くの別物であり、トロイの木馬が仕込まれているようなので注意してください。
pmdump.exeは下記のウェブアーカイブからダウンロードできます。
https://web.archive.org/web/20160410152138/http://www.ntsecurity.nu/downloads/pmdump.exe
サイトが変わっていたのですね… わかりました、修正しますね!