2016年8月24日水曜日

VOCALOID Jobプラグインの作り方を覚える

VOCALOID Editorで使用できる『Jobプラグイン』。「Jobプラグインは『Lua言語』というプログラム言語で作ることができる」とのことなので、夏季休暇の工作(?)のつもりでJobプラグインを作ってみることにしました。

Jobプラグインの中に必ず記述しなければならないモノは下記の2つ。この2つさえあれば、あとは自由に弄れる。Lua言語に用意されている関数、VOCALOID Editor側が提供している関数を駆使してノートやパラメーターを操作できる。

  • function main(processParam, envParam)
    Jobプラグインの心臓部。ここでノートやパラメータに効果を付与する。
  • function manifest()
    Jobプラグインの定義部。プラグインの名前やバージョンを記述しておく。

プログラム言語を勉強するとき、最初に作るのはやっぱりコレだと思うのです! Lua言語って文字列の扱い方が独特ですね! 面白い。

せっかくなので、作ったJobプラグインを置いておきます(DL:BowlRoll)。Jobプラグインのファイル(.lua)はただのテキストだから、テキストエディター(メモ帳とか)で中身を見ることができます。ムダにコメントを付けてみたけど、参考になるかな?

おまけ

今更になって気付いたこと。パートを選択するだけでなく、Musical Editorでノートをピアノロール上に表示していないとJobプラグインを実行できないんですね。この制約のせいで“Jobプラグインのできること”が減っているように思えます。たとえば、メインのトラックを複製してハモリを自動生成したり、トラック複製後にノートの発声タイミングをズラして輪唱を自動生成したり、みたいなことができない。そういうのが作りたい(ほしい)んだけどなぁ。