« 局地戦 | トップページ | 妖術ソロの限界 »

2009年12月 3日 (木)

KOEI G1L形式のBGMファイルの変換

VFP2OGG.VBS へのリンク

(18/05/10追記)


無双☆スターズのPC版がリリースされました。

RESフォルダ内の頭にBがついたファイルがヘッダこそG1Lではあるものの、実質ATSLコンテナ形式のKOVS(OGG)ファイルでした。
それだけだと、合計140MB足らずで、他にも音声データはあると思いますが・・・。
LINKDATA.BINは10GB近くにも達し、もはや調べる気にもなりません。
(17/08/30追記)

無双7のPC版がリリースされました。
拡張子こそbinですが、わかりやすいG1L形式のKOVS(OGG)ファイルがほとんどですね。
ATSLヘッダのものもいくつかありますが。

(14/05/23追記)


VFPをOGGに直接変換するスクリプトが完成しました。

(13/12/06追記)


信長の野望・創造のベンチマークデモがリリースされました。

VOICEフォルダ以下にVFP形式(Voice File Packageの略か?)の音声ファイルがありますが、中身はG1L形式とほぼ変わらないようです。(ヘッダが違うだけ?)

・・・が、でいゆ工房さまがサイトを閉鎖されたようで、kvs2oggのバージョンアップはもうないでしょう。(ソフトのアーカイブは残してもらえているようですが)

VFPをKVSに分解するスクリプトなら簡単にできるけど、実用性が無さすぎますな。

(13/12/05追記)


真・三國無双6 with 猛将伝のPC版が発売されました。

先にリリースされたベンチマークを見る限りは何も変更はなさそうです。

(12/03/11追記)


現バージョン(Ver 0.60b2)のkvs2oggで、無双OROCHI Zまでの対応が完了しています。

エラーが表示される場合は、PCスペックの再検討が必要だと思われます。


でいゆ工房さんのkvs2oggがG1L形式に対応してくれるのを待ってたんですが、無双OROCHI ZのPC版も出たというのに興味が無いご様子・・・。

一応、現在のバージョンのkvs2oggでも元ファイルにちょっと手を加えるだけで変換できますので、ポイントだけ記しておきます。

BGMLink.g1lのヘッダは三國志OnlineのKVS BIN形式(仮)の拡張となっており、変更点は

・先頭20バイトに管理用のデータが追加
・格納ファイル数データが1バイトから4バイトに

の2点だけです。

ですので、バイナリエディタを使ってBGMLink.g1lの

・先頭の24バイトを削除
・先頭に0x03(2でも1でもよい)を1バイトを追加(KVSコンテナの仕様からすると間違いだが、こうしないとkvs2oggで認識されない)
・ファイルの最初に現れる"KOVS"という文字列の前に0x00を23バイト分追加

することによってkvs2oggで変換できるbin形式のファイルになります。もちろんコピーしたファイルで作業してください。


元に戻すということを失念していたので、一応G1Lファイルのヘッダ形式を書いておきます。

0000 文字列 '_L1G0000' (8バイト)
0008 ファイルサイズ(4バイト)
000C 格納ファイルの先頭アドレス(4バイト)
0010 0x00を4バイト
0014 格納ファイル数(4バイト)
0018 n個目のファイルの先頭アドレス(4バイト)

A

|

« 局地戦 | トップページ | 妖術ソロの限界 »

コメント

天道のサウンドを変更しようと重いバイナリエディタを使って試してみたのですが、
24バイト削除→冒頭に0x03挿入→KOVSの前に0x00を23個挿入で
変更後のファイルをkvs2oggで読み込もうとしても反応せず、上手くいきませんでした。
g1l→binへの拡張子変更は自分で書き換える必要があるのでしょうか?

投稿: | 2009年12月15日 (火) 00時10分

「kvsファイルを開く」からのダイアログメニューで対象のファイルが表示されないということでしょうか?
ならば、ご指摘の通り拡張子を変更するか、ダイアログの「kvsファイル(*.kvs,*.bin)」を「すべてのファイル(*.*)」に変更すれば見えるようになると思われます。
あるいはkvs2oggのウィンドウ自体に、ファイルを直接ドラッグアンドドロップしても変換が始まるはずです。

今見たところ、天道のサウンドファイルはBGMはただのkvsファイルでしたので、voiceフォルダのファイルを変換するのですよね。
形式はg1lですが1つのファイルに1つのKVSファイルしか入っていない、ほぼkvsそのもののファイルです。
コーエーはなぜ単一のファイルをコンテナ形式にしたのか不可解ですが・・・。
先頭の28バイト、つまりKOVSという文字列の前をばっさり削除するだけでKVSファイルになります。
が、なにしろ1300以上のファイルがありますから・・・・、でーゆ工房さまに対応をお願いするか、なんらかのスクリプトを組むなりした方がよろしいかと思われます。

投稿: 放置さん | 2009年12月15日 (火) 13時27分

おお!変換できました!
迅速なご返答ありがとうございます。

投稿: | 2009年12月15日 (火) 20時48分

明けましておめでとうございます。
kvs2oggをご利用いただきまして有り難うございます。

L1G形式に対応してみましたが、複数ファイルの時(体験版のファイル)に放置さんがかかれているヘッダ情報とは
異なるので適当に実装しました。お手数ですが体験版でしか確認していませんので試してみて貰えますでしょうか。

