RVC でのモデル作成(学習)とリアルタイムボイスチェンジについて説明します。
RVC(Retrieval-based-Voice-Conversion)
RVC は機械学習ベースのボイスチェンジ技術で、少量のデータで高品質なボイスチェンジが可能です。
音声データの準備
なりたい声の音声データを準備します。
今回は 春日部つむぎ の声を使ってモデル作成をします。
文章はなんでもよくて、30分以上の音声データになるようにします。
音声書き出し
で 個別の音声ファイルにします。
分かりやすいように D:\rvc\kasukabe_tsumugi
フォルダーに保存しました。
RVCの導入
学習用音声データが準備できたら、RVC で学習させます。
GitHub から最新バージョンをダウンロードします。 とりあえず D:\rvc
フォルダーに保存しました。
私のPCは Nvidia GPU なので上のをダウンロードしました。 AMD や Intel GPU の場合は下のを使います。ちょっと前までは1つZIPで分かりやすかったんですが、変わったんですかね。
RVC0813Nvidia.7z
を展開します。7z形式なので展開するには 7-Zip を使いました。ポータブル版なのでインストール要らず。
展開したフォルダー内にある D:\rvc\RVC0813Nvidia\go-web.bat
を実行すると、ブラウザーで RVC WebUI が開きます。
学習
設定するのは、ステップ2a のトレーニング用フォルダーパスだけ。前の工程で作った学習用音声データフォルダーを指定します。
ステップ3 のワンクリックトレーニングを押すとモデルの学習が始まります。
コマンドプロンプトに saving final ckpt:Success.
が表示されるか、RVC WebUI の出力情報に 全工程が完了!
が表示されれば学習は完了です。30分ぐらいですね。
リアルタイムボイスチェンジ
今作ったモデルを使ってリアルタイムボイスチェンジをします。
VB-CABLE
ボイスチェンジした音声をマイク入力に流すため、VB-CABLE を使います。
公式サイト から最新版の VBCABLE_Driver
をダウンロードして展開します。
展開したら VBCABLE_Setup_x64.exe
を実行してドライバーをインストールします。
インストールしたらサウンド設定に CABLE Input
と CABLE Output
が追加されます。
RVC GUI
D:\rcv\RVC0813Nvidia\go-realtime-gui.bat
を実行します。
モデルとオーディオデバイスを設定します。
モデル
- pthファイル:
D:\rcv\RVC0813Nvidia\weights\kasukabe-tsumugi.pth
- indexファイル:
D:\rcv\RVC0813Nvidia\logs\kasukabe-tsumugi\added_IVF1763_Flat_nprobe_1_kasukabe-tsumugi_v2.index
オーディオデバイス
入力デバイス:
Line (Steinberg UR12 ) (MME)
出力デバイス:
CABLE Input (VB-Audio Virtual C (MME)
どちらも
MME
が入ってるのを選択する。
音声変換
音声変換を開始
でマイクで拾った音声がボイスチェンジされて出てきます。遅延は1秒ぐらいあります。
参考
https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI
https://github.com/w-okada/voice-changer
春日部つむぎ(VOICEVOX)
https://tsumugi-official.studio.site
終わりに
他にも MMVC という技術があるみたいなので、近いうちにこっちも試してみたいと思います。