ustxファイルとは
OpenUtauの作品データ。拡張子は".ustx"。UTAUのustファイルに当たるが、構造はかなり違う。中身は結構長い。
仕様(工事中)
保存形式はUTF-8 with BOM。
文法
プログラム(C#):
class1 { int num = 1; string s = "Hello."; string e = string.Empty; bool t = true; string[] sa; public class1(//省略){ //省略 } } Dictionary Dict<string, class1>() { {"D1", new class1(1,"Hello.", string.Empty, true, new string[0])}, {"D2", new class1(1,"Hello.", string.Empty, true, new string[0])} }; List<class1> list = new List<class1>() { new class1(1,"Hello.", string.Empty, true, new string[0]), new class1(1,"Hello.", string.Empty, true, new string[0]) };
ustxファイル:
Dict: - D1: - num: 1 s: Hello. e: "" t: true sa: [] - D2: - num: 1 s: Hello. e: "" t: true sa: [] list: - num: 1 s: Hello. e: "" t: true sa: [] - num: 1 s: Hello. e: "" t: true sa: []
要素
- name
- comment
- output_dir
- cache_dir
- ustx_version
- resolution
- bpm
- beat_per_bar
- beat_unit
- expressions
- dyn
- name, abbr, type, min, max, default_value, is_flag, flag
- pitd
- name, abbr, type, min, max, default_value, is_flag, flag
- clr
- name, abbr, type, min, max, default_value, is_flag, options[]
- eng
- name, abbr, type, min, max, default_value, is_flag, options[]
- vel
- name, abbr, type, min, max, default_value, is_flag, flag
- vol
- name, abbr, type, min, max, default_value, is_flag, flag
- atk
- name, abbr, type, min, max, default_value, is_flag, flag
- dec
- name, abbr, type, min, max, default_value, is_flag, flag
- gen
- name, abbr, type, min, max, default_value, is_flag, flag
- genc
- name, abbr, type, min, max, default_value, is_flag, flag
- bre
- name, abbr, type, min, max, default_value, is_flag, flag
- brec
- name, abbr, type, min, max, default_value, is_flag, flag
- lpf
- name, abbr, type, min, max, default_value, is_flag, flag
- mod
- name, abbr, type, min, max, default_value, is_flag, flag
- alt
- name, abbr, type, min, max, default_value, is_flag, flag
- shft
- name, abbr, type, min, max, default_value, is_flag, flag
- shfc
- name, abbr, type, min, max, default_value, is_flag, flag
- tenc
- name, abbr, type, min, max, default_value, is_flag, flag
- voic
- name, abbr, type, min, max, default_value, is_flag, flag
- dyn
- exp_selectors
- exp_primary
- exp_secondary
- key
- time_signatures
- tempos
- tracks
詳細
name
string
名前。プロジェクト名? 表示場所も変更場所も未確認。
名前。プロジェクト名? 表示場所も変更場所も未確認。
comment
"string"
書いてあるものを見たことがない
output_dir
string
場所不明
場所不明
cache_dir
string
場所不明
場所不明
ustx_version
"小数点付き数"
ustxのバージョン。アップデートすると変わる?
ustxのバージョン。アップデートすると変わる?
resolution
int
デフォルトではおそらく四分音符の長さが指定されているが、何に使われるのかは不明。
デフォルトではおそらく四分音符の長さが指定されているが、何に使われるのかは不明。
bpm
double
使われていない?デフォルト値?
※ustxバージョン0.6以上
※ustxバージョン0.6以上
beat_per_bar
int
使われていない?デフォルト値?
※ustxバージョン0.6以上
※ustxバージョン0.6以上
beat_unit
int
使われていない?デフォルト値?
※ustxバージョン0.6以上
※ustxバージョン0.6以上
expressions:
OpenUtauのタブ、「ツール>表情」で設定できる要素。ここでは最初から追加されているもの、そのデフォルト値を載せて置く。
Dictionary<string, UExpressionDescriptor>型を使用
Dictionary<string, UExpressionDescriptor>型を使用
expressions.dyn
name: dynamics (curve)
abbr: dyn
type: Curve
min: -240
max: 120
default_value: 0
is_flag: false
flag: ""
abbr: dyn
type: Curve
min: -240
max: 120
default_value: 0
is_flag: false
flag: ""
expressions.pitd
name: pitch deviation (curve)
abbr: pitd
type: Curve
min: -1200
max: 1200
default_value: 0
is_flag: false
flag: ""
abbr: pitd
type: Curve
min: -1200
max: 1200
default_value: 0
is_flag: false
flag: ""
expressions.clr
name: voice color
abbr: clr
type: Options
min: 0
max: -1
default_value: 0
is_flag: false
options: []
abbr: clr
type: Options
min: 0
max: -1
default_value: 0
is_flag: false
options: []
expressions.eng
name: resampler engine
abbr: eng
type: Options
min: 0
max: 1
default_value: 0
is_flag: false
options[]
{
"",
worldline
}
abbr: eng
type: Options
min: 0
max: 1
default_value: 0
is_flag: false
options[]
{
"",
worldline
}
expressions.vel
name: velocity
abbr: vel
type: Numerical
min: 0
max: 200
default_value: 100
is_flag: false
flag: ""
abbr: vel
type: Numerical
min: 0
max: 200
default_value: 100
is_flag: false
flag: ""
expressions.vol
name: volume
abbr: vol
type: Numerical
min: 0
max: 200
default_value: 100
is_flag: false
flag: ""
abbr: vol
type: Numerical
min: 0
max: 200
default_value: 100
is_flag: false
flag: ""
expressions.atk
name: attack
abbr: atk
type: Numerical
min: 0
max: 200
default_value: 100
is_flag: false
flag: ""
abbr: atk
type: Numerical
min: 0
max: 200
default_value: 100
is_flag: false
flag: ""
expressions.dec
name: decay
abbr: dec
type: Numerical
min: 0
max: 100
default_value: 0
is_flag: false
flag: ""
abbr: dec
type: Numerical
min: 0
max: 100
default_value: 0
is_flag: false
flag: ""
expressions.gen
name: gender
abbr: gen
type: Numerical
min: -100
max: 100
default_value: 0
is_flag: true
flag: g
abbr: gen
type: Numerical
min: -100
max: 100
default_value: 0
is_flag: true
flag: g
expressions.genc
name: gender (curve)
abbr: genc
type: Curve
min: -100
max: 100
efault_value: 0
is_flag: false
flag: ""
abbr: genc
type: Curve
min: -100
max: 100
efault_value: 0
is_flag: false
flag: ""
expressions.bre
name: breath
abbr: bre
type: Numerical
min: 0
max: 100
default_value: 0
is_flag: true
flag: B
abbr: bre
type: Numerical
min: 0
max: 100
default_value: 0
is_flag: true
flag: B
expressions.brec
name: breathiness (curve)
abbr: brec
type: Curve
min: -100
max: 100
default_value: 0
is_flag: false
flag: ""
abbr: brec
type: Curve
min: -100
max: 100
default_value: 0
is_flag: false
flag: ""
expressions.lpf
name: lowpass
abbr: lpf
type: Numerical
min: 0
max: 100
default_value: 0
is_flag: true
flag: H
abbr: lpf
type: Numerical
min: 0
max: 100
default_value: 0
is_flag: true
flag: H
expressions.mod
name: modulation
abbr: mod
type: Numerical
min: 0
max: 100
default_value: 0
is_flag: false
flag: ""
abbr: mod
type: Numerical
min: 0
max: 100
default_value: 0
is_flag: false
flag: ""
expressions.alt
name: alternate
abbr: alt
type: Numerical
min: 0
max: 16
default_value: 0
is_flag: false
flag: ""
abbr: alt
type: Numerical
min: 0
max: 16
default_value: 0
is_flag: false
flag: ""
expressions.shft
name: tone shift
abbr: shft
type: Numerical
min: -36
max: 36
default_value: 0
is_flag: false
flag: ""
abbr: shft
type: Numerical
min: -36
max: 36
default_value: 0
is_flag: false
flag: ""
expressions.shfc
name: tone shift (curve)
abbr: shfc
type: Curve
min: -1200
max: 1200
default_value: 0
is_flag: false
flag: ""
abbr: shfc
type: Curve
min: -1200
max: 1200
default_value: 0
is_flag: false
flag: ""
expressions.tenc
name: tension (curve)
abbr: tenc
type: Curve
min: -100
max: 100
default_value: 0
is_flag: false
flag: ""
abbr: tenc
type: Curve
min: -100
max: 100
default_value: 0
is_flag: false
flag: ""
expressions.voic
name: voicing (curve)
abbr: voic
type: Curve
min: 0
max: 100
default_value: 100
is_flag: false
flag: ""
abbr: voic
type: Curve
min: 0
max: 100
default_value: 100
is_flag: false
flag: ""
exp_selectors:
不明
exp_selectors.dyn
不明
exp_selectors.pitd
不明
exp_selectors.clr
不明
exp_selectors.eng
不明
exp_selectors.vel
不明
exp_primary
不明
exp_secondary
不明
key
time_signatures:
List<UTimeSignature>を使用
tempos:
テンポ
tempos.position
int
複数個所でテンポを変えられる/変えれるようにしたい?
初期値:0
複数個所でテンポを変えられる/変えれるようにしたい?
初期値:0
tempos.bpm
double
その名の通りbpm
アプリ側での表示は必ず小数点以下第二位まで表示されるがustx側では0の場合省略される
例)ustx:120.3→アプリ:120.30
その名の通りbpm
アプリ側での表示は必ず小数点以下第二位まで表示されるがustx側では0の場合省略される
例)ustx:120.3→アプリ:120.30
tracks
トラック配列。UTrack[]を使用
使用されている特殊型¹
UExpressionDescriptor
- string name
- string abbr(略称)
- UExpressionType type
- float min
- float max
- float defaultValue
- bool isFlag
- string flag もしくは string[] options
UExpressionType
enum
- Numerical = 0,
- Options = 1,
- Curve = 2,
UTimeSignature
- int barposition
不明
- int beatPerBar
拍子の分子の部分
- int beatUnit
拍子の分母の部分
UTrack
- string singer
フォルダ名。voiceフォルダを使っていたら中に入っているフォルダ名(例:uta)
- string phonemizer
- string renderer_settings
- string track_name
デフォルト値:New Track
- string track_color
デフォルト値:Blue
- bool mute
- bool solo
- double volume
- double pan
- string[] voice_color_names
URenderSettings
- string renderer
- string resampler
- string wavtool
UPart
- string name
デフォルト値:New Part
- string comment
- int track_no
何番目のシンガーの物か。
- int position
そのトラックのどの場所からのブロックか。四分音符分進むと480増える。
UVoicePart : UPart
- SortedSet<UNote> notes
- List<UCurve> curves
UNote
- int position
durationを参照
- int duration
音符の長さ。480=四分音符
- int tone
midiの数値と一緒
- string lyric
歌詞
- UPitch pitch
ピッチ
- UVibrto vibrato
ビブラート
- List<UExpression> phoneme_expressions
- List<UPhonemeOverride> phoneme_overrides
UCurve
脚注
https://github.com/stakira/OpenUtau/blob/d4b3cc2bd180d7fdcb7c459ec6aa99bde4273cf7/OpenUtau.Core/Ustx/UProject.cs
¹https://github.com/stakira/OpenUtau/blob/d4b3cc2bd180d7fdcb7c459ec6aa99bde4273cf7/OpenUtau.Core/Ustx/UExpression.cs
https://github.com/stakira/OpenUtau/blob/8597a9868c377b0d98fb464f913ad765c3f016ba/OpenUtau.Core/Ustx/UProject.cs#L27
https://github.com/stakira/OpenUtau/blob/8597a9868c377b0d98fb464f913ad765c3f016ba/OpenUtau.Core/Ustx/UTrack.cs#L69
https://github.com/stakira/OpenUtau/blob/8597a9868c377b0d98fb464f913ad765c3f016ba/OpenUtau.Core/Ustx/UTrack.cs#L10
¹https://github.com/stakira/OpenUtau/blob/d4b3cc2bd180d7fdcb7c459ec6aa99bde4273cf7/OpenUtau.Core/Ustx/UExpression.cs
https://github.com/stakira/OpenUtau/blob/8597a9868c377b0d98fb464f913ad765c3f016ba/OpenUtau.Core/Ustx/UProject.cs#L27
https://github.com/stakira/OpenUtau/blob/8597a9868c377b0d98fb464f913ad765c3f016ba/OpenUtau.Core/Ustx/UTrack.cs#L69
https://github.com/stakira/OpenUtau/blob/8597a9868c377b0d98fb464f913ad765c3f016ba/OpenUtau.Core/Ustx/UTrack.cs#L10