vQuantizer製作記 その1、製作決定まで

ずいぶんブログでの紹介が遅くなってしまいましたが、VOCALOID3 Editor用の新しいUG Job Plugin「vQuantizer」を先日リリースしました!平たく言うと、ぼかりすで出力したデータなどDYNやPITがたっぷり詰まったソングのノートを、パラメータごとクオンタイズするこのプラグインボーカロイドストアさん遊楽団サイトで公開中ですので、興味ありましたらぜひお試しを・・!
D


実際の利用感や操作方法は、動画とプラグイン付属のりーどみーに任せるとして、このブログでは、作った背景や動機みたいなのを補足しようと思います。

そもそもこのプラグイン、10月まで影も形もありませんでした。ところが、9月中旬にぼかりすの発売日が10月19日とアナウンスされ、自分でも今までの情報を集めていくうち、「これは何か作りたいな」、と・・。
もともとWAVのような形で表されていた人の歌のデータが、ぼかりすによってVSQX(VOCALOID3のファイル形式)に変換される。これによって何がもたらされるのか?画像データで例えるなら恐らく、ラスター形式からベクター形式への変換のようなことが行えるわけで。最終的な答えは出せないながらも、「ボーカロイドの表現の選択肢が拡張される」という方向だけは確かに感じました。


さて、拡がった表現の幅は、実際の音楽で体現するとして・・UG Job Pluginでは何が出来るか?以前作った「Swing & Shuffle」や「Humanizer」と違い、手元にはまだきっかけや手がかりもない状態でした。なにせ、何をもたらすか分からないぼかりすそのものさえ手元になかったので(ベータ版は残念ながら入手できていませんでした)。ということでまずは、ぼかりすを操作してるとこを妄想しつつ(笑)、公開される情報も集めながら、なにか困りそうなところや改善できそうなところを探してみることにしました。・・かっこよく言っていますが、要はある意味「あら捜し」。ちょっと申し訳ないとは思いつつも、かゆいところに手を届かせるのもUG Job Pluginのひとつのあり方だと考えているので、ここは踏みとどまらずに妄想を爆発させます(笑)。


で。結論の前に、今回出てきたほかの案としては、「ビブラート区間を、PITから(従来の標準的な方法である)ノートのビブラート情報へ変換するプラグイン」がありました。ビブラートの長さや種類をあとから変更できれば、かなり自由度は上がるなーとは思ったのですが・・技術的ハードルが高めのため、現在はペンディング中です。まず、現状の仕様ではビブラートの詳細情報(ノートのビブラート部分をダブルクリックすると出てくる、ビブラートの深さのグラフ)をプラグイン側から操作できないため、変換の過程でビブラート情報を大きく失ってしまいます。また、ビブラートによってPITの揺らぎは置き換えられるかもしれませんが、関連すると思われるDYNの揺らぎはビブラートで表現できないため、変換後のビブラートを操作するとDYNと不一致を起こすおそれがあります(変換の際にDYNの揺らぎを抑えてしまうのもひとつの方策ですが、これはこれでいろいろ問題が)。ということで、今のところは開発を予定してません。(将来のプラグイン開発環境の変化によっては復活はありえますが。)
ビブラート部分の検出技術は、産総研さんの資料でぼかりすに含まれているので、いつか本家で実装されるんじゃないかな、とも期待してます。そもそもどう検出するかは、自分のほうではノーアイディアに近いので、その意味でもこのプラグイン、自分の中のハードルはかなり高い・・。


そんなネタをいくつか考え、最終的に選んだのが、今回のvQuantizerのコンセプトである、「パラメータごとノートをクオンタイズさせる」プラグイン。実は、製品版のぼかりすではこの機能があるんじゃないかと少しビクビクしていたのですが(笑)、スクリーンショットなど事前に集めていた情報からの想像通り、クオンタイズのような機能はありませんでした。
なぜそんな心配をしたかというと、この機能、ぼかりすのようにDYNやPITを詳細に埋め込む仕組みにはどうしても必要になると考えられたからです。



↑vQuantizer起動時のスクリーンショット。入力項目はグリッドの大きさと感度(適用する度合い)だけとシンプルです


そもそも、VOCALOID3 Editorにはクオンタイズという機能はありません(同名の機能は、ノート入力時の補助機能であって、入力済みのノートやパラメータを調節する機能ではありません)。Editor単体としてはノート入力はマウス経由に限られており、そのノート入力後にDYNなどパラメータを入力・・といった標準の流れにはクオンタイズはあまり必要がないため、現在は搭載されていないのだと思っています(実は実装上、DAW等に比べて非常に面倒な点もあることが分かったので、それも原因かも。次回詳述)。

しかし、人の音声をそのまま変換するという特性上、マウス入力とは違って最初から意図通りの場所で発音をしているわけではないし、リズムも揺らぎます。「味」として許容する場合は別として、どうしてもその揺らぎを修正した場合に、どうすればいいか。・・VOCALOID3 Editorでは対応が難しいわけですね。ノート自体はラクに伸び縮みできますが、そこにはパラメータはついてきません。ぼかりすで出力されたデータは、ノート情報・DYN・PITが完全に一体となって初めて完成されるものなので、ノートだけを動かせば、その完成形は容易に崩壊してしまいます。ではDYNとPITもノートに併せて動かせばいいじゃん、という話になりますが、ノートの伸び縮みは横方向(時間軸方向)の「移動」ではなく「拡大・縮小」です。これを実現する機能もないため、最終的には、手書きでパラメータのラインを書き直すという苦行が待っています・・。


これは、いかんですよ。こんなヘンなところで、大げさに言えば、クリエイティビティを阻害されるのは、もったいなさすぎる。ぼかりすの目的は「元の音声を再現する(まねる)」ことにあるのだから、リズムの揺れについては、本来歌唱の時点か、あるいは録音後の編集でカバーすべきだとも思います。でも、ボカロを扱う人が、(自分も含め)歌唱経験が豊富なわけではないし、録音した音声の編集も、誰もが得意としているわけでもない。もしくは、歌唱力がある方に歌ってもらうか・・。なんにせよ、リズムを修正したいという、割と素朴な要求に対して、実現するためには相応の苦労をしなければならず、これってぼかりす的にもあまりいい環境じゃなくない?と、考えにいたり。他の案とも検討した結果、ようやくこの「クオンタイズする」ためのプラグインを作ることに決めたのでした。このとき、すでに9月末。


ずいぶん長くなってしまいました・・。いったん区切って、実際の作りはじめから公開までの顛末は、またの機会にまとめます!