OOO

 

无责任自制品堆放地
博主对站内物可能引起的任何问题不负任何责任

UTAU插件的制作基础

首先,在UTAU主程序目录的 plugins 子目录下新建插件目录,路径最好为英文,而后在其下新建 plugin.txt ,编码为当前系统默认编码,即:简体系统GBK、繁体系统Big5,如果用 AppLocale 等转区方式以日语环境运行UTAU主程序,那么则Shift-JIS,这是为了避免插件名在主程序菜单中乱码,不过这样只对同语言的系统有效,在国际友人那里还是可能乱码,所以 plugin.txt 里最好还是只用英文数字和常见符号。
然后在 plugin.txt 中输入插件配置,这里又分三种情况:

第一种情况,插件是已编译的可执行程序,假定为plugin.exe,那么在 plugin.txt 中输入:

name=test_plugin
execute=plugin.exe

这样就能在 UTAU 的 Tools -> Plug-Ins 菜单中显示插件名“test_plugin”并被调用了。如果菜单中不显示,Reload一下即可。
实际执行中,plugin.exe 会收到 UTAU 发出的临时工程文件的路径作为参数。

第二种情况,插件是已关联执行程序的脚本或文件,假定为plugin.vbs,那么在 plugin.txt 中输入:

name=test_plugin
execute=plugin.vbs
shell=use

比第一种情况多一行 "shell=use" ,其余相同。

第三种情况,插件是未关联执行程序的脚本(适合便携党),这里以 node.js 举例,在 plugin.txt 中输入:

name=test_plugin
execute=run.bat
shell=use

然后在插件目录下新建 run.bat ,内容为

node "%~dp0plugin.js" "%1" "%~dp0\" "GBK"

即通过 run.bat 启动 node 主程序执行脚本并传递参数。
新建 plugin.js ,输入:

var tmpUst=process.argv[2];       //临时工程路径
var pluginPath=process.argv[3];//插件所在路径
var cp=process.argv[4];              //默认编码
var fs = require('fs');
var iconv = require('iconv-lite');
var s = iconv.decode(fs.readFileSync(tmpUst), cp);
s=s.replace(/あ/g, "啊")
fs.writeFileSync(tmpUst, iconv.encode(s, cp), "binary")

这个测试脚本的功能是把选区内所有“あ”字符(基本见于歌词)替换为“啊”,用到了三方转码包 iconv-lite ,适合简体中文系统。如果是繁体系统或者以如果转区以日语环境运行UTAU主程序,那么 run.bat 中的 GBK 要改成 相应编码。

评论
热度(3)

© OOO | Powered by LOFTER