bmx2wav 是一个可以将 bms、bme等音游格式文件转换成 wav 格式文件的软件。←这个大部分人应该都知道
由于软件的原作者是日本的,软件用的字符编码不能在中文系统正常显示.
我看着一堆乱码实在不舒服,本来只是想修正一下,后来想了想干脆给它汉化了 - -
这个软件我上网查了下,有人弄过无乱码版,但是汉化的好像还真没有。不过我也是通过这次汉化才发现这软件设计的功能竟然还有那么多……我以前从来都没研究过里面都有些什么功能(反正也是乱码看不懂)。
汉化说明
1.只汉化了软件本体,帮助文档(在文件夹 man 里)没翻译。2.软件中如果加载中文路径的 BMS 文件后,在窗口里显示出的路径仍然会乱码,不过不影响转码。
3.想看日志的话可以使用“批量处理”,然后选择保存日志,导出的日志里都是中文的。如果通过软件窗口中查看日志会乱码,软件里只能显示日文编码的字符。
4.本人并不会日语,汉化过程主要参考原版帮助文档(经软件翻译过),以及参考网上关于 BMS 介绍帖子,再加上自己根据软件中对应内容出现的情况猜测得出翻译结果。翻译结果有可能有少量错误,不过大程度不影响软件使用。由于 BMX2WAV 这个软件出现了很久都没有见到有人汉化,我先汉化了一个版本用以参考。
汉化 by littlealone100
部分内容说明
1.批量处理中的“递归加载目录”是什么意思?
简单说就是加载目录的时候连同子目录里的文件一块加载进去。
假如你新下载了一个 BMS 曲包,里面有一大堆文件夹,都是 BMS 或 BME 格式的文件,你用批量处理功能加载整个目录会非常方便。
2.调节音量里的“标准化”是什么意思?
不同音乐的音量都不同,有的特别大,有的特别小。所以你可以按某个标准去进行调整。
bmx2wav 的作者给了四种标准化方案。
①最大化
通常来说,音量不超过零分贝时不会产生爆音。(除了某些奇葩情况,例如先调出爆音,之后音量缩小回来,那听着还是爆)
bmx2wav 里的最大化是指,把 wav 中音量最大的部分作为 0db 来标准化。简单来说,就是在不产生爆音的情况下最大限度调大音量。
如果你在输出时把所有音乐都做这样的标准化,那么大部分音乐听起来的音量就都差不多了。(除非某些奇葩情况,比如开头声特小,后面声超大,那么这样处理后,开头音量还是会特别小)
②平均
把 wav 的平均音量设置到 -20db(最大音量的十分之一,分贝计算要取以 10 为底的对数再乘以 20),某些情况下会产生爆音。
具体这个平均音量是怎么计算的,帮助文档没说。
③不做处理
不进行标准化。原本音量是什么样,输出就是什么样。
④少量采样丢弃
由用户来设置丢弃采样的百分比。单位 ppm 是百万分之一,默认设置到 100。
这里输出的 wav 是每秒 44100 个样本,如果设置到 100 的话,就是每秒丢弃 4 个样本左右 (44100÷1000000x100=4.41)。
如果存在 10 秒的 wav,则有441000个样本,其中44个样本按照音量的降序被忽略,将第45个样本标准化为最大音量。
虽然理论上声音会裂得很严重,但由于丢弃的采样率非常小,所以很难感觉到噪声。
软件的原作者推荐第④个方案,理由是可以在很少噪声的前提下,小部分赚取音量……
顺便一提,这软件的默认设置也是第④个。如果你不设置的话,它就会默认这样进行输出。
最后下面还有个“音量”参数,那个含义是标准化处理之后将音量调整到指定的比例。
3.报错中提到的“头部”是什么意思?
这里引用一篇文章《BMS文件格式详解》来介绍。
原文链接 http://bbs.sjtu.edu.cn/bbscon?board=MusicGame&file=M.1277457310.A
BMS源文件按语句功能可分为三个区域:
1.信息区(HEADER),用于储存曲目的TAG
2.定义区(DEFINE FIELD),用于关联外部资源
3.谱面数据区(MAIN DATA FIELD),用于存储构建谱面的全部数据
头部就是指 header (信息区)。
这里面其实存储的不光是曲名、作者之类的,还有难度级别、玩家人数等等信息,具体你可以参考上面那个帖子。
报错说头部怎么怎么样,意思就是说 bms 或者 bme 文件的信息区有内容出错了。
因为 bms 或者 bme 文件里写的都是些指令,所以会有出错的情况。这东西与其说是音乐,倒不如说是个程序。
4.为什么错误报告中把 ogg 说成 WAV ?
这里依然引用前面那篇文章。
*---定义区(DEFINE FIELD)---*
#WAV<编号> <文件>
定义一个音频引用,即将曲目所需的音频资源文件关联至音频对象,以便导入
谱面,其中
<编号>:36进制,2位数(取值范围:01 - ZZ)。
<文件>:被引用的音频文件名,wav或ogg格式。主文件名相同即可,扩展名一
般写为“.wav”。
例如:
#WAV01 0001.wav //将0001.wav或0001.ogg关联至WAV01
#WAV02 0002.wav //将0002.wav或0002.ogg关联至WAV02
#WAV4T 004t.wav //将004t.wav或004t.ogg关联至WAV4T
也就是说 BMS 里面 WAV 相当于一个用于声明变量的关键字,不管是 ogg 还是 wav 都用 WAV 来声明。
所以这个 WAV 指的不一定是 wav 文件。
5.隐藏功能“压限器”
一般人可能不知道这个软件其实还有一个压限器功能。
作者认为这个功能有点不靠谱,把它隐藏起来了,正常情况下是不显示出来的。作者觉得未来有可能删除它。(虽然是 2010 年的事了)
要手动配置 bmx2wav.ini 这个文件才能把压限器显示出来。不推荐使用。
其它参数我就不做介绍了。想了解可以查作者的帮助文档。
原作者提供的帮助文档都是 html 格式的,可以把帮助文档拖到谷歌浏览器去用浏览器翻译一下。(这个文档谷歌翻译得大程度还可以)
如果你想了解一些 BMS 相关内容,还可以参考这篇文章。
BMS科普 http://bbs.sjtu.edu.cn/bbscon?board=MusicGame&file=M.1277295126.A
***下载
http://download.csdn.net/download/y1yy1yyy1/10159313