1. 無料アクセス解析
プロフィール

五枚重ね

Author:五枚重ね
備えあれば憂いなし

mail:
gomaigasane(@)gmail.com
…(@)は@に置き換えで

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
FC2カウンター
ブロとも申請フォーム
ブログ内検索
RSSフィード
リンク
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)
トラスティベル ショパン曲抽出メモ
Xbox360用ソフト「トラスティベル ~ショパンの夢~」収録の高音質wav(ショパン曲)抽出メモ。


少し前に掲載されたITmediaのインタビュー記事より↓

それに、CDよりも音質がいいんですよ。48KHzのステレオですから。加えて、これとは別に5.1chサラウンドのデータも非圧縮ファイルで収録しています。圧縮されていない、5.1chオーディオでブーニンさんの演奏が収録されているのは、ほかにはないと思いますよ。ゲーム機だからできることですね。

こんなこと言われたら、データを見たくて解析したくてたまらないじゃないかと思い続けてひと月ちょい。
友人からソフトを預かり受けたので早速解析できるか試してみることにした。
ここではスタニスラフ・ブーニン演奏の曲についてしか扱わないので、他の話はこちらを参照。


◆ゲームディスクのリッピング
まずは360ディスクをPCでリッピングするところから。
以前アイマスの記事で360ディスクのリッピングについて書いたところ、
非常に参考になるコメントが沢山ついたのでそれらを参考に少し書き直しておく。

[PC内蔵ドライブでリッピング]…相性問題多い・ノートPC内蔵のスリムドライブでは多分無理
  1. 8GB近い(7.8GBくらい?)容量の大きい2層DVDをPCドライブに挿入。
    ハリーポッターと秘密の部屋・M:i-2・ラストサムライなどで成功報告あり。

  2. wxRipperを起動。"Find magic number"を実行して数字が表示されたらOK。
    [ツール]:Gael360 - Xbox360 tools

  3. "Stop drive"を実行してドライブの回転を止める。確実に止まっているか確認。
    ドライブの強制イジェクトホールに針金などを突っ込んでディスクを取り出す。

  4. DVDを360のゲームディスクと入れ替えてトレイを挿入(手で押し込む)。
    トレイが中途半端に出っ張らないよう、少し勢いをつけて確実に閉じるようにする。

  5. "Spin drive"を実行後"Explorer with wx360"を実行。
    ファイルリストが表示されたら成功。エラーメッセージが出たら失敗、最初からやり直し。
    エラーが出ないのにファイルが表示されてなかったら、ドライブを選んで"Explore"。

  6. "Extract all files"で全ファイルを抽出。ファイルを選び右クリックで一部だけ抽出も可。

  7. しばらく待って抽出できたらリッピング完了。wxRipper及びwx360を終了させる。

(補足)
  • 3.のディスク取り出し時や4.のディスク挿入時にドライブのアクセスランプが光ったり
    トレイが勝手に出たり入ったりするような環境ではまず成功しない。
    PlexTools Professionalを使うか以下のサイトを参考にドライブの自動起動を切る。
    [参考]:ANGIE WORKSHOP - Windows XPで自動再生機能を無効化する

  • 私の環境では、5.の"Spin drive"実行時にドライブが開いてしまって失敗、
    また凄まじい異音を立ててディスクが回転してしまうことが多かった。
    トレイは通常使用時と同じようにキッチリ閉じるように押し込むべし。

  • その他の報告は以前の記事のコメント欄を参照。
    [関連記事]:Xbox360版アイドルマスター音声抽出メモ


◆wavファイル解析
\sound\cxs に目当てのショパン曲がwavファイルで収録されている。
すっげーホントにwavまんまかよと思って再生しようとしても無理だった。
バイナリエディタで見ると、ヘッダもデータも全ての数値のバイトオーダが逆になっている模様。
うーむ、これは抽出対策の小細工だろうか。360向きの最適化か何かだろうか。
ヘッダだけなら手で直そうかと思ったが波形部分まで直すのは無理なので単純なツールを自作。
注意!
必ず「対象をファイルに保存」などで保存。FC2の仕様に従い拡張子をtxtに偽装しているが実際はzip。
ダウンロード後にファイル名から".txt"を削除してから、zip解凍ソフトで展開する。


最初の7ファイルが2ch、後の7ファイルが5.1ch。どれも16bit/48kHz。
ちなみに5.1chのファイルはWinampやLilith(asio)では再生できたがWMP11では無理だった。
ffdshowやオーディオデバイスの設定など何らかの環境依存の問題だと思われる。


◆長い雑文
5.1chのwavファイルというのを初めて見たが、ヘッダも波形も普通のステレオの物と同じ構造だった。
もしかすると、逆にヘッダを何もいじってないせいでWMPで再生できなかったのかもしれない。
まあ、いざ再生しても現状の環境では2chに落とし込まれるので宝の持ち腐れなんだが。
一応4ch構成はできないこともないけど、スピーカー環境はショボイもいいところなんだよな。

そもそもそれ以前の宝の持ち腐れというか、360でマルチチャンネルLPCMって意味あるんだろうか?
光デジタルではLPCMは2chまでだし、今度出るエリートのHDMIも2chまでの仕様のはず。
WMA Proに変換しつつ出力できたとしても、デコードできるアンプが相当限られるだろうし。
DTS変換出力なら意義がありそうだけど、アレはHD DVDだけの機能だっけ?どうなんだろう。
結局ドルビーデジタルで出力しましょうってんなら最初から変換しとけよと思ってしまう。
こういう時こそ持ってて良かったPS3なんだけど流石に移植はしないよなぁ。

あと、他にもBGMやボイスデータがあるのは分かるが、よく分からないので深追いせずお手上げ。
ヘッダ見てるとなんとなくファイル構造は見えてくるけど、エンコード形式がサッパリ分からん。
アイマスなどと違ってADXのロゴもないし。xmaの亜種だったらいよいよどうにもできない。
参考リンクのまくちゃんさんも音声の話は出されていないし(実際には解析されてるかもしれんが)。
どっちにしても他の曲はサントラの方が高音質だろうということでよしとしよう。

肝心のゲーム内容は各所で色々言われてるようで、手放しで褒めてる感じではないような。
友人も「エンディングがある意味凄いけどやれとは言いにくい」といった具合の微妙な薦め方。
正直抽出を試してみたいだけだったけど、ちょっとは遊んでみるかな。積みゲー崩しの道は遠い。

ゲーム(コンシューマ) | 【2007-08-06(Mon) 01:05:48】 | Trackback:(1) | Comments:(0)
Xbox360版アイドルマスター 抽出楽曲取り扱いメモ2
以前の記事、360版アイマスから抽出した楽曲データについてのメモに対するコメントが気になったので
なんとなく調べていたことをつらつら書いておく。


◆CRI ADXのフォーマット

[参考リンク]上側のサイトは4月ごろに元ページが消えたのでWebArchiveより。やっぱり保存は重要。
で、調べたからといっても、ほえー。FIRフィルタとか聞き覚えはあるけど。若い内に勉強すべきだよなぁ。

AHXと共通してる部分などから気づいたこと。
  • サンプリングレートとモノラル/ステレオについてはヘッダに明記されてる。

  • 既存ツールではwav出力時の量子化ビット数は16ビット固定の模様。adx変換前の元データのビット数は分からない?

  • ループ情報はADXのバージョンによって少し異なるらしい。



◆折り返しノイズ関係
以前の記事でつかぽんさんがコメントされていた内容に絡んで調べたことについて。

例えば44.1kHzでサンプリングする時に44.1/2=22.05kHz以上の音声が混ざってると
22.05kHzを軸に高周波の音が折り返して混入→ノイズになるよ、ということ。
普通は22.05kHz以上の周波数成分をカットするローパスフィルタを通すから問題ないはず。

360版アイマスの歌はサンプリングレート48kHzなので、折り返しノイズが生じるとすれば以下のパターンが考えられる。
  • 元々のデータが24kHz以上の音声を含んでて、adx変換時にローパスフィルタを通してない。ゲームのデータ自体が原因。

  • adxをデコードする時にローパスフィルタを通してない。PC用のツール、場合によっては360実機の仕様が原因。

  • 上記の合わせ技。



◆周波数解析
ごく簡単ではあるが実際に周波数解析を試してみた。
真の「エージェント夜を往く」について、色んなソースをWaveSpectraにつっこむ。
赤色の線が各周波数のピークレベルを、青色の線が曲の終わりの方の簡易的な平均レベル。

  • 抽出版…"adxcv"でwav変換したもの
    左が真のボーカルパート、右が伴奏(左チャンネル)の周波数スペクトル。つかぽんさんのコメント通り24kHzまでスペクトルがほぼフラット。
    アイマスXbox360版より抽出song_age00007
    アイマスXbox360版より抽出song_age00010

  • 実機録音版…360実機からアナログorデジタル録音
    左がSound Blaster Audigyでアナログ録音したもの、右がEDIROL UA-101でデジタル録音したもの。どちらも48kHz・16bit(360のデジタル出力がこういう仕様)。
    アナログ録音では22kHz以上で若干減衰している。360のアナログ出力かSound Blasterのアナログ入力か、どちらかでフィルタをかけてるんだろう。デジタル録音ではフラット、ここには載せてないが抽出版のボーカルと伴奏をミックスしたものと全くと言っていいほど似たスペクトル。
    アイマスXbox360版よりアナログ録音 真 - エージェント夜を往く
    アイマスXbox360版よりデジタル録音 真 - エージェント夜を往く

  • CD版…MASTER BOXからリッピング
    音楽CDのフォーマット(44.1kHz)により、スペクトルは22.1kHzまでのみ表示。抽出版などとほぼ同じだが、22kHz付近から減衰が見られる。ちなみに全然別のCDでもスペクトルを見たが、フラットなもの・21kHz辺りから急峻に減衰するものなど色々。
    アイマスMBより 菊地真 - エージェント夜を往く


スペクトルをパッと見ただけでは、抽出版と実機からデジタル録音したものとに有意な差はなさそう。折り返しノイズはこれだけ見ても分からず、あるすれば両方同じようにあるか、もしくは小レベル過ぎて埋もれているかだろう。どうも実際に聞き比べないとノイズの原因や影響の大きさは分からないようだ。

◆再び試聴比較
前述のソース(抽出版をミックス・実機から録音・CD版)のノイズを聞き比べる。試聴環境はソフト:lilith、デバイス:UA-101、ヘッドフォン:ATH-A1000。

全体的な音質は置いといて、ボーカルのノイズ(特にサ行)が酷く目立つ順はこんな具合。
    抽出版>>>>(越えられない壁)>>>>デジタル録音=アナログ録音>CD版
前回聞き比べた結果と同じ。雪歩でも真でも同じことだった。

まさに越えられない壁があるほど抽出版はノイズが目立つ。サビの「激しく」で壮大にノイズが乗るのはこれだけ。どんなにボーカルの音量を小さくしてもザザッと耳障りな音がする。
録音版でもノイズは分かるが、それでも抽出版より遥かにマシ。デジタル録音の方が音質は俄然クリアだが、感じられるノイズはアナログ録音と同様のもの。一瞬ノイズが立ち上がる気がするが、尾を引かずに治まっていく感じ。
CD版は以前の記事と同様、最も聞き心地がいい。ただやはりゲーム版でノイズになっている部分は若干違和感のある加工がなされているように聞こえる。素音さんが言われていた通り、CDやゲームへの収録以前のソースにかなり問題があると考えられる。折り返しノイズ云々よりもこちらがやはり原因か。

デジタルとアナログでボーカルのノイズに差が無かったことから、360のDA変換は無関係で、関係あるとすればadxデコードのアルゴリズムやミキシングのやり方だろう。PC用ツールの方が「スタジオ録音時のデータに近いデコード」をしている(故にボーカルの音割れが酷い)可能性も高いが、少なくとも360の方が「聴覚上心地よいデコード・ミックス」をしてくれるのは間違いない。

◆まとめと雑感
色々と考察して聞き比べてはみたが、やっぱり収録前のソースからしてノイズがありそうなのが最大の問題だろう、という前回と同じ結論に至った。大体、歌の後ろで伴奏が鳴ってるのがハッキリ分かるのはホントにどうなんだ。ミニコンポのカラオケ機能じゃあるまいし。多少録音されてしまうのは仕方ないのかもしれんけど、もう少し消そうとできないもんかな。

今回の収穫はむしろ、360の光デジタル出力が48kHz・16bitだと確定したこと。24bitや32bitでも録音したが、ビット数を揃えて比較などした結果16bitでOKと分かった。少なくともアイマスではこのフォーマットで良いということだろう。UA-101導入によってSCMSフリーかつリサンプリング一切無しの録音が可能になったのは大きい。PS2やPS3でも色々と試してみたくなった。


[関連記事]

