FLStudioでVOCALOID2を使う(改訂1)
FLStudioでVOCALOID2を使う方法について書いてみようと思います。
こんなこと書かなくても判りそうだけど、自分はReWire接続のあたりで1時間ほど悩んだクチなんで、もしかしたら参考になるかなと考えました。
なお、本記事の内容はFL Studio 7および FL Studio 8 RC1で実験済みです。
改訂履歴:
2007/11/22 新規
2008/02/16 改訂1(テンポを一致させる必要性、マルチアウトの方法を明記)
改訂箇所は赤色となっています。
■クリプトン社の見解
公式サイトの製品サポートページに、次のような記述があります。
FL STUDIOシリーズをご使用のユーザー様へ
FL STUDIOの仕様によりVOCALOID2 VSTiは動作致しません。VOCALOID2 VSTiの歌詞/音符情報はNRPNデータにて送信される為、これを正しく送信できないホスト・アプリケーションではご使用頂く事ができません。また、FL STUDIOではVOCALOID2はReWireデバイスとして正しく動作いたしません。FL STUDIOでVOCALOID2をご使用になる場合は、VOCALOID2 Realtime VSTiとして起動/ご使用下さい。
すこし判りやすく説明すると
・VOCALOID2 VSTi
VSTiホストアプリ(FL/Cubaseなど)からMIDIデータで歌詞等の情報を
受け取って歌わせる仕組み。
=>FLStudioでは、MIDIデータのNRPNなどを正しく取り扱えないので
無理よってこと。
・ReWireデバイス
DAWソフトとVOCALOID2をReWire規格というもので接続し、DAWソフトの
演奏とVOCALOID2の歌声を同期させる仕組み。
=>正しく動作しませんと言っている。
・VOCALOID2 Realtime VSTi
VSTiホストアプリ(FL/Cubaseなど)からMIDIデータで音階の情報を受け取って、
あらかじめRealtime VSTiに設定しておいた歌詞を歌わせる仕組み。
=>これなら動くよと言っている。
上記文面には書いてないけれども、VOCALOID2からWAVEファイルを出力し、WAVEファイルをDAWソフトのトラックにインポートするという方法もあります。
結局、選択肢はVOCALOID2 Realtime VSTiかWAVEファイル経由の2つしかないんだけど、Realtime VSTiってあまり実用的じゃないのですね。元々リアルタイム演奏向けに作られたもので、メロディと歌詞を同期させる仕組みが
で、色々試したのですが、FLStudioとVOCALOID2とのReWire接続は一応可能でした。
ただし、次の条件を満たす楽曲に限って利用可能です。
(1) 曲のテンポが最初から最後まで一定であること。
この後、ReWire接続に関する説明をしますが、クリプトン社にFLStudioとのReWire接続に関する問い合わせは行わないでください。あくまでもユーザ側の責任で利用する、という形でお願いします。
■ReWireでVOCALOID2を利用する手順
(1) FLStudioでReWireチャンネルを追加する。
[Channels]-[Add one]-[ReWired]メニューを選択する。
(2) ReWireクライアントとしてVOCALOID2を選択する。
ReWiredの[Channel settings]画面で、CLIENTに[Vocaloid2]を選択する。

(3) VOCALOID2を起動する。
作成済みのVOCALOIDシーケンスファイルがあれば、ここで読み込む。
(3-1) FL StudioとVOCALOID2のテンポを一致させる。
FL Studioのプロジェクトのテンポと全く同じ値を、VOCALOID2の小節先頭に設定します。

テンポを完全に一致させないと、次のように歌声にノイズが入る結果となります。
テンポ一致時のサンプル
[ f7rewire_sametempo.mp3 ]
テンポ不一致時のサンプル
[ f7rewire_difftempo.mp3 ]
(4) 出力先をReWireに変更する。
VOCALOID2の[設定]-[プリファレンス]メニューを選択する。
[プリファレンス]画面が表示されたら、[オーディオの設定]タブを開き、[ReWire - マスター]を選択する。
最後に[OK]ボタンを押して画面を閉じる。

