バンドリ! ファイル抽出/解析

本記事の内容/出来るようになること

・unityファイルから曲,MV,Live2D,画像データの取得

必要な物

・WindowsPC
・所要時間:記事で紹介したファイルだけなら10分

更新履歴

2018/11/30
・GoogleDriveでツールをダウンロードできるリンクの追加
・整形済みAssetBundleInfoの提供
・楽曲/キャラの内部IDの記事リンク追加
・文章の訂正,文章量の削減

0.下準備


以下の3つのツールとファイル

unityのファイルを開く Unity studio
MVファイルを変換する vgmtoolbox
曲ファイルを変換する acbDecrypter
unityファイルの情報が書かれている AssetBundleInfo


をそれぞれダウンロードします。説明が面倒くさいので
一式ダウンロードできるGoogleDriveのリンクを追加しました。
こちらからどうぞ。とりあえずデスクトップにでも保存しておいてください。

※一応各ツールの最新版URLは下に載せておくけどとりあえずは一式ダウンロードリンクのツールで記事に沿っておいてください。

1.ファイルの取得の仕方

例としてペルソナコラボのタイトル画面を取得するとしましょう。
AssetBundleInfoというファイルを使って,自分の欲しいファイルを探します。このファイルにファイルの位置情報が書かれています。

さっきのGoogleDriveリンクから整形済AssetBundleInfoを開いて,
titleという文字列で検索すると「title/persona_2018」
が見つかると思います。そのヒットしたURLにアクセスすればダウンロードできます。
他のファイルも同様です。

以下に曲,MV,Live2D,画像を手に入れるうえでとりあえず知っておけば困らないだろうくらいの説明をしておきます。

#AssetBundleInfo の中身の解説
#XXXはキャラID 
#YYYは楽曲No 

#Live2D
live2d/chara/XXX 
⇒generalにはmtnファイル,それ以外にはmocファイルがある。
⇒詳しくは別記事参照

#楽曲ファイル
sound/bgmYYY

#MVファイル
movie/mv/music_video 
⇒hqが高画質版

他にもたくさんあるんだけど,各自欲しいものは自分で探して。
結構わかりやすいので自分で探すのは苦ではないはず。
ちなみに曲,MV,Live2Dは上の分で事足りるので。

ちなみに内部IDについてまとめました。以下の記事を参照してください。
※イベントIDはもう少し待って・・・

BanG_Dream! wiki


手順は以下の通り
・取得したファイルからacbファイルを取り出す
・acbファイルをacbDecryptorを使ってwavにする


本記事では Y.O.L.O(オリジナル) と 新宝島(カバー)
の抽出を例として紹介する。(URLは18/11/30現在にて最新)
AssetBundleInfoで「bgm093」「bgm146」を検索してアクセスするか,以下に記載しているURLにアクセスして曲を取得する。

Y.O.L.O:
https://d2ktlshvcuasnf.cloudfront.net/Release/2.8.0.100/Android/sound/bgm093

新宝島:
https://d2ktlshvcuasnf.cloudfront.net/Release/2.8.0.100/Android/sound/bgm146

取得ファイルからacbファイルを取り出す

Unity studioを使ってunityファイルからacbを抽出します。
Unity studio.exeを起動する

左上のメニューのFile⇒Load fileから
ダウンロードしたbgm093/bgm146を選択

左上のメニューの下の方にAsset Listってタブがあるんで
そこをクリックするとこうなってるはずです
(画像例はY.O.L.Oの場合)

こんな感じになってるはず。

この左項目の中から bgmXXX.acbって奴を選択してメニューのExportを押して All Assets を選択してどこでもいいので保存してください。

今回はデスクトップにしましょう。デスクトップの中にTextAssetってフォルダが作成され,その中に保存されてると思います。(別のファイルとかだとフォルダの名前は変わってくる)

acbファイルをwavに変換する

1.Y.O.L.O(オリジナル曲)の場合

TextAssetの中のbgm093.txtをbgm093.acbにリネーム
その後,下準備の段階でダウンロードしたacbDecrypterのフォルダ内にある
acbDecrypter.exeにbgm093.acbをD&Dするだけ。
復号鍵はバンドリを選択すればOK。オリジナルはこれだけ。

2.新宝島(カバー曲)の場合

なんでか知らんけどカバー曲は沢山のファイルに分割されてます。
そのためそ一つのファイルにまとめるという一手間が必要になります。
Win+Xキーを押して出てくるメニューからコマンドプロンプトをクリックしてください。その後,以下のコマンドを入力します。
以下は記事での手法通りTextAssetフォルダがDesktopにある前提です。

#TextAssetフォルダへ移動
cd Desktop/TextAsset
#全てのtxtファイルを結合,「bgm.acb」にリネームしてファイル生成
TYPE *.txt > bgm.acb

TextAssetフォルダの中にbgm.acbというファイルができますので
オリジナル曲と同様にacbDecrypter.exeにD&Dで変換されます。

