LUA言語を覚えるのも兼ねてJobプラグインを作ってみているけれど(コレとか)、「VOCALOID Editorで用意されているAPIって、もっとあるのでは? バージョンアップしてるのだし」と思ったので調べてみます。
APIを引き抜く
V3時代のリファレンスマニュアルによれば、LUAのグローバル変数【_G】にAPI名が一覧上に格納されているらしい。ここからAPI名っぽいものを探して引き抜くことにします。“探す”といっても、functionに該当するモノをfor文でクルクル回すだけなんですけどね。
for文を追加したJobプラグインを作成してVOCALOID Editorで実行すれば抜き出し完了。単純に抜き出しただけだと何故かLUA言語の関数も含まれていたので、VOCALOID APIっぽいもの(頭文字が「VS」)に絞ると、下記55個がヒット。
No. | API名 |
---|---|
1 | VSDlgAddField |
2 | VSDlgDoModal |
3 | VSDlgGetBoolValue |
4 | VSDlgGetFloatValue |
5 | VSDlgGetIntValue |
6 | VSDlgGetStringValue |
7 | VSDlgSetDialogTitle |
8 | VSGetAudioDeviceName |
9 | VSGetControlAt |
10 | VSGetDefaultControlValue |
11 | VSGetMasterTune |
12 | VSGetMusicalPart |
13 | VSGetMusicalPartSinger |
14 | VSGetNextControl |
15 | VSGetNextMonoWAVPart |
16 | VSGetNextNote |
17 | VSGetNextNoteEx |
18 | VSGetNextNoteExpression |
19 | VSGetNextStereoWAVPart |
20 | VSGetNextTempo |
21 | VSGetNextTimeSig |
22 | VSGetNoteExpressionAt |
23 | VSGetPitchSnapMode |
24 | VSGetPreMeasure |
25 | VSGetPreMeasureInTick |
26 | VSGetResolution |
27 | VSGetSequenceName |
28 | VSGetSequencePath |
29 | VSGetStereoWAVPart |
30 | VSGetTempoAt |
31 | VSGetTimeSigAt |
32 | VSInsertControl |
33 | VSInsertNote |
34 | VSInsertNoteEx |
35 | VSInsertNoteExpression |
36 | VSMessageBox |
37 | VSRemoveControl |
38 | VSRemoveNote |
39 | VSRemoveNoteExpression |
40 | VSSeekToBeginControl |
41 | VSSeekToBeginMonoWAVPart |
42 | VSSeekToBeginNote |
43 | VSSeekToBeginNoteExpression |
44 | VSSeekToBeginStereoWAVPart |
45 | VSSeekToBeginTempo |
46 | VSSeekToBeginTimeSig |
47 | VSSetMasterTune |
48 | VSSetPitchSnapMode |
49 | VSUpdateControl |
50 | VSUpdateControlAt |
51 | VSUpdateMusicalPart |
52 | VSUpdateNote |
53 | VSUpdateNoteEx |
54 | VSUpdateNoteExpression |
55 | VSUpdateNoteExpressionAt |
新種?
抜き出したAPI55個の中で、気になったのは次の9個。「PitchSnapMode」はV4で追加された機能のはず。「NoteExpression」は何だろう? エクスプレッションピッチのことかな?
No. | API名 |
---|---|
1 | VSGetMasterTune |
2 | VSGetNextNoteExpression |
3 | VSGetNextStereoWAVPart |
4 | VSGetNoteExpressionAt |
5 | VSGetPitchSnapMode |
6 | VSSetMasterTune |
7 | VSSetPitchSnapMode |
8 | VSUpdateNoteExpression |
9 | VSUpdateNoteExpressionAt |
元V3ユーザーとして気になったのは「MasterTune」と「NextStereoWAVPart」の2つ。
“MasterTune”ってことは、「全体の音程を調整できるってこと?」なのかと思って、VOCALOID Editorを見てみるとプリファレンスの[その他]に【マスターチューン】が追加されてました。いつの間にかできるようになってたんですね。
V3時代にはステレオWAVEファイルは1つしか取り込めなかったのですが、V4では複数取り込めるようになってました。1つのVSQXファイルで複数楽曲分のボーカルを作成できるようになったわけですね。そんな作り方はあまりしないでしょうけれど。。。利用シーンとしては、Aメロだけのオケ/Bメロだけのオケ/サビだけのオケをそれぞれ個別に取り込むような使い方ですかね? 1曲分フル尺でWAVEファイルを用意しなくてもよくなった、と。「VSGetNextStereoWAVPart」は次々にステレオWAVEファイルを参照するイメージでしょう、たぶん。
おまけ
API名を抜き出せたので、あとは使用方法を見つけ出さないといけないですね。「NoteExpression」については何を指してるのかも不明ですが。エクスプレッションピッチはVOCALOID Editorが自動で調整するパラメーターのはずだから、ユーザーが勝手に触れられないんじゃないかな?