(5) VOCALOID2でノートを編集し、最後に[ReWire]ツールボタンを押す。

次のようなウィンドウが一瞬表示される。
VOCALOID2からFLStudioにデータを送信しているよという合図。

(6) VOCALOID2で[再生]ツールボタンを押す ★重要

私がReWire接続に挑戦したとき引っかかったのはここでした(笑)
(7) FLStudioでソング再生する。

これで、FLStudioの曲に合わせて、初音ミクさんが歌ってくれるはずです。
ミクさんの歌声はFLStudioに取り込まれて再生されますので、先ほどのReWiredの画面で出力先インサートを指定してやれば、曲とボーカルの音量バランスも調整できます。
(8) さらにボーカルを修正するには
FLStudioの再生をストップして、VOCALOID2の画面に戻ります。
ボーカルを修正したら、(5)の手順([ReWire]ツールボタンを押す)に戻ってください。
(9) VOCALOID2のパート毎に別のミキサートラックへマルチ出力するには
メインボーカルとコーラスパートというように、複数のパートで構成された歌声をマルチ出力して別のミキサートラックに割り当てることができます。
ReWiredの設定画面で[Multiple Outputs]をチェックする。
[FX]にミキサートラックの番号を設定する。

VOCALOID2の[設定]-[プリファレンス]メニューを選択する。
[プリファレンス]画面が表示されたら、[オーディオの設定]タブを開き、[ReWire - マスター]を選択する。

以上の設定を行うことにより、[FX]に指定したトラック番号+1に1つめの歌声パートが、トラック番号+2に2つめの歌声パートが出力されます。つまり、[FX]には歌声を取り込むトラック - 1 の値を設定しておけば良いのです。
■ボーカルが完成したら
ボーカルが完成したら、WAVEファイルを作成してFLStudioに取り込んでしまいましょう。
(1) VOCALOID2でWAVEファイルを出力する。
VOCALOID2で[ファイル]-[書き出し]-[Wave]メニューを選択し、WAVEファイルを出力します。
間奏などの空白が多い場合には、ボーカルのある小節をスタートマーカ・エンドマーカで囲み、
複数のWAVEファイルとして出力するとWAVEファイルの容量が減り、経済的です。
(2) FLStudioでWAVEファイルを取り込む。
先ほど出力したWAVEファイルをプレイリストのクリップトラックにドロップします。

