AI技術の進化によって、絵や文章だけではなく音声変換もAIでリアルタイムに行うことが可能になりました。ボイスチェンジャーAIにはRVC(Retrieval-based Voice Changer)やMMVCなどさまざまな種類が存在しますが、「VC Client」は複数ボイスチェンジャーAI向けモデルに対応しており、簡単にリアルタイム音声変換ができるとのことなので実際に試してみました。

GitHub - w-okada/voice-changer

https://github.com/w-okada/voice-changer

GitHubのレポジトリにアクセスします。



「事前ビルド済みのBinaryでの利用」の欄にあるテーブルで、「win」にある「通常」をクリック。



ダウンロードリンクが表示されるので、「このままダウンロード」をクリックします。なお、VC ClientはZIP形式で配布されており、ファイルサイズは2.7GBあるので注意が必要です。



ダウンロードしたZIPファイルをExplzhなどの解凍ソフトやWindowsの標準機能を使って解凍します。中身はこんな感じ。



次に、動作に必要なモデルをダウンロードするため、以下のリポジトリから「hubert_base.pt」をダウンロードします。

hubert_base.pt · lj1995/VoiceConversionWebUI at main

https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/hubert_base.pt

「Download」をクリックすると、hubert_base.ptをダウンロードできます。



ダウンロードの保存先はVC Clientのフォルダで、start_http.batと同ディレクトリに置きます。このstart_http.batをダブルクリックすると、VC Clientが起動します。



起動するとこんな感じ。VC Clientは複数のボイスチェンジャーAIに対応しています。今回は「RVC」を選択。



以下がRVC向けのクライアント画面。



ボイスチェンジャーとして使うためには、RVC向けのモデルが必要になります。今回はちはや神社さんが無償で配布しているRVC向けの学習済みボイスモデルデータを使ってみます。

【無料】RVC向け学習済みボイスモデルデータ「愛想良い系少女の声 5種風味パック」 - ちはや神社 - BOOTH

https://chihaya369.booth.pm/items/4701666

「RVCモデル_愛想良....ZIP(243MB)」をクリックして、モデルデータをダウンロードします。なお、ダウンロードにはPixivアカウントが必要です。



ダウンロードしたZIPファイルを解凍します。中身はこんな感じ。



VC Clientで、「PyTorch(.pth)」の「select」をクリックしてモデルデータを選択し、「upload」をクリックします。



つづいて、ONNXファイルを生成します。このONNXファイルを生成することで異なるフレームワークでもモデルを共有できるほか、ラグが多少軽減できるとのこと。「export onnx」をクリック。



onnxファイルの書き出しには1分ほどかかります。



「Onnx(onnx)」の「select」をクリックして、書き出したonnxファイルを選択し、「upload」をクリック。



「Device Setting」の「AudioInput」で入力音声デバイスを、「AudioOutput」で出力音声デバイスを選択します。「Server Control」の「start」をクリックすると、ボイスチェンジャー機能がオンになります。



実際に声をリアルタイムで変換してみたところが以下。ラグはだいたい600〜700msとなっています。モデルと声の相性や録音状況によって質は変わり、今回は話している内容がお世辞にもクリアに聞こえないクオリティとなりました。それでもソフトウェアボイスチェンジャーとしては軽く動作するイメージ。

AIボイスチェンジャークライアント「VC Client」で音声変換しながら「吾輩は猫である」を読んでみた - YouTube

また、start_http.batではなく「start_https.bat」で起動すると、リモートPCでも動作可能となります。例えば「メインのPCでゲーム実況を行い、サブのPCでVC Clientを起動してボイスチェンジャーとして利用する」というように、外部PCにVC Clientの動作を任せることで、負担を減らすことも可能になります。

なお、モデルデータによってはかなり精度が高く変換できることが可能になるようで、例えばRVCを使ってずんだもんの声に変換した結果を以下のムービーから見ることができます。



他にも、VOICEVOXの小夜の声に変換したムービーを以下で見ることができます。



RVCを使って自分なりのモデルデータを作ることも可能なので、自分好みのボイスチェンジャーを作ることも可能になります。RVCを使った音声モデルデータの作成については、以下に詳しく書かれています。

RVCのWebUIを1から作り直した話|だだっこぱんだ|pixivFANBOX

https://ddpn08.fanbox.cc/posts/5709928