合成器(Wavtool)
合成器介绍
作用
- 对重采样器输出的音频裁剪、添加音量包络、拼接。
命令行
wavtool2 <outfile> <infile> offset length p1 p2 p3 v1 v2 v3 v4 ovr p4 p5 v5
参数
必选参数
- 第一个参数:输入文件(如a.wav)
- 第二个参数:输出文件(如temp.wav)
- 第三个参数:StartPoint(实数)
- 第四个参数:输出长度(音长@曲速±校正值)
- 第五个参数:音量包络p1
- 第六个参数:音量包络p2
可选参数
- 第七个参数:音量包络p3(一旦指定了,必须指定重叠及之前所有参数)
- 第八个参数:音量包络v1
- 第九个参数:音量包络v2
- 第十个参数:音量包络v3
- 第十一个参数:音量包络v4
- 第十二个参数:重叠
- 第十三个参数:音量包络p4
- 第十四个参数:音量包络p5
- 第十五个参数:音量包络v5
补充说明
关于输出长度
- 格式:音长@曲速±校正值
- 示例:480@120+50.1,120@105-41
- 音长就是以tick为单位的音长。
- 校正值 = 先行声音(校正后)+ 末端偏移
详见 咬合校正 - 注意事项:校正值+理论长度不能变成负数。
关于合成结束信号
-
对于一般的合成器
- 需要将拼接的音频划分为 temp.wav.whd(文件头)与 temp.wav.dat(数据内容)。
- 第一次调用产生这两个文件,后续调用将数据追加在dat文件上。
- 批处理在最后一次拼接后合并这两个文件,生成一个完整的 temp.wav。
-
针对 moresampler(合成器模式)
- 每次调用会将缓存的文件名(类似文本的格式)直接写入 temp.wav 作为参考,结束前检测 temp.bat 文件的内容,根据缓存文件名来判断是不是最后一次调用。
- 如果是最后一次,那么根据 temp.wav 的内容一次性拼接所有的缓存文件。
- 因此如果要自己写程序调用引擎并兼容moresampler,必须按照格式保留 temp.bat。
- 当使用 UTAU 多核处理时由于 temp.bat 不符合单核处理的格式,moresampler 读取不到结束信号,所以会失败。
- 使用时必须开启 UTAU 的缓存处理选项(没开时每次生成的缓存会覆盖上一次)。