【UTAU工具配布】多个引擎(重采样器)混用

做得比较匆忙,之后会发详细说明视频的,现在先以专栏形式介绍一下。
另:引擎混用的工具还有一个版本,是Masao大佬做的,想要的话去贴吧找。
我做这个工具的时候不知道已经有了,但做了一半总不能中途放弃,所以就填完了。
Masao的工具叫“Resampler wrapper”,它的好处是可以多线程,但我不太喜欢的一个理由是它必须把你的引擎打包一下,而且渲染的时候完全没法看渲染进度。
我做的工具叫“Multisampler”,使用起来跟你用其他引擎没啥区别。如果有需求可以用,如果你已经习惯Masao的那个工具了,那可以忽略这篇文章。
百度网盘:https://pan.baidu.com/s/1VOkbNo9JtwLr4_27xXEr6Q 提取码:bkt8
开源地址:https://github.com/SineStriker/UTAU-Multisampler/
(复制不了的话见评论区)

概述
这个工具严格意义上不能叫做引擎(有点像Presamp),本身不具有重采样功能,只是一个可以通过Flags链接其他重采样器的辅助工具。
准备
1. 首先在 “C:\ProgramData\UTAU Plugin\Multisampler” 目录中新建一个文本文档(或者直接把下载下来的那个config.ini样例复制到这个目录)
如果你电脑上没这个目录那就自己往里新建,反正凑到这个地址就行。
2. 在这个文本中输入以下内容并保存为config.ini,字符集选择ANSI。(Windows记事本默认是UTF-8,必须改成ANSI,否则读取不出来的)
[Settings]
Prefix=r
Default=1
[Resamplers]
0=D:\UTAU\resampler.exe
1=D:\UTAU\tools\moresampler.exe
2=D:\UTAU\tools\TIPS.exe
3=D:\UTAU\tools\tn_fnds.exe
3. 配置内容的解释
“Resamplers”下方是Multisampler可以读取的重采样器的路径(必须是绝对路径)
按照上述格式可以添加任意多个重采样器,序号必须从0开始,依次递增,必须是连续的自然数。
“Settings”下方是默认设置。
“Prefix”是Multisampler的Flags,默认是“r”,可以自行修改,Flags“r0”表示使用序号为0的重采样器。(不过我建议是不要改,免得与其他引擎的Flags发生冲突,要改的话必须使用字母,绝对不能用斜杠和反斜杠)
“Default”是默认使用的重采样器序号(该重采样器必须是“Resamplers”下方指定的)。
用法(以“r”为例)
1. 在UTAU中,工程属性中将第二个工具(Tool 2 Resample)设为Multisampler(Multisampler可以放在任意位置),如果要用Moresampler的合成器第一个工具设为Moresampler就行。
2. 如果UST全局要使用某个重采样器(如序号为1的重采样器),可以在工程属性的输出选项中添加全局Flags“r1”,如果添加了多个“r”参数,则后面的会全部被忽略。
3. 如果某个音符要使用其他重采样器(如序号为2的重采样器),可以在这个音符的Flags中添加“r2”,如果添加了多个“r”参数,则后面的会全部被忽略。
注意事项
如果全局没有添加“r”参数,那么全局使用“Default”指定的重采样器。
同时,一个音符一旦添加“r”参数(不管是否有效),那么全局Flags就不会加在这个音符上(考虑到不同引擎之间同一个Flag功能可能不同)。
如果音符添加了“r”参数,但是该序号的重采样器不存在(无效),那么使用全局重采样器。
如果全局添加了“r”参数,但是该序号的重采样器不存在(无效),那么使用“Default”指定的重采样器。
如果“Default”指定的重采样器也不存在,那么Multisampler将会停止工作。
使用UTAU自带的多线程模式合成的时候也可以使用Multisampler,不受影响。

配置完config.ini后,可以在外部打开Multisampler看看配置是否正常。
如果一切正常就是下面这个界面,所有重采样器的路径会列在上面。

如果日后其中一个引擎被移动位置了,或者在里面输入了非法的路径,那么该引擎后面会提示找不到。

如果你没有按照上述的规范配置这个文本,那么会直接报错。(例如序号不是从0开始,不是连续的,Default指定的数字大于最大的序号)

UTAU中渲染时的呈现效果如下


如果有bug的话私信我(我用到现在暂时还没发现)。
祝使用愉快。
使用语言:C++
感谢 @史蒂芬王富贵 的内测。