Copyright © 2088 2014男篮世界杯_u20世界杯8强 - malajz.com All Rights Reserved.
友情链接
为什么 BGM 这么大:BGM 的音频数据#不难发现东方红魔乡 (搶曽峠杺嫿) 的 bgm 文件夹里都是以 th06_xx 的格式命名的 wav 文件。嗯…这么原始的不压缩的音频格式能不大吗…
而从东方妖妖梦起,bgm 文件夹为 thbgm.dat 文件所取代。文件格式变了吗?东方妖妖梦~东方花映冢的游戏里仍然把音频版的BGM音源叫做「WAV」,但 thbgm.dat 改个后缀名直接扔进音频播放器会发现打不开。
由这篇文章可知,把 thbgm.dat 当成原始音频数据扔进 GoldWave、Audition 等软件里,便可以播放了。所以这个文件应该仍然包含wav格式的音频数据部分。
以星莲船的 thbgm.dat 为例,扔进 HxD Hex Editor 里,可以看到这样的内容:
15a 57 41 56 01 00 00 00 00 12 00 00 00 00 00 002...通过观察可以猜测,文件的结构如下图所示。
本质上确实还是 wav 格式。
那么这就是「为什么 BGM 这么大」和「BGM 如何储存」的全部答案。
全文终…ん?
你说游戏怎么从连续的音频数据里找到每一首曲子的位置?
曲子在游戏里不是循环播放的吗,游戏怎么知道这首曲子从哪到哪是循环部分?
原来的wav格式的文件头里还有那么多正常播放需要的信息(比如采样率、声道数、位深度),怎么在 thbgm.dat 里没有?
难道这些是硬编码在游戏代码里了吗?
嗯…这些可能会改变的东西理论上不应该硬编码,尤其是循环点,肯定是每次都要改的。如果不在 thbgm.dat 里,那么这一些应该放在了另外的二进制文件或者文本文件里。这样便于修改,还可以写个脚本一键生成,减少修改时的重复性工作。酒鬼正是设计了另外的文件来存放这些内容。