kvs2ogg Ver0.65b1
http://dl.deiyu-studio.net/kvs2ogg/

宜しくお願いいたします。

投稿: でいゆ | 2010年1月 1日 (金) 23時44分

あけましておめでとうございます。
なんだか間接的に催促したみたいで申し訳ないです。

早速、新バージョンをウチにあるソフトで試させていただき、正常動作確認しました。
無双OROCHI Z体験版と製品版(Z、天道)ではヘッダ形式は同じみたいですが、こちらの書き方が悪かったようでご迷惑をおかけしました。

とりあえず報告まで。

投稿: 放置さん | 2010年1月 2日 (土) 20時40分

動作確認有り難う御座います。
いえいえ、新しいkvs形式のソフトが出たことを知らせて頂きまして有り難う御座います
あまりコーエーのゲームはしないので・・・知らなかったです。

体験版のデータを見たら実データは11ファイルなのにヘッダは70ファイルとなっていたので?なんでかなって
思っていたのですが単に重複しているだけみたいですね。
気が向けばG1L形式の書き出しにも対応してみます。

有り難う御座いました。

投稿: でいゆ | 2010年1月 5日 (火) 21時34分

OROCHI Zがどうこうと書いてあったのでkvs2oggのVer 0.60b2を使い、上記の方法でBGMを変換することが出来ました。

ここでひとつ質問なのですが、KOEIゲームの音声(例えばOROCHI Zの場合はvoice.bin)の変換には対応していないのでしょうか?
OROCHI Zの音声ファイルのサイズが約900MBと大きいのでファイル分割ソフトを使ってサイズを小さくしたものを分割してみたところ、
趙雲の「常山の趙子龍、参る!」という音声がひとつだけ変換出来ました。
これはもしかしたら、と思いvoice.binを直接変換してみたところ
「this application has requested the runtime to terminate it in an unusual way」というエラーが出て、何もファイルが出てきませんでした。

BGM変換の話とは少しずれた内容ですが、よろしければお願いします。

投稿: やこぬ | 2010年1月10日 (日) 11時40分

OROCHI ZのVoice.binはKVSファイルを単純に積み重ねただけの構造になってますので、バイナリエディタで一個一個削りだし・・・するのはなかなか厳しいものがあります。
そこでワタクシが急遽捏造したVBScriptを使ってみるというのも一興かと。

http://casper.cocolog-wbs.com/CUT.ZIP

使い方は、このZIPの中身のスクリプトを適当なフォルダに置き、そこにVoice.binをドラッグアンドドロップするだけです。
注意点としては、voice.binが大きすぎるためにマシンスペックがそれなりに必要なことと、生成し終わるまでかなりの時間が必要なことです。
もちろん、何が起ころうが無保証だということもお忘れなく。

投稿: 放置さん | 2010年1月10日 (日) 19時50分

素早い返答と変換ツールの作成ありがとうございます。

早速ツールを試してみたところ、五時間弱で22664個のksvファイルが作成されました。
試しにいくつかのファイルをkvs2oggで変換してみたところ、問題なく再生することが出来ました。

重ね重ねお礼申し上げます。 ありがとうございました。

投稿: やこぬ | 2010年1月11日 (月) 13時21分

voice.binデータですが一応kvs2ogg Ver0.65b1にて対応済みのはずです(体験版のvoice.binで確認したもので・・・)。
ただファイルを丸々開くのでそのファイルサイズ分のメモリが必要です。
メモリが確保出来なくてランタイムエラーが起こっているのだと思います。

投稿: でいゆ | 2010年1月17日 (日) 23時50分

PC版真・三國無双5の音声ファイルを取り出し変換するにはどうしたらいいのでしょうか?
ilnkdata.binをkvs2oggに当ててみたのですがランタイムエラーが出てしまいます
どうかご返答宜しくお願いします

投稿: | 2010年4月17日 (土) 17時39分

基本的に、直前のでいゆ様のコメントの通りだと思われます。
そして、その上の方の拙作スクリプトで基本的に対応可能だと思われます。

で、まぁ、CPU時間を何時間分も(マシンパワーによっては何十時間)ロスするのは地球によろしくないのでこちらをどうぞ。

http://casper.cocolog-wbs.com/CUT5.ZIP
(三國無双5 LINKDATA.BIN専用です!無駄な時間を80%ぐらい削ってますが、それでも結構時間がかかります。)

投稿: 放置さん | 2010年4月17日 (土) 20時11分

スクリプトによる取り出しとkvs2oggによる変換、共に出来ました!
ありがとうございました!

投稿: | 2010年4月18日 (日) 16時25分

真・三國無双5 Empiresの音声ファイルについては、PC版が発売されない限り変換は無理でしょうか?
婚姻・贈り物・休息台詞やエディット武将台詞など、Empiresで新しく追加された音声ファイルを変換したいのですが・・・

投稿: | 2010年4月29日 (木) 22時48分

コンシューマ版は持ってないのでなんとも言えませんが、まったく別フォーマットと言う事も考えにくいので調べる価値はあると思います。

投稿: 放置さん | 2010年4月30日 (金) 00時41分

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 局地戦 | トップページ | 妖術ソロの限界 »