MVデータの抽出

※先にことわっておきますが,MVファイルには音源はないです。
どうやら容量節約のためか,acbファイルを別途MVに合わせて再生してるっぽいですね。それを踏まえたうえで抽出したい方は読んでください。

手順はUnity studioで抽出したあと,上述したファイルの結合をした後に
先ほどは使わなかったvgmを使うだけです。なお,ファイルの結合ですが,

cd Desktop/TextAsset
TYPE *.txt > mv.usm

としておいてください。usmファイルなので。

vgmの使い方ですが,起動して左のツールバーの階層を伝って,
この画面までたどり着いたらOptions Formatを画面通りにします。
ウィンドウ内にusmファイルをD&Dしてください。m2vファイルっていうのに変換されます。
(WMPだとm2vはグロ動画になるのでmpcとか使うといいと思います。)

Live2D,画像データの抽出

Unity studioで開いて終わりなんで割愛します。

活用方法はこの記事

諸々の補足

~抽出ファイル決めや簡単にやりたい人向け~

SD画像とかが手っ取り早欲しいとか,
Live2D一覧を見てから保存するファイルを決めてみたいなという方は

Bandori Party

ここおすすめです。TwitterアカウントもあるけどGAMEΩみたいに解析によるぶっこツイートもしてるので耐性がない人は注意。
まあこの記事見てる人間にそんな心配はいりませんか。

~各ツールの最新版~

Unity studio
vgmtoolbox
acbDecrypter

~AssetBundleInfo,AWSの小ネタ~

1.AssetBundleInfoの自前での調達

今回は僕の用意した整形済みAssetBundleinfoを使いましたが,
自前でAssetBundleInfoを取得する場合は

https://d2ktlshvcuasnf.cloudfront.net/Release/[欲しいAssetBundleInfoのバージョン]/Android/AssetBundleInfo

#例えばv2.8.0.100なら
https://d2ktlshvcuasnf.cloudfront.net/Release/2.8.0.100/Android/AssetBundleInfo


#後,Androidならバンドリのデータフォルダに入ってます。
#バージョンわかんなくても拾えるので便利だったりするのかね
#後,iOS版とAndroid版のAsssetBundleInfoは違うんだけど
#当記事ではAndroid版で基本説明してます。

にアクセスすれば取得できます。
まあ整形版使ったほうが楽だよね。
エディタで開けばクリックでダウンロードできるし。

それと整形版なんですが,自分正規表現そんな得意じゃないんで
もしかしたら上手く整形できてない箇所あるかもしれない。報告求。
それか正規表現うまおの方,正規表現教えてください。

2.古いファイルへのアクセス

実は古いバージョンのファイルもいまだにサーバーに残しているそうで,
バージョンをある程度下げてURLに入力してもアクセスできる。

例えば数バージョン前のY.O.L.O(ファイル自体は同じだけど)
https://d2ktlshvcuasnf.cloudfront.net/Release/2.6.0.500/Android/sound/bgm093

これを利用して,遠藤ゆりか引退前のファイルにアクセスとかできるんじゃないかな。
うろおぼえなんですが Neo-Aspect周辺で交代で イベントストーリー,エリア,あたりに修正が入ったのは覚えてるから大体v2.3.0.100くらいでしょうか・・・

