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が自動で調整するパラメーターのはずだから、ユーザーが勝手に触れられないんじゃないかな?





