バ美肉Vtuberのみなさん!裏声を駆使してのボイチェンに日々苦労していませんか?(私は結構苦労しています…(;・□・))
日頃AIの進化を追っていく中で最近、自分の声データを数パターン用意してAIに学習させ、オリジナルの声モデルデータを作れる【RVC】というツールと、モデルデータを使って、地声でもいつものバ美肉Vtuberの声に変換できるボイスチェンジャー【VC Client】の存在を知って、実際に私も導入をしてみたので、最終的に学習したデータを【VC Client】を経由してOBSマイクに出力できるまで、その体験レポートをお届けしたいと思います!
その他、ほかのテキスト読み上げアプリを使って出した音声を、作成した自分の声モデルに反映して変換!とかもできると思うので、もっと気軽にVtuberの声でコンテンツを作りたい!と考えているバ美肉Vtuberさんのお悩み解決にもなるかもしれません!
※【RVC】および【VC Client】については、この記事としては私と同じバ美肉Vtuberさんが【裏声を駆使しなくても便利に使えるツール】としてのみ、おすすめしたいと思います(*・v・)
なお、本記事の実践にあたっては以下のEヤツのブログ様の記事を参考にさせていただきました!わかりやすい記事をありがとうございます!
【RVC】とは
Retrieval-based-Voice-Conversionの略みたいです!というのはさておき、wavファイル(など?)で学習させたい音声データを用意さえすれば、AIが音声データを学習して、【VC Client】というリアルタイムボイスチェンジャーなどで読み込んで使うモデルデータを作成できる、音声変換ソフトです(私個人の解釈)
ローカル環境で構築可能な画像生成AIの「Stable Diffusion Web UI」と同じく、プログラム言語のPythonやGitなど?いろいろなものが1つののパッケージに収められていて、
【.bat】というファイルをダブルクリックで起動可能。WEBブラウザからGUIで操作可能です!
※ただし、ローカル環境で学習を実施するには、Stable Diffusionと同じく、グラフィックボードのVRAMがそれなりに必要になります。
私のPCは比較的つよつよPCかな?と思っているのですが、VRAM24GBのRTX-3090を搭載しているデスクトップPCで実施しました。現在RTX-3090内蔵のゲーミングPCは完売の傾向があるようですが、VRAM24GBのグラボだと最近は下記のような、RTX-4090搭載のゲーミングPCなどあるようです!
【VC Client】とは
あまり詳しいことは調べてもわからなかったのですが、日本の方が制作した、【VRC】で作成した学習データ(.pth)をモデルデータとして読み込んで利用できる、(ほぼ)リアルタイムボイスチェンジャーのようです!
※設定やPCスペックにもよると思うのですが、(ほぼ)というのは、実際使ってみて多少のレイテンシーは感じられるため…
↑VC Clientのインターフェイス。RVCで学習したモデルを読み込めば、あとは地声でいつものバ美肉Vtuberの声が出せます!※設定で声の高さだけは上げる必要あり
VC Clientから学習データを使ってOBSマイクへ送るまで
今回の記事で紹介すべき2つのツール【RVC】と【VC Client】について前提知識をご案内したので、早速、今回のご案内のゴールである、学習したデータを使ったリアルタイムボイスチェンジの音声をOBSに送るところまで、以下体験レポートをお届けします!
①普段のエルティアナ(自分のVtuberボイス)学習用音声を録る
まずは、AIに学習してもらうための、私の声のサンプルがないと始まらない!ので、AI学習用音声の収録から始めました!
私は普段【バ美声】というボイスチェンジャーを使っているので、そちらをいつも通り起動して、音声のアウトプットに、PCの内部で音の出力をアプリ間で送受信できる『仮想オーディオ』の【VB-CABLE Virtual Audio Device】を設定しておきます。
※もし、この記事を参考に実際に作業をされる場合、【VB-CABLE Virtual Audio Device】をまだインストールしていない場合は、VC ClientとOBSの設定でも利用しますので、今のうちにダウンロードとインストールをお願いします!そんなに難しくなくインストールできると思います!
■VB-CABLE Virtual Audio Device
https://vb-audio.com/Cable/
録音には、フリーソフトで音声録音ができる『Audacity』を利用しました。
■Audacity
https://www.audacityteam.org/
収録する音声は、以下の『ずんだもん』の研究者用データ(?)を真似して100個のwavファイルを収録しました!
■研究者向けマルチモーダルデータベース
https://zunko.jp/multimodal_dev/login.php→上記サイトにtwitterでログインし、「ITAコーパスマルチモーダルデータベース→ずんだもんボイスデータ」ボタンを押し、ずんだもんの音声をダウンロード
→「zundamon_voice_data\emotion\normal」に通常のずんだもんのボイスデータが100個に入っています
一個一個を聴いて確認しながらひたすら録音と保存を繰り返します!バ美声ボイチェンは水が命!ということで美容成分接種も期待して以下など飲みつつ…全部で1時間30分くらいかかりましたかね…でも、声優気分で面白かった!
ちなみに私が使っているマイクはSHUREのいわるゆゴッパーといわれているマイク、オーディオインターフェイスはSteinberg UR22mk2です!
②【RVC】のインストールと音声データ学習
RVCのダウンロード
以下のサイトにアクセスして『RVC-beta.7z』をダウンロードします。
※Hugging Faceアカウントが必要
ダウンロードしたファイルを解凍(解凍後のフォルダは【RVC-beta】)し、Cドライブ直下に格納します。
RVCの起動
Cドライブ直下に格納した【RVC-beta】フォルダ内にある『go-web.bat』をダブルクリックします。
自分の声を学習させる
「训练」タブをクリック
下図のように各種設定をする
設定のうち、⑤【总训练轮数 total_epoch】総学習量と⑥【batch_size】は、高い数値に設定すれば学習の制度が上がるかも(??)ですが、VRAMに依存するので、取りあえず最初はデフォルトでやってみて、徐々に上げる形で何個かモデルを作成すると良いかもしれません!
オレンジボタン「一鍵训练」を押す
これで学習が始まります!!
※「Pythonにこれらのネットワーク上での通信を許可する」ポップアップが出る場合がありますが、キャンセルして問題なし(私もキャンセルしました)
学習モデル出力の確認
正常に学習が完了すると、学習モデルが「RVC-beta\weights」フォルダ直下に出力されています。
※以下、私は3回作成したので3つありますが、1回につき1個出力されます。
上記『xxx.pth』をVC Clientで読み込ませて使用します!
③【VC Client】のインストール・起動と設定
自分の声をRVCで学習できたので、次にRVC出力モデル対応のリアルタイムボイスチェンジャーのVC Clientをインストールして設定していきます。本体のダウンロードの他、追加でダウンロードして格納する必要のあるデータがあります!
VC CLient本体のダウンロード
以下のURLで下図のファイルをダウンロードする(Windowsの場合)
ダウンロードしたデータを解凍し、任意の場所に格納します。解凍後のファイルにある『MMVCServerSIO』フォルダがメインのフォルダになります。
hubert_base.ptをダウンロード/指定フォルダに格納
こちら詳しいことはわからないのですが、「hubert_base.pt」というファイルが別途必要とのことなので、以下URLからダウンロードします。
ダウンロードした「hubert_base.pt」を「MMVCServerSIO」フォルダ直下に入れます。
VC CLient起動
これでようやくVC CLientを起動します。「MMVCServerSIO」フォルダ直下の「start_http_RVC.bat」を開きます。
「mmvcserversio.exeにこれらのネットワーク上での通信を許可する」:というポップアップが出るので、アクセスを許可。すると、ツールが立ち上がります!
※初回起動時下記の画面の前に【RVC】の他、いくつかなんのシステムを使うかのボタンが並んだ画面がでると思いますが、そこで『RVC』を選んでいただければ、下記の画面に遷移します!
VC CLient各種設定→変換スタート
下図のようにVC Clientで学習したモデルを設定したり、各種設定を行って、ボイスチェンジを開始します。
VC CLient単体で音が出るか確認/Tuningの値を調整
上記⑤のStartを押せば、音声変換が開始されるので、何かしゃべって、音が返ってくるか確認。男性の声のままでは不自然な声のはずなので、Speak SettingのTuningの数値を上げて、声を調整する
音声アウトプットを『VB-CABLE』に変更する
音声の確認と調整ができたら、Device SettingのAudioOutputをVB-CABLEのものに変更する
これでVC Clientの設定は完了です!
④OBSの設定
いよいよ最後にOBSを起動して、マイクの設定を行えば、OBSへ音声を渡すことができます!
①設定→音声でマイク音声にVB-CABLEを設定
②しゃべって、マイクのレベルが反応したら完了です!
実際の使用例
実際に使ってみた動画をTwitterにアップしていますので、よろしければご覧ください(*・v・)。取り急ぎちょっと気を抜くと声がケロっとなってしまったり、早くしゃべりすぎてしまうと音がつぶれてしまう場合も…といった点にちょっと気を付ける必要がありますが、基本ゆっくり、地声だけど抑揚に気を付けて、ちょっと元気めに話すと、バ美声を使っているときと同じ感じかなぁと思える声でしゃべることができました!
…ということで、今日RVCで学習した成果として、おやすみVtuber的な動画を早速成果物を使って作ってみました(*・v・)。
これはこれでしゃべり方に工夫がいる感じですが、地声でこの声が出せるのはやっぱりうれしい(*・ヮ・)
配信とか動画制作とか、今後しっかり活用していきたいと思います(*・ω・) pic.twitter.com/ydPIBgRdZB
— エルティアナ/バ美肉Vtuber•AIとWEB3.0の錬金術士・ゲーム音楽バーチャルピアニスト? (@atelier_ert) April 13, 2023
まとめ
いかがでしたか?ちょっと大変ですが、たぶんこの通りやれば、エンジニアではない人(私も)特にプログラムをいじるような苦労はなく学習とモデルを使ってのリアルタイムボイチェンジが可能かな!と思いますので、ぜひ試してみてください!
・RVCの登場で、AIに音声データを学習させて、声モデルを作ることが簡単になりました!
・バ美肉Vtuberの方は特に、裏声を使わなくても地声でいつもの声に近い会話が簡単にできる可能性があります!
・Youtube動画などのコンテンツを作るときに、Text To Speechでテキストファイルを用意するだけで、自分の代わりに合成音声がしゃべってくれるかも!?