バンドリ! ファイル抽出/解析” に対して30件のコメントがあります。

  1. ユーザー1 より:

    acbファイルをwavに変換する方法でどうしてもうまくいかないです(wavファイルを再生すると変なノイズ音が流れる)
    よろしければ教えていただけませんでしょうか?

    1. Maya Yamato より:

      こんばんは。
      acbdecrypterフォルダを置いた場所は何処でしょうか?

      例えば
      ①Cドライブ直下のProgram File フォルダ等のWindowsの権限が関わってくるフォルダ
      ②その他の固有の特性?を持つようなフォルダ(Google Drive Sync で作成した共有フォルダ等)

      以上の場所でacbdecrypterが上手く動作しないのを確認しております。
      確認してみてください。他に何かあればまたコメント頂けると幸いです。
      (出先なので簡単にコメント返ししか出来なくて申し訳ない…)

      1. ユーザー1 より:

        返信ありがとうございます
        E:\USER\Desktopにacbdecrypterを配置しています
        試しにacbdecrypter内にTextAssetを作成するようにしたら無事変換することができました
        ありがとうございました!

        1. Maya Yamato より:

          報告ありがとうございます。音源ファイルの場所がいけなかったのでしょうかね…? 何はともあれ変換できたみたいで幸いです。

  2. しろネコ より:

    MVがない曲にMVを追加することは可能ですか?

    1. Maya Yamato より:

      アプリ側の設定を変更する技術を持ち合わせていないので、例えばMVが実装されている曲に対して自分が再生させたいbgm、bms、MVデータを差し替えるっていう方式なら行けそうです

      しかしながら、その差し替えたいデータをassetで固めるとか暗号化するっていう方法がわからないんですよねー(調べたらわかるかもしれないですけど)

      そういうわけで、回答になっているかは些か微妙ではありますが、BanGsimulaterで擬似的に再現するくらいしか思いつかないですね…

  3. ホウジョウ より:

    ガルパのSEを自分の好きな物に変えたいと思っています。

    そのために、SEのwavファイルからacbファイル変換して、そのacbファイルと他のファイルをunityファイル(?)にまとめる必要があると思うのですが、可能でしょうか?

    上手く伝えられていなかったらすみません…

    1. Maya Yamato より:

      acbファイルの復合等なら当記事に書いてある通りわかるんですけど,暗号化や.unity3dにまとめる技術については詳しくないのでお答えしかねます。 自分の好きなものに変えるというのとは違いますが 期間限定のノーツSEを既存のノーツSEと差し替えるというのは可能です。

  4. Windows より:

    整形済AssetBundleInfoの使い方がわかりません。
    どのようにして使うのでしょうか?

  5. Windows より:

    すみません。
    湊友希那のmocファイルを一式ほしいのですが、どのようにしてダウンロードできますか?
    上記URLからは、ダウンロードできませんでした。
    (バージョンというのもわかりません。)
    お願いします。

  6. LINE より:

    譜面データは楽曲と同じところに入っていないみたいなのですが、どこにあるかわかりますでしょうか?

    1. Maya Yamato より:

      AssetBundleInfo内をmusicscoreで検索 (創作譜面,作る?)

  7. ねこ より:

    MVとBGMの再生タイミングの情報ってどこかにないのでしょうか?
    自分で調整すると、どうにもしっくりこなくて困ってます。

    1. Maya Yamato より:

      MVにBGMの音源を重ねて完全版にしたいっていうあれですか? 今出先で確認できないので憶測での発言になるんですけど, MVの格納されてるassetの中になんか情報入ってませんでしたっけ? それをassetstudio内で読めば何かわかるかもしれません~

      1. ねこ より:

        ご返答ありがとうございます。その通りです。
        Assetの中をAssetStudioで調べてみたのですが見当たらなく、
        その他の所を探していたらmasterMusicVideoListMap.jsonの中に見つかりました。
        この度はお騒がせして申し訳ありませんでした。

  8. いぬ より:

    この方法でキャラクターボイス(ストーリー内の声優ボイス)を抽出できますか?

      1. いぬ より:

        どうすればできますか?

        1. Maya Yamato より:

          https://raspberrypi422.mydns.jp/site-usage-agreement/

          こちらのページを読んでから本ブログを利用してください.

  9. ふむ より:

    いつもありがとうございます。
    もしよろしければ、CV抽出の方法を教えて下さい。
    解析すると、下のようにTypeがあります。どのファイルですか?
    ・TextAsset
    ・MonoBehaviour
    ・Texture2D
    また、URLでCVのURLを判断する方法はありますか?
    (title画面だったら、titleの文字列を探す等)

    1. ふむ より:

      おそらく、
      https://d2ktlshvcuasnf.cloudfront.net/Release/○○○○○/Android/sound/voice/scenario/eventstory〇〇
      の中にあると思うのですが、どれがどれかわからない(内部ID)挙げ句、何で解析すればいいのかわかりません。
      (上のねこという方とは違い、きちんと調べましたし、注意事項も読ませていただきました。)

    2. ふむ より:

      すみません。TextAssetですね。
      acbDecryptorで解析しても、CVは出てきませんでした。
      acbファイルの抽出は出来たのですが、そこからD&Dをし、復号鍵でバンドリを選択しても、フォルダーができるだけで、中身は虚無。
      CVを抽出することは出来ませんでした。

      1. Maya Yamato より:

        たまたま触れそうだったんで試したんだけど

        https://d2ktlshvcuasnf.cloudfront.net/Release/3.8.0.300/iOS/sound/voice/scenario/eventstory14_2

        で試しにやってみたら普通に出来たよ(音源抽出) 内部IDとかの整理は面倒だからまだやる気ないけど抽出自体はできそうだと思う 何かあったらまたコメントください

  10. たけ より:

    こんばんは。バージョン4.1.0.100になってから楽曲音源のダウンロードができなくなってしまったんですけど、原因わかったりしますか?

    https://d2ktlshvcuasnf.cloudfront.net/Release/4.1.0.100/Android/sound/bgm264

    ↑これで今まではダウンロードできてたんですけど、できなくなってしまいました。

    もし、わかったら教えてください。よろしくお願いします。

    1. Maya Yamato より:

      https://d2ktlshvcuasnf.cloudfront.net/Release/4.1.0.100_p3HzsCWjkY/Android/sound/bgm264

      ここからダウンロードできます.

      何が起きてるかについては最新記事で説明致しました.

      1. たけ より:

        できました。ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください