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

五枚重ね

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

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

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
FC2カウンター
ブロとも申請フォーム
ブログ内検索
RSSフィード
リンク
AHX→WAVツール 「ahx2wav」Ver.0.14
◆概要
ファイルからCRI AHX形式の音声を抽出・デコードしてWAVファイル出力する。

◆バージョンアップ内容
  • AHX抽出機能を追加。複数のAHX音声を含んだファイルから直接WAV変換できる。
    • 関連して、サブフォルダへのWAVファイル出力機能を追加。

  • 複数ファイルから連続してAHX抽出・WAV変換出力できるようになった(ワイルドカード処理)。

◆動作環境
Windows XP Home SP2で動作を確認。

◆ダウンロード
注意!
必ず「対象をファイルに保存」などで保存。FC2の仕様に従い拡張子をtxtに偽装しているが実際はzip。
ダウンロード後にファイル名から".txt"を削除してから、zip解凍ソフトで展開する。


◆使い方
上記のファイル内の"説明書.txt"を参照。
「ExtractData」(Aurora Wall)と同等の一括検索・一括変換をするなら
抽出したい対象ファイルと同じフォルダに展開、コマンドプロンプトを開いて
    ahx2wav -d *
と入力してエンターキーを押す。

◆備考
  • Ver.0.11からWindows専用になった。Linuxな方でもソースの大部分は流用ができるはず。

  • 「ExtractData」での出力ファイルと本ツールでの出力ファイルとを「WaveCompare」で比較。
    無音部の長さまで含めて完全に一致することを確認。

  • 稀に一致しないファイルがあることも確認している。
    これは、「ExtractData」で複数のahxファイルを連続抽出する場合に、
    一部のファイル冒頭に余計な波形が出力されてしまうのが原因の模様。
    単体のファイルを処理する場合には本ツールで出力したものと完全に一致する。

◆ご意見・ご要望
使い方での不明点、動作報告や不具合報告、ご要望など何かあればコメントかメールでどうぞ。
バージョンアップすることがあれば、カテゴリー[自作ツール]で引き続きまとめていく。

◆雑文
取り急ぎツールのアップロードだけ。また後でグダグダと書く予定。

[関連記事]

自作ツール | 【2007-04-29(Sun) 00:21:38】 | Trackback:(0) | Comments:(1)
AHX→WAVツール 「ahx2wav」Ver.0.10
「bnaext」の方は、当初予定していた最低限の機能は組み込み終えて、まあ一段落着いた。
直近の問題は、テキスト以外のファイル抽出時の上書き回避、フォルダの取り扱いなどだが
現状では抽出したファイルの使い道が無いので、正直モチベーションがあまり上がらなかった。

そこで、AHX形式の音声ファイルをwavファイルに出力するツールのソースを眺めてたら
なんとなく何をやってるか見えてきたので、ひとまずコマンドラインツールの形にすることにした。


◇当記事が最新版とは限らないので、ツールのダウンロードとご利用の際はご注意ください。
 [最近の記事]・カテゴリ[自作ツール]・ahx2wavでブログ内検索など更新確認をお願いします。◇



◆概要
CRI AHX形式の音声ファイルをデコードしWAVファイル出力する。

◆動作環境
Windows XP ProおよびHome SP2で動作を確認。
Linuxでコンパイルした場合の動作も確認。

◆ダウンロード
注意!
必ず「対象をファイルに保存」などで保存。FC2の仕様に従い拡張子をtxtに偽装しているが実際はzip。
ダウンロード後にファイル名から".txt"を削除してから、zip解凍ソフトで展開する。


◆使い方
上記のファイル内の"説明書.txt"を参照。

◆備考
  • [関連記事]のアイマス音声抽出で紹介した"ExtractData"での出力ファイルと
    本ツールでの出力ファイルとを「WaveCompare」で比較、一致することを確認。

  • しかし、稀に一致しないファイルがあることも確認している。
    これは、「ExtractData」で複数のahxファイルを連続抽出する場合に、
    一部のファイル冒頭に余計な波形が出力されてしまうのが原因の模様。
    単体のファイルを処理する場合には本ツールで出力したものと完全に一致する。

◆今後の展望
  • 任意ファイルからのAHXファイル検索・抽出機能の追加。

  • 複数ファイルの連続処理(ワイルドカード処理)機能の追加。

  • サブフォルダの作成、サブフォルダへのファイル出力機能の追加。

◆ご意見・ご要望
使い方での不明点、動作報告や不具合報告、ご要望など何かあればコメントかメールでどうぞ。
バージョンアップすることがあれば、カテゴリー[自作ツール]で引き続きまとめていく。

◆雑文
説明書やソースを見ていただければ分かるが、本ツールは特に新しいものではなく
偉大な先人の知恵を流用してAHXからWAVへの変換機能だけを抽出したものである。
この場を借りてもう一度、感謝いたします。

ほとんどただの流用にも関わらず、ツールを作成し公開した流れは以下の通り。
  1. とりあえずAHXデコードは先人の知恵を借りれば簡単にできるんじゃね?
    と甘い考えで191氏の「decahx」や258氏の「makekoe」のソースを眺める。

  2. 「decahx」や「makekoe」はPS2版「CLANNAD」の音声抽出に特化しており
    汎用的なAHXファイルデコードのためには一部機能の削除や修正が必要と理解。
    GPLソースだし、手を加えて公開したらイイ情報発信になるだろうと妄想し出す。

  3. 結羽氏の「ExtractData」のAHX・WAV関連部のソースとも見比べて
    「decahx」をベースにした場合に修正・追記が必要となる箇所が大体見えてくる。

  4. 「decahx」をベースに、gcc以外というかbcc32でもコンパイルできるソース、
    またとりあえずLinuxでもそのまま使えるソースを念頭に改造し始める。

  5. やっぱり何度も暗礁に乗り上げるが、なんとか完成して公開に至る。

自分が手をつけた部分は、getbits関数周りとmain関数でのファイル入出力くらい。
残る肝心な部分は先人のソースの合わせ技なので、安心して多用途に使い回せることと思う。

[関連記事]

自作ツール | 【2007-04-16(Mon) 10:09:06】 | Trackback:(0) | Comments:(0)
360版アイマス用ツール 「bnaext」Ver.0.15
◇当記事が最新版とは限らないので、ツールのダウンロードとご利用の際はご注意ください。
 [最近の記事]・カテゴリ[自作ツール]・bnaextでブログ内検索など更新確認をお願いします。◇



◆概要
Xbox360版アイドルマスターで使われているBNAファイルを展開し、
コミュパートなどのテキスト(SCBファイル)を含む場合はその抽出を行う。
オプションを与えることで、展開した個別ファイルの単純出力も行う。

◆バージョンアップ内容
  • テキスト抽出でのシチュエーション名処理を修正。

◆ダウンロード
注意!
必ず「対象をファイルに保存」などで保存。FC2の仕様に従い拡張子をtxtに偽装しているが実際はzip。
ダウンロード後にファイル名から".txt"を削除してから、zip解凍ソフトで展開する。


◆使い方
上記のファイル内の"説明書.txt"を参照。

◆その他の情報
"説明書.txt"および当ブログ内のカテゴリー[自作ツール]から過去の記事を参照。

◆仕様・既知の問題
  • BNAファイル中に同名ファイルが存在した場合に区別せず一方で上書きしてしまう。
    BNAファイルに格納されているフォルダ構造を無視してファイル名だけで処理しているため。
    テキスト出力では無問題だが-eオプションでAHXファイルを出力するときに生じる問題。

  • Ver.0.12と異なりbnaext.exeを実行するフォルダに存在するファイルしか扱えない。
    ワイルドカード処理に対応する際にフォルダ情報を考慮していないため。

  • Ver.0.12で示したテキスト改行の微妙な問題は未解決のまま。


◆今後の展望
上から優先度が高い順に示す。
  • サブフォルダを扱えるようにする。サブフォルダにファイル出力可能にする。

  • 格納されているフォルダツリー構造の再現を行う機能の実装。

  • 出力ファイルリスト生成機能
    (ファイル名とシチュエーション名をcsv形式か何かで一覧出力)。

  • UTF-16BEからShift-JISへの変換機能の実装(既存ライブラリの組み込み?)。

  • AHXファイルのセルフデコード機能の実装。

◆ご意見・ご要望
使い方での不明点、動作報告や不具合報告、ご要望など何かあればコメント欄にてどうぞ。
バージョンアップすることがあれば、カテゴリー[自作ツール]で引き続きまとめていく。


◆雑文
Ver.0.14でご報告のあった、かなりクリティカルな問題を解消したバージョンアップ。

少し詳細に書くと、UTF-16BEで書いてあるシチュエーション名の無駄な余白を省くために
あえてASCIIのつもりで取得していたら、誤認してうまく出力されない例があったという話。
そりゃ問題ありそうと自覚はしていたが、チェックした限り無問題だったので放置していた。
しかし伊織のスクリプトの一部で、シチュエーション名の冒頭に妙な空白があるために
誤認され出力ファイルが乱れて、テキスト全体が読めなくなってしまっていた模様。

Ver.0.15ではちゃんと2バイト毎に読んで、もう少し厳密な余白判定をするように変更した。
これまで問題なかったファイルの抽出テキストには何も差が見られないはず。
問題のあった伊織のファイルでは、抽出テキストの冒頭に全角スペースが見られると思うが
これが元々のファイルの仕様なので、あえて削除せず残している。

今回の件で、如何に私のデバッグがいい加減で出力ファイルチェックが不十分かが伝わったろうか。
故にご意見・ご要望を下さいとやたら書いているのですよ、端から問題だらけは承知の上。
一応、デバッグや推敲に時間をかけすぎるよりも叩き台でいいから公開していった方が
自分にもWeb的にも有益だろう、というスタンスでツールアップや記事の追加をしている。
そのあたりご了承いただきつつ、ぼちぼち時間が無いので〆。

[関連記事]

自作ツール | 【2007-04-10(Tue) 08:01:48】 | Trackback:(0) | Comments:(1)
360版アイマス用ツール 「bnaext」Ver.0.14
(追記:2007/04/10)
本Ver.では正常にテキスト抽出が行われない場合がある。Ver.0.15以降をご利用ください。

◆概要
Xbox360版アイドルマスターで使われているBNAファイルを展開し、
コミュパートなどのテキスト(SCBファイル)を含む場合はその抽出を行う。
オプションを与えることで、展開した個別ファイルの単純出力も行う。

◆バージョンアップ内容
  • ワイルドカード処理に対応し一括出力が可能になった。

  • 実行時にオプションを与えることによる動作の切り替えが可能になった。
    テキスト抽出動作と、アーカイブ中の全ファイル展開出力動作の切り替えが可能。

  • 読み込みファイルのクローズ処理抜けなどのバグを解消した。

  • 説明書の修正や、エラーメッセージの表記などの雑多な修正を行った。

◆ダウンロード
注意!
必ず「対象をファイルに保存」などで保存。FC2の仕様に従い拡張子をtxtに偽装しているが実際はzip。
ダウンロード後にファイル名から".txt"を削除してから、zip解凍ソフトで展開する。


◆使い方
上記のファイル内の"説明書.txt"を参照。

◆その他の情報
"説明書.txt"および当ブログ内のカテゴリー[自作ツール]から過去の記事を参照。

◆仕様・既知の問題
  • BNAファイル中に同名ファイルが存在した場合に区別せず一方で上書きしてしまう。
    BNAファイルに格納されているフォルダ構造を無視してファイル名だけで処理しているため。
    テキスト出力では無問題だが-eオプションでAHXファイルを出力するときに生じる問題。

  • Ver.0.12と異なりbnaext.exeを実行するフォルダに存在するファイルしか扱えない。
    ワイルドカード処理に対応する際にフォルダ情報を考慮していないため。

  • Ver.0.12で示したテキスト改行の微妙な問題は未解決のまま。

  • 本Ver.からおそらくWindows専用になった。ワイルドカード処理追加のため。

◆今後の展望
上から優先度が高い順に示す。
  • サブフォルダを扱えるようにする。サブフォルダにファイル出力可能にする。

  • 格納されているフォルダツリー構造の再現を行う機能の実装。

  • 出力ファイルリスト生成機能
    (ファイル名とシチュエーション名をcsv形式か何かで一覧出力)。

  • UTF-16BEからShift-JISへの変換機能の実装(既存ライブラリの組み込み?)。

  • AHXファイルのセルフデコード機能の実装。

◆ご意見・ご要望
使い方での不明点、動作報告や不具合報告、ご要望など何かあればコメント欄にてどうぞ。
バージョンアップすることがあれば、カテゴリー[自作ツール]で引き続きまとめていく。


◆雑文
今回、複数ファイル一括処理に対応できたことと、バッチファイルを同梱したことで
「アイマスのテキストを読める形にパッと抽出する」という目的に関してはほぼ達成できた。
テキスト抽出機能を求めてこの記事を読んだ方々は、今回のVer.でほぼご満足されることと思う。
あとは、フォルダ絡みの扱いをできるようにして更に抽出の単純化を図っていく感じだろうか。
誰にも求められない自己満足の域に入っていくが、単純にプログラミングの勉強になるので楽しい。

全ファイル展開出力機能は、抽出・解析スキーにオススメ。ていうか自己満足?
BNAファイルはscriptだけでなくsceneなど他の多くのフォルダにも含まれていて、
抽出できるようなテキストデータこそ無いようだが-eオプションで展開すると出てくる出てくる。
画像(テクスチャ)ファイルと思しき.nutなど、まだ仕様が分かっていないファイルのてんこ盛り。
なぜ1ファイルに固められてるんだろう。.nutなどは既に個別に存在しているのに。

画像のフォーマットについての知識はプログラミング以上に皆無なので手のつけようが無い。
これらのファイルもいつかは解析して表示してみたいもんだなーとは思う一方、
正直なところ誰か画像解析に詳しい人に放り投げてーと本音をのたまっておいて〆。

[関連記事]

自作ツール | 【2007-03-28(Wed) 02:13:48】 | Trackback:(0) | Comments:(2)
360版アイマス用ツール 「bnaext」Ver.0.12
(追記:2007/04/10)
本Ver.では正常にテキスト抽出が行われない場合がある。Ver.0.15以降をご利用ください。

◆概要
Xbox360用「アイドルマスター」で使われているBNA形式のアーカイブを展開し個別のファイルを出力する。
アーカイブ中にSCBファイルが含まれている場合はテキスト部分の抽出を行う。
※Ver.0.12では、SCBファイル中のテキスト抽出機能のみに限定している。

◆動作環境
Windows XP ProおよびHome SP2で動作を確認。

◆ダウンロード

注意!
必ず「対象をファイルに保存」などで保存。FC2の仕様に従い拡張子をtxtに偽装しているが実際はzip。
ダウンロード後にファイル名から".txt"を削除してから、zip解凍ソフトで展開する。

(追記:2007/03/21)
より簡単にテキスト抽出ができるようにバッチファイルを追加・同梱した。
その他の内容、ツール自体は以前アップしていたものと同じバージョン。

◆準備
「アイドルマスター」のゲームディスクからファイルをPC上に吸い出しておく。
吸い出し方については後述の[関連記事]か、Google先生の教えを参照。

◆使い方
上記のファイル内の"bnaext.txt"を参照。

◆既知の問題
  • 抽出したテキストをWinXP標準のメモ帳で開くと改行が正しく行われず文字化けする。
    その他のエディタでも改行部分に関しては問題があるかもしれない。Meadowでもイマイチ。

  • 現在、問題なく改行が行われると確認しているのは以下のソフト。
    秀丸、Word 2003、Internet Explorer

◆仕様についての補足
テキストは元のファイルのデータをそのまま切り出しているが、若干手を加えた。
  • テキストファイルの冒頭にUTF-16BEのヘッダを加えた。

  • (存在するものについては)冒頭にシチュエーション名を記すようにした。
  • 1ウィンドウで表示されるテキスト毎に追加の改行を入れた。

また、今回アップしたVer.0.12でテキスト抽出機能のみに限定したのは、
単体で出力されてもあまり意味のないAHXファイルが大量出力されるのを避けるためである。
テキスト以外のファイル出力に関しては、後述する動作切り替え実装時に再び可能にする予定。

◆今後の展望
個人的に優先度の高い検討事項から順に示す。しかし実際に着手するかどうかは未定。
  • 実行時にオプションを与えることによる動作の切り替え機能の実装
    (ファイルの単純出力の有無・テキスト抽出の有無など)。

  • 格納されているフォルダツリー構造の再現を行う機能の実装。

  • 出力ファイルリスト生成機能
    (ファイル名とシチュエーション名をcsv形式か何かで一覧出力)。

  • UTF-16BEからShift-JISへの変換機能の実装(既存ライブラリの組み込み?)。

  • AHXファイルのセルフデコード機能の実装。

繰り返すが、「できたらいいな」リストなので実際にやるかどうかは別。
また、ソースコードの公開については…とてつもなく恥ずかしい初心者仕様なので控えた。

◆ご意見・ご要望
動作確認報告や不具合報告など、何かあればこの記事のコメント欄にてどうぞ。
要望などもご自由に。当然、それに応えられるかどうかは別というか応えられないだろう。
バージョンアップすることがあれば、カテゴリー[自作ツール]で引き続きまとめていく予定。


[関連記事]

自作ツール | 【2007-03-14(Wed) 22:11:21】 | Trackback:(0) | Comments:(4)