OOO

 

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

UTAU工程文件解析(1)基本结构

因为好像中文资料不多,干脆来写一个吧,但是作者没什么耐心,也可能写不完。

所谓工程文件就是ust文件,ust都是文本形式,以CR+LF换行,标准结构大概是这样:

[#VERSION]
....
[#SETTING]
....
[#0000]
....
[#0001]
....
[#TRACKEND]

用[#]括起来的就是区块标识了,下面分块讲解。

1. [#VERSION]

块内一般只有一行,记录ust格式版本,现行1.2,下面也以此为准

UST Version1.2

如果文件以UTF-8编码保存,就会多一行

Charset=UTF-8

UTAU不能自动识别文件编码,只能靠这行判断是以UTF-8还是ANSI打开,而且只能读无BOM的UTF-8。

2. [#SETTING]

块内保存基本设置,也就是就是工程设置窗口里的东西,记录包括Tempo、Tracks、ProjectName、VoiceDir、OutFile、CacheDir、Tool1、Tool2、Mode2、Flags等,看看就明白了,一般不用太去管,就算删掉也不会出什么问题。

3. [#0000]、[#0001]...、[#000N]

以数字标识的块就是音符节点了。
有趣的是数字大小并没有意义,全写成0000也没关系,有影响的只有前后顺序而已。
块结构大致是这样:

[#0000]
Length=960
Lyric=あ
NoteNum=60

每个音符节点内必须要有的记录只有这几条而已,其中——

  • Length:长度记录,取整数值,4分音符长480,以此类推。界面上鼠标调整下限为15(工具栏Quantize选64分音符量化),上限7680;右键直接修改Length的话则没有上限,下限依旧15;插件内修改则可以短到1。

  • Lyric:歌词记录。

  • NoteNum:音高记录,记法同midi标准,C4记为60,取值范围一般24(C1)~107(B7),B7以上UI无法显示,不过还是可以用的样子。

其他记录下回再说。

4. [#TRACKEND]

结尾标识,没有也没关系。

以上就是一个独立ust的基本结构,而如果是插件生成的临时工程,结构又会有少许不同。
临时工程呢,就是在UTAU程序界面上选择一段音符,对选区运行插件,程序会在临时目录生成一个临时工程文件,供插件处理,临时工程结构与独立ust区别为:

 (1) 版本记录是 "UST Version 1.20";
 (2) 如果选区前后有音符,则会有对应的 [#PREV] 和 [#NEXT] 音符节点;
 (3) 音符节点内多出以 @ 打头的几条只读记录;
 (4) 没有 [#TRACKEND] 块;
 (5) 不管原工程编码如何,临时工程都是ANSI的。

评论
热度(5)

© OOO | Powered by LOFTER