此工具可以指定(或批量)生成bms预览音频文件并放置到对应的bms文件夹里。
通常用于应付一些bms游戏不支持自动播放预览或bms文件不钦定预览文件(PREVIEW命令)的情况。
本项目的BMS解析基于第三方项目vJLChnToZ/Bemusilization,jbms-parser(beatoraja同款)
此工具并不会改动bms文件内容。
将某个bms文件生成预览音频文件,截取的开始时间为总长的50%,结束时间为总长的75%,并将生成的文件钦定preview_neko.ogg
保存到对应的目录.
BmsPreviewAudioGenerator.exe -path="E:\[BMS]ENERGY SYNERGY MATRIX" -bms="_hyper.bms" -start="50%" -end="75%" -save_name="preview_neko.ogg"
批量生成某个某个路径内所有bms文件夹的预览音频,截取的开始时间为20000ms,结束时间为40000ms,并将生成的文件钦定preview2857.ogg
保存到对应的目录.(会递归枚举所有含有.bms文件的文件夹,但对于每个文件夹只会生成一份预览音频)
BmsPreviewAudioGenerator.exe -batch -path="H:\BOF2012" -start="20000" -end="40000" -save_name="preview2857.ogg"
通用参数格式(推荐):
-your_option1="your_value1" -your_option2="your_value2" -your_switch
支持参数:
start
: 表示预览音频的起始时间,如果是xx%
表示相对于bms播放音乐总长的对应位置(比如"25.4%"),如果是具体数值则是以毫秒为单位的绝对位置(比如2857ms => "2857"),默认为音频开头
end
: 表示预览音频的终止时间,参数格式和start
相同,默认为谱面末尾
path
: 可以钦定某个bms文件夹,在钦定batch
批量环境下可以表示含有一堆bms子文件夹的路径(不限制bms子文件夹的对应深度)
batch
:(开关) 钦定这个表示批量生成,此参数不能和bms
共存
bms
: 钦定bms文件名字,批量环境下会自动选取第一个bms类型文件,此参数不能和batch
共存
save_name
: 钦定输出的预览音频文件名,貌似也能钦定一个绝对路径,默认为preview_auto_generator.ogg
fast_clip
:(开关) 钦定使用快速切分实现,编码速度更快.
process_buffer_size
: 钦定处理音频的缓存的大小,字节单位,默认20000,越大处理越快,但更容易出现栈溢出错误。
support_extend_format
:(开关) 额外支持.bme/.bml/.bmson格式的解析
check_vaild
:(开关) 额外检查已生成预览音频文件的完整性
rm
:(开关) 此选项必须和path
和save_name
配合食用,除此之外的选项均无效且忽略。将递归子文件夹,删除path目录内所有符合文件名以"preview"开头且和save_name
名字相同的文件。
fade_in
: 在音频开头添加淡入效果,其数值为效果持续时间,单位毫秒
fade_out
: 在音频末尾添加淡出效果,其他同上.
no_skip
:(开关) 禁止跳过检查
encoder
: 钦定生成的预览音频的音频文件格式,目前支持mp3
/wav
/ogg
/any
,不选默认any
参数(即由文件扩展名自动选择)
encoder_option_base64
: 可选参数,能对指定的encoder进行详细的微调,注意此参数需要的是值的Base64形式
check_audio_missing
:(开关) 如果遇到音频文件缺失则报错并跳过此生成,默认忽略缺失的音频文件
thread
: 指定并行执行数量,默认是CPU核心数