ゲーム(コンシューマ) | 【2007-07-25(Wed) 01:32:56】 | Trackback:(0) | Comments:(3)
Xbox360版アイドルマスター BNAファイル解析メモ
360版アイマスで使われているファイルのアーカイブ構造についてのメモ。
どのようにまとめて記事にするか悩んだが、結局自分が解析しながら書き殴っていた
Excel上のメモをそのまま表にして示すことにした。
いつも以上に読みづらく縦に長いが、「続きを読む」システムは好みではないのでこのままドーン。

※少しでもご興味の湧いた方は、バイナリエディタで対象ファイルを開きつつご覧ください。
「オフセット」などの語句の意味が分からないなどあれば、コメントにてご質問どうぞ。

<<BNAファイルのヘッダ構造>>
拡張子".bna"のファイル共通のヘッダ部分の構造について。
このファイルは内部に複数のファイルを含むアーカイブ状になっている。
「BNA=Bandai Namco Archive」といった具合のネーミングだろうか。
byte数 目印 情報の意味 備考・バイナリデータ
4   BNAヘッダ:'B' 'N' 'A' '0' 42 4E 41 30
4 #0 内包する.scb・.ahxファイルの総数  
4 #1 ディレクトリ名オフセット  
4 #2 ファイル名オフセット  
4 #3 ファイル内容オフセット  
4 #4 ファイルサイズ  
16*n   #1~4の繰り返し 計#0回
x #5 ディレクトリ名 末尾00
x #6 ファイル名 末尾00
x   #5または#6の繰り返し  
x   (ここまでのサイズが128byte以下なら埋め合わせ) 00


<<BNA中のSCBファイル>>
/root/script 内のBNAには、拡張子".scb"のファイルが含まれている。
このSCBファイルには、コミュパートで表示されるテキストが含まれている。
他にも音声や画像などの制御情報も含まれているようで構造がやや入り組んでいる。
[SCBファイルのヘッダ構造]
byte数 目印 情報の意味 備考・バイナリデータ
16 #7 SCBヘッダ:'S' 'C' 'B' ' '… 53 43 42 00 00 00 00 00 00 00 00 45 00 00 00 45
4   .scbファイルサイズ  
4   共通値?(CMD・LBLなどの種類数?) 00 00 00 07
4   ???  
4   共通ブランク? 00 00 00 00
4   ???  
12   共通値? FF FF 00 00 00 07 00 00 00 00 00 00
32   .scbファイル名(拡張子無し) 余り00
32   シチュエーション名(無ければブランク) 余り00
4   CMDヘッダ:'C' 'M' 'D' ' ' 43 4D 44 00
4 #8 CMDのサイズ  
4   CMDのオフセット #7開始位置が起点
4   フッタ CC CC CC CC
4   LBLヘッダ:'L' 'B' 'L' ' ' 4C 42 4C 00
4 #9 LBLのサイズ  
4   LBLのオフセット #7開始位置が起点
4   フッタ CC CC CC CC
4   MSGヘッダ:'M' 'S' 'G' ' ' 4D 53 47 00
4 #10 MSGのサイズ  
4   MSGのオフセット #7開始位置が起点
4   フッタ CC CC CC CC
4   VCNヘッダ:'V' 'C' 'N' ' ' 56 43 4E 00
4 #11 VCNのサイズ  
4   VCNのオフセット #7開始位置が起点
4   フッタ CC CC CC CC
4   LBNヘッダ:'L' 'B' 'N' ' ' 4C 42 4E 00
4 #12 LBNのサイズ  
4   LBNのオフセット #7開始位置が起点
4   フッタ CC CC CC CC
4   RSCヘッダ:'R' 'S' 'C' ' ' 52 53 43 00
4 #13 RSCのサイズ  
4   RSCのオフセット #7開始位置が起点
4   フッタ CC CC CC CC
4   RSNヘッダ:'R' 'S' 'N' ' ' 52 53 4E 00
4 #14 RSNのサイズ  
4   RSNのオフセット #7開始位置が起点
4   フッタ CC CC CC CC

[SCBファイルの内容部分の構造]
SCBファイルの具体的な内容にあたる部分は、上記のヘッダで示されているように
"CMD"や"MSG"などと名づけられた種類ごとに情報が分けられている。
以下に各種類毎のヘッダ構造と、情報の内容についての推察を示す。
byte数 目印 情報の意味 備考・バイナリデータ
SCB内:CMD
16   CMDヘッダ 43 4D 44 00 00 00 00 00 00 00 00 00 00 00 00 00
4 #15 ヘッダを除いたCMD内容サイズ #8-48byte
4 #16 ???#15/8だったり9だったり  
8   共通ブランク? 00 00 00 00 00 00 00 00
2   #16と同じ?  
2   共通ブランク? 00 00
4   #15と同じ?  
8   共通値?ヘッダここまで 01 00 00 00 00 00 00 00
4*n   CMD内容???  
4*n   (16byte単位に揃える穴埋めフッタ) CD CD CD CD
SCB内:LBL
16   LBLヘッダ 4C 42 4C 00 00 00 00 00 00 00 00 45 00 00 00 45
4   ヘッダを除いたLBL内容サイズ #9-32byte
4   LBLの内容数(上のサイズ÷8)  
8   共通ブランク ヘッダここまで 00 00 00 00 00 00 00 00
8*n   LBL内容??? 上4byteが1ずつ増加 下4byteは0
8*n   LBL内容??? 上4byteは0 下4byteが不定値増加
SCB内:MSG
16   MSGヘッダ 4D 53 47 00 00 00 00 00 00 00 00 00 00 00 00 45
4   ヘッダを除いたMSG内容サイズ #10-32byte
12   共通ブランク ヘッダここまで 00 00 00 00 00 00 00 00 00 00 00 00
2 #17 MSGの内包する個別テキスト数 個別テキスト=1ウィンドウで表示されるテキスト
2   共通ブランク? 00 00
4   テキスト内容の総サイズ  
2   共通値? 00 10
2   テキスト内容のオフセット #17開始位置が起点
4   共通ブランク? 00 00 00 00
4 #18 個別テキストのサイズ  
4 #19 個別テキストのオフセット #20開始位置が起点
8*n   #18~19の繰り返し 計#17回
8   (16byte単位に揃える穴埋めフッタ) CD CD CD CD CD CD CD CD
x #20 テキスト部分  
x<16   (16byte単位に揃える穴埋めフッタ) CD
SCB内:VCN
16   VCNヘッダ(MSGと同じ) 4D 53 47 00 00 00 00 00 00 00 00 00 00 00 00 45
4   ヘッダを除いたVCN内容サイズ #11-32byte
12   共通ブランク ヘッダここまで 00 00 00 00 00 00 00 00 00 00 00 00
2 #21 VCNの内包するAHXリンク数  
2   共通値? 01 00
4   AHXリンクリストのサイズ  
2   共通値? 00 10
2   AHXリンクリストのオフセット #21開始位置が起点
4   共通ブランク? 00 00 00 00
4 #22 AHXファイル名のサイズ  
4 #23 AHXファイル名のオフセット #24開始位置が起点
8*n   #22~23の繰り返し 計#21回
8   (16byte単位に揃える穴埋めフッタ) CC CC CC CC CC CC CC CC
x #24 AHXリンクリスト  
x<16   (16byte単位に揃える穴埋めフッタ) CC
SCB内:LBN
16   LBNヘッダ(MSGと同じ) 4D 53 47 00 00 00 00 00 00 00 00 00 00 00 00 45
4   ヘッダを除いたLBN内容サイズ #12-32byte
12   共通ブランク ヘッダここまで 00 00 00 00 00 00 00 00 00 00 00 00
2 #25 LBNの内包する○○リンク数  
2   共通値? 01 00
4   ○○リンクリストのサイズ  
2   共通値? 00 10
2   ○○リンクリストのオフセット #25開始位置が起点
4   共通ブランク? 00 00 00 00
4 #26 ○○リンク名のサイズ  
4 #27 ○○リンク名のオフセット #28開始位置が起点
8*n   #26~27の繰り返し 計#25回
8   (16byte単位に揃える穴埋めフッタ) CC CC CC CC CC CC CC CC
x #28 ○○リンクリスト  
x<16   (16byte単位に揃える穴埋めフッタ) CC
SCB内:RSC
16   RSCヘッダ 52 53 43 00 00 00 00 00 00 00 00 00 00 00 00 00
4   ヘッダを除いたRSC内容サイズ #13-32byte
4 #29 RSCの内包する△△数  
8   共通ブランク ヘッダここまで 00 00 00 00 00 00 00 00
4 #30 ???何らかのサイズ?  
4 #31 ???何らかのオフセット?  
8 #32 共通値? 00 00 00 00 FF FF FF FF
16*n   #30~32の繰り返し 計#29回
SCB内:RSN
16   RSNヘッダ(MSGと同じ) 4D 53 47 00 00 00 00 00 00 00 00 00 00 00 00 45
4   ヘッダを除いたRSN内容サイズ #14-32byte
12   共通ブランク ヘッダここまで 00 00 00 00 00 00 00 00 00 00 00 00
2 #33 RSNの内包する◇◇数  
2   共通値? 01 00
4   ◇◇リストのサイズ  
2   共通値? 00 10
2   ◇◇リストのオフセット #33開始位置が起点
4   共通ブランク? 00 00 00 00
4 #34 ◇◇のサイズ  
4 #35 ◇◇のオフセット #36開始位置が起点
8*n   #34~35の繰り返し 計#33回
8   (16byte単位に揃える穴埋めフッタ) CC CC CC CC CC CC CC CC
x #36 ◇◇(何なのか不明)  
x<16   (16byte単位に揃える穴埋めフッタ) CC