こうしてWAVEファイルとして取り込んでしまえば、VOCALOID2を同時に立ち上げなくてもすむので、CPU負荷が軽くなり、作業しやすくなります。
Rewire接続の方法。最初にこちらに書かれていた方法を参考にさせて頂きました。
ありがとうございました。
後、一つだけ質問なんですが・・ (上でも少し触れられていますが)
Realtime-VSTi って接続された事ありますか?
確かに実用向けじゃないとは思うのですが、歌メロ打ち込み中に仮歌として
「とりあえず発声してくれれば良い」 時に使いたかったのですが・・・
FL上で直接使用しようとすると、何故か歌ってくれません・・orz
鍵盤を弾くとちゃんと発声するんですけどね・・・・。 Start に反応してくれないみたいです。
という事で、こういう場合、
現在こちらでは (H.Seib氏の)VstHost + MIDI-Yoke を経由して繋いでいて、
これで手弾きだろうが打ち込みだろうが、なんでも歌ってくれるようにはなったんですが・・・
なんかすっきりしないのです。 もしFL単体で Realtimeを(正常に)動かす方法を
ご存知でしたら、お教え願えると幸いに思います。
それでは。
Realtime VSTに関して記事を書こうと思い調査したのですが、FLでは手弾きする以外使えそうにないという結論になり、記事はお蔵入りしてしまいました。どうもRealtime VST以外の画面にフォーカスを移動したりプロジェクトの再生をしたりすると、Realtime VST内に生成された発音データがリセットされてしまい、音が出なくなるようなんです。
無理やりな方法としては、曲の先頭に10小節ほどの空の小節を用意しておき、再生開始後Realtime VSTのLYRICS EDIT画面をアクティブにして[aA]ボタンを押すという方法があります。が、とても実用的とは言えませんね。
記事用に作成したRealtime VSTの実験用プロジェクトをアップしておきます。
http://homepage2.nifty.com/roeir/souko/mikurealtime-demo-0.1.zip
歌詞の再生ポイントを制御するためのコントロールチェンジの定義も入っていますので、よろしかったら試してみてください。
それにしても通りすがりさんが試されたVSTHost+MIDIYokeという手は名案ですね。全く思いつきませんでした。出音をFLに取り込む方法があれば十分実用になりそうですが、その点どうなんでしょうか。
なるほど・・・こちらでも状態確認しました。おっしゃる通りです。良く見たらリセットされてますね・・・orz
やはり、どうしてもRealtimeを使いたい場合には FLの外に置くしか手がないようですが・・
そうなるとやはり仰られるように
> 出音をFLに取り込む方法があれば十分実用になりそうですが、その点どうなんでしょうか。
↑この点が問題になりますね。
普段歌メロ入力する時ぐらいしか Realtime は使ってなかったので気にしてませんでした。
確かに、単に VstHost + MIDIYoke だと「ただそっちから鳴っているだけ」 になってますね。
という事で、興味沸いたのでちょっと探してみました。
結論から言うと「出来ます」です。動作もたった今確認しました。
以下に簡単にまとめますね。
#他にもどなたかご覧になるかもしれないので、簡単な説明とリンクも貼っておきます。
外部として必要な物)
1. VSTHost .. VSTi/VSTのホスト ( http://www.hermannseib.com/english/ )
2. MIDIYoke .. 仮想MIDIケーブル ( http://www.midiox.com/myoke.htm )
3. Wormhole2 .. 特殊なVSTプラグイン ( http://code.google.com/p/wormhole2/downloads/list )
※これが重要。変り種のVSTプラグインです。なんと複数のVSTHostのAudio In/Out同士を結線します(笑)
しかも Virtual Audio Cable と違い、オープンソースのフリーウェアです。
手順)
1. 全部インストール。VSTHost と FLを起動。
2. VSTHost側: Vocaloid2_Realtime.dll と、Wormhole2.dll をセット
3. VSTHost側: MIDI-In を MIDIYoke にセット。(適当な Port を決定)
4. VSTHost側: Wormhole2 から ChainAfter → Vocaloid2に設定。(逆にすると音出ません)
5. VSTHost側: Vocaloid2 のAssign Output を "No Channel" に設定。(これをやらないと元音が漏れます)
6. FL側: 3で設定した MIDIYoke と同じ Portの MIDI-Out を追加。(このピアノロールを使う)
7. FL側: Mixer の適当なチャンネルに Wormhole を設定。
8. (重要)VSTHost側: Wormhole の [Direct] で [Start] をクリックしてから、上の空欄に適当な文字を入力。
... この文字がIDになります。英数ならなんでもOK
9. FL側: FL側Wormholeの空欄に、8で記入したIDを入力。(8で[Start]が設定されていれば勝手に[End]になります)
これで結線終了です。
MIDIの流れ: FL → Yoke → VstHost → ミク
Audioの流れ: ミク → Wormhole → FL側Wormhole → FL側ミキサー
となります。エフェクターも当然かけ放題でした。長々とすみません・・・。以上です。
実際試してみたところ、数点ひっかかるところがあったので補足します。
(1) 8.の手順で、Wormholeの[play through]をチェックしないと音がでないようでした。
(2) 私の環境ではWormhole経由の歌声が原型を留めないほどノイジーになってしまいます。(Realtime VSTがVSTHost経由で出力する歌声は正常) ソフト環境の問題でしょうか?当方FL7RC6、VSTHost1.44、Wormhole2.06を使っています。
私のほうでも試してみましたが、どうもwormhole2のend側が
コネクトしないようです。(not connnected)とでてしまいますね。
環境はfilenotfoundさんと同じです(FL8ですが、そのほかは同じ)