<<BNA中のAHXファイルのヘッダ構造>>
/root/script 内のBNAのほとんどには、拡張子".ahx"のファイルが含まれている。
いわゆるAHXファイルなので無知な自分が書く必要はないとも思うが、
適当に流し見したメモを以下に示す。肝心な部分が???でキャー恥ずかしい。
byte数 目印 情報の意味 備考・バイナリデータ
8   AHXヘッダ 80 00 00 20 11 00 00 01
4   サンプリング周波数(Hz) 24kHzなら00 00 5D C0
18   ???  
6   (' 'c' ')' 'C' 'R' 'I' 28 63 29 43 52 49
x   ???と実内容  
12   A' 'H' 'X' 'E' '(' 'c' ')' 'C' 'R' 'I' ' ' ' ' 41 48 58 45 28 63 29 43 52 49 00 00


<<まとめと雑感>>
まず、上の内容に少しでも目を通した方がおられたら心より感謝申し上げます。
意味を解読できた方は尊敬いたします。エスパー並の読解力か、私と波長が合うのか。
見た瞬間ワケワカンネーと読み飛ばした方。正解です。ここも読んでないだろうけど。

具体的なまとめに入る。
以前から書いているように、BNAの全体としてのアーカイブ構造は完全に把握できた。
scriptフォルダ以外でも同様なので、BNAのヘッダは上記で間違いないだろう。
BNA中のSCBファイルについても、全体構造とテキスト部分(上でいうMSG部分)は理解できた。
そして、AHX音声とのリンク(VCN)や他の何らかの要素とのリンク(LBN)も掴めたが、
具体的に個別のテキスト・選択肢とどう結び付けているのかはまだ分かっていない。
その不明点に当たるところが上記のリストで「○○」や「?」で置き換えている部分だろう。
現状、これらの不明点にまで踏み込んでの解析までは余裕が無く予定していない。

最後に、ここまで全部ご覧になった尊敬すべき方々、
    「○○」や「?」になっている部分について何らかご意見がありましたら
    是非是非、コメントにて情報提供をよろしくお願いします。
他にも「この部分は間違いだろ」「その見解で正しいと思う」などの指摘もあれば是非。
もちろん、「お前、暇人だな」といった感想まで何でもござれ。


[関連記事]


ゲーム(コンシューマ) | 【2007-03-14(Wed) 01:54:57】 | Trackback:(0) | Comments:(0)
Xbox360版アイドルマスター テキスト抽出メモ
ほぼ完全な形で音声抽出ができたので、360版アイマスの解析話はひとまず終わるつもりだったが
思いつきで試したらコミュパート等のテキストを読み込めたので、軽くメモしておく。


<<とりあえず読み込む>>
前々回のメモなどに基づいて、ゲームディスクからボイスデータをリッピングしておく。

後は特に変換などの必要は無く、適当なテキストエディタで各ファイルを読み込むだけ。
ただし、秀丸やWordのように文字エンコードの種類を任意に変更できるエディタが必要。
文字エンコードを「Unicode(Big Endian)」にして読み込むと、大部分は文字化け状態になるが
目的であるコミュパートのテキストや、選択肢項目のテキストが読める状態になる。

うまく読めるかどうか試すには、etcフォルダ内のサイズが小さいファイル群がいい。
各アイドルとのコミュパートについては、ボイスデータが混在していてサイズが大きいので
読み込みにやや時間がかかるのと、目的のテキストを探すのが大変なのが問題。


<<まとめ駄文と今後の目標>>
「ボイスデータと同じファイル内にテキストも含まれているのでは」
という予想が当たっていたのは非常に嬉しい。やったね。
まあ、フォルダ名が"script"って時点で誰でも考えそうなことではあるけども。
なまじAHXヘッダなどがShift-JISで普通に読めたから、というのもあるが
文字エンコードの変更をすぐに思いつかなかったあたりはまだまだ未熟だな。

しかし現状では、目的のテキストを参照するために手間がかかりすぎるので、
音声のように適当なファイル単位に区切るか、せめてテキスト部分だけの抽出を行いたい。
そう思ってバイナリエディタでデータを眺めてたら、大体のアーカイブ構造が分かってきた。
その際に大変参考になったサイトがこちら。アイマスは大体パターン(a)に該当。

細かいアーカイブ構造については、また別エントリにまとめようかとも思うが
説明しにくい割りに、賢い人・解析慣れしてる人には簡単すぎる構造だろうからどうしたもんか。

と、いうわけで、音声や画像のデコードといった複雑なことは先人の知恵に頼るとして、
仕組みが分かってきたアーカイブからの音声・テキストの個別ファイル切り出しについては
プログラミングの勉強も兼ねてチャレンジしてみようと思う。
CにしてもPerlにしても「まずは"Hello, world!"」より少しかじった程度のレベルなので
恐ろしく時間がかかるだろうが、ちょっと解析が面白くなってきすぎたので頑張ってみよう。

頑張ってる間にプログラミング慣れした人がサラッとツール作っちゃったりして。
ユーザ数万人いるんなら、他にもアイマスの解析やってる人いないのかなぁとぼやいて〆。


    [関連記事]:Xbox360版アイドルマスター音声抽出メモ

ゲーム(コンシューマ) | 【2007-02-27(Tue) 05:39:57】 | Trackback:(0) | Comments:(0)
Xbox360版アイドルマスター 抽出楽曲取り扱いメモ
前回のメモで360版アイマスから抽出した楽曲データについての、より個人的なメモ。
音量設定の根拠、ノイズ問題、音質の特徴などを覚えてるうちに吐き出しておく。




<<ボーカルのノイズ(音割れ)>>
前回、「音割れを防ぐために」音量調節できるツールを使ってadx→wav変換、としたが
どれだけ音量を控えめにしても、多くのボーカルデータにノイズが入ってしまう。
しかもそれは音割れっぽく、声量が大きい箇所・強く息するところでビリビリザーザー。

[そもそもどうやって音量を決めたか]
というと、以下のような作業を延々と繰り返した。
    "adxcv"が表示してくれる、出力データの最小値(low)と最大値(high)をチェック
    →規格範囲内なら設定音量アップ。範囲外なら設定音量ダウン。
今回対象のデータはどれも16bitなので、規格範囲は -32768~32767。
lowかhighのいずれかがこの範囲を超えると、出力データに音が収まりきらなくなってノイズになる。
前回示した値は、全ファイルがこの範囲内になるような設定。

下図は、雪歩の『ポジティブ!』でノイズが生じる部分の波形。
特に雪歩というかゆりしーは「さしすせそ」で息が強いのか盛大にノイズ発生。
波形も尖って上下しているが、16bitの範囲を突き抜けてるわけではない。
悩んでも仕方ないノイズ


[ソースの音割れ?しかし実機再生では目立たない]
"adxcv"以外の様々なツールでも変換を試したが、やはり音割れ状のノイズは消えない。
となると、ADX形式の元データ(ソース)自体が既にノイズ入りなのでは、と考えられる。

しかしややこしいことに、実際のゲーム中ではこのノイズがほとんど目立たない。
抽出データを基に、伴奏(左)・伴奏(右)・ボーカルをMIXしたものと、
適当なソロPVを360実機からアナログ録音したものとを聞き比べると一聴瞭然。
更によくよく聞き込むと実機版は、抽出版でノイズが生じる箇所で
ボーカルがやや電子音的というか、加工されたような響きをしている。

こうなると、考えられる答えは2つ。
  • ソース自体にノイズがあるが360実機では綺麗に聞こえるような処理をしている:
     デコードした後のボーカルデータのノイズ部分を修正している可能性。
     DTMな世界でやられているような処理をリアルタイムに行っているパターン。
     360クラスのマシンなら平気でやれそう。
  • ADX変換ツール群が正確なデコードを行えていない:
     ADXデータ中にノイズ発生のフラグのようなものが含まれているが
     ドリキャス等をベースにした各ツールでは対応できない、という可能性。
     360実機ではノイズ発生に対応したデコードを行っているとか。

ADXの規格を中途半端に変えるということは考えにくいので、前者の可能性が高いか。
そうなると、抽出データで実機再生並みにノイズを抑えるためには
各種音声処理ソフトでシコシコ手作業修正を行わねばならない。
ゲームの音声担当さんと同じかそれ以上の苦労をしたいド暇な趣味人限定でオススメ。


<<既存のCD版との比較>>
実機との比較に続いて、既存のCD『MASTERPIECE 05』及び『MASTER BOX』とも比較してみた。
いわゆるABXテストみたいな厳密な音質比較ではなく、適当に聞き比べての素人感想。
環境はそこそこのサウンドカード+結構高い密閉ヘッドフォン。

  • BGM
    ソースは多分完全に同じで圧縮の有無の違いだけか。音質差は特に感じられない。

  • カラオケ
    CD版の方が低音が強く広がってる。『蒼い鳥』のベースなどで顕著。
    全体的に音に厚みがあって、低音から高音まで空間が満たされてる感じ。
    抽出版はその逆、低音はそれほど広がらず、全体的にスッキリ乾いた感じ。
    個々の音の主張が強く、立ち上がりも伸びも鋭い感じ。刺激的。
    曲を構成している楽器によってCD版と抽出版の印象差がかなり異なる。


  • CD版は360実機版以上にボーカルのノイズを感じず快適。
    ノイズの代わりに、実機版以上にボーカルが加工されているのが分かりやすい。
    その部分だけやたらと響いてる感じ、少しシュワシュワ音になっている。

BGMについては、単純にメドレーか単曲かの差しかないと思って構わないだろう。
何度もしっかり聞き込んだら、CD版の方が音質イイのかもしれんが多分にブラシーボな予感。

カラオケについては好みが分かれるかもしれないが、個人的にはCD版の方が好み。
DDRの時と同様、まったり楽しむという意味ではCD版の方が聞き心地が良いと思う。
また、各アイドルのソロを聞く分にはノイズレスなCD版が明らかに快適。


<<まとまらない駄文>>
自分のように、ゲームディスクの中身を調べるのが趣味みたいな人間はともかく、
何かしら利益を求める場合のアイマスデータ抽出の有意義さと無意義さについて。

有意義
  • 全ボイスデータから好きなものを自由に聞ける。生々しい声にウッハウハ。
  • CD未収録の環境音も含めて全BGM・効果音を自由に聞ける。
  • 伴奏無しのボーカルデータのみを聞ける。生々しい声にウッハウハ。
  • 適当な波形編集ソフトやDAWソフトで1~10人の任意ユニット曲を構成できる。
    MASTER BOX利用によるものよりもタイミングの取り易さや完成度で有利。

無意義
  • めんどい。
  • MASTER BOX相当にするためには手作業でファイルをミックスしないといけない。
    複数人ユニットを構成するとなると音量調節も含めて更に面倒。
  • 基本的に音質は各種CD版の方が上。特にソロ曲を聞くだけなら抽出するだけ無駄。

ボイス・ボーカルといった素材を素材のまま楽しむだけでも十分意義はあるが、
一歩進んで素材を使って何か遊ぶとなるとそれなりのモチベーションが要ると思う。

良くも悪くも、CD版より音質面や使い勝手で劣る部分があるので、
大抵のプロデューサさんは抽出で満足せずMASTER BOX2も購入するだろうとバンナムフォロー。
ぼちぼち参照されてる人数が増えてるようなので念のため、
    解析・抽出作業は自己責任で、取得データ利用は個人利用の範囲でお願いします。

よくありがちな注意文、著作権法違反幇助の意図は無いですよ文で〆。


    [関連記事] Xbox360版アイドルマスター音声抽出メモ

ゲーム(コンシューマ) | 【2007-02-25(Sun) 18:36:12】 | Trackback:(0) | Comments:(2)
前のページ 次のページ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。