TBS NEWS DIG Powered by JNN がYouTubeでボイスチェンジャーについて解説していたので、気になって調べてみました。
通常のPCでもここまでリアルタイムに音声変換が出来るとは・・・。まさに生成AI全盛期といった感じです。
オレオレ詐欺で悪用されそうなので、騙されないための注意喚起という意味と、技術的な好奇心から今回はボイスチェンジャーRVCについて取り上げたいと思います。
RVCとは
RVCとは、Retrieval-based-Voice-Conversion の略称で、深層学習(ディープラーニング)を用いて、話者の声を別の声に変換する技術です。テキスト読み上げシステムである VITS(Variational Inference based Text-to-Speech synthesis)をベースに開発されており、次の特徴を持っています。
- トップ1の検索結果からトレーニングセットの特徴をソース特徴として代用することで、トーン漏れを最小限に抑えます。
- 低性能のグラフィックスカード(4GB以上のVRAM)でも簡単かつ迅速にトレーニングすることができます。
- 少量のデータでも十分な結果を得ることができます(10分以上の低ノイズ音声を推奨)。
- モデルの融合をサポートしており、音色を変更することができます。
- 使いやすいWebユーザーインターフェース。
- UVR5モデルを使用して、ボーカルと楽器を高速で分離します。
1の内容について補足すると、仮に十分な学習に必要な特徴量が100だとします。しかし、手元にある少ない学習データでは、特徴量が10しか抽出できません。この時点で不足している90の特徴量を補うために、学習済みのトレーニングセットと突き合わせ、もっとも近い(トップ1)トレーニングセットの特徴量を使って補完するという意味だと解釈して下さい。
RVCについての実力はTBSがYouTubeに公開して切る下記の動画が参考になります。
ちなみに、今回はモデルを作成する部分にフォーカスしており、リアルタイム音声変換は「Koemake RVC Player」などの別アプリに、本記事の手順で作成した学習済みモデルを読み込ませる必要があります。
RVCのインストール方法
RVCをインストールするには、次の3つの手順が必要になります。
Python環境をインストール
もしPython環境を持っていない方は、「【お手軽】WinPython+Portable Gitでお手軽Python環境を構築しようよ」の記事を参考に環境構築して下さい。
公式サイトから自己解凍形式の圧縮ファイルをダウンロードして解凍するだけの簡単な作業です。
尚、この方法で構築したPython環境を「WinPython+Portable」環境と呼ぶことにします。
Visual Studio ビルドツールをインストール
既にビルドツールをインストールされている方はこの手順を飛ばしてください。
Visual Studioの公式サイトから、「無償ダウンロード」をクリックすると、インストーラーがダウンロードされます。
次に、ダウンロードした VisualStudioSetup.exe をダブルクリックで実行します。
しばらく待つと下記の画面が表示されます。「C++におるデスクトップ開発」にチェックを入れて、「インストール」ボタンをクリックします。
インストール中は下記の画面が表示されます。
RVCをインストール
Hugging Faceのサイトから、RVC-beta.7z をダウンロードします。
ダウンロードした RVC-beta.7z を任意のフォルダに解凍します。解凍が完了すると、RVC-beta-v2-0618 というフォルダが出来上がります。
以上でインストールは完了ですが、本記事で紹介した「WinPython+Portable」環境を使っている場合は、 RVC-beta-v2-0618 を「WinPython+Portable」環境のフォルダ(この例ではWpy64-31090)に移動すると共に、 src というフォルダを作成しておくと便利です。
この src フォルダに学習させたい音声ファイルを格納しておき、RVCから指定することで、学習させることができます。
RVCの使い方
ここからは、RVCの起動方法、モデルを作成する手順、作成したモデルを使って音声を変換する手順を説明します。
RVCの起動方法
RVCを解凍したフォルダ(RVC-beta-v2-0618)内のgo-web.batを実行すると、しばらくして web ui がブラウザに表示されます。
モデルの作成
モデルの作成は「トレーニング」タブで行います。
画面には色々なパラメータが用意されていますが、とりあえず「①モデル名」「②学習させたい音声ファイルのフォルダ」を入力した後で、「③データ処理」「④特徴抽出ボタン」「⑥ワンクリックとトレーニング」を順番にクリックするだけです。
⑤のエポック数が学習回数になるので、変換精度が低ければこの値を大きくする必要がありますが、最初は初期値の20で問題ありません。
エポックごとの保存頻度は、何回の学習ごとにモデルを保存するかの指定であり、何らかのトラブルで異常終了した場合、全ての学習結果が無駄になることを防ぐためのものです。
バッチサイズは1度に扱う学習データの量を示すもので、GPUのメモリに余裕があれば、大きな値を指定することで学習を速く進めることが出来ます。
無事学習が完了すると、出力情報に「全行程が完了」と表示されます。
音声の変換
音声変換は「モデル推論」タブで行います。
作成したモデルを「①モデルを選択」で指定し、「②変換元の音声ファイルを選択」で変換したい対象ファイルを選択します。
あとは、「③変換」をクリックすれば変換されます。
変換が終わると、「①変換結果の表示」に実行結果が、「②変換結果の再生」に再生ボタンとスライダーが表示されます。あとは実際に再生してみて、精度をご確認下さい。
まとめ
今回は人の声を学習し、リアルタイムで変換できるRVCボイスチェンジャーについて、RVCの特徴、インストール方法、使い方について解説しました。
10分程度の高品質な音声データを用意する必要はありますが、特定の文章を読み上げるといったことが不要で、ミドルクラスのゲーミングPCでモデル作成からリアルタイム音声変換まで出来てしまうという手軽さから、これから注文されていくのではないかと思います。
あと10年もしたら、映画の吹き替えは、本人の声でリアルタイム吹き替えされるようになるかもしれません。
一方、詐欺などに悪用されることも増えていくでしょうから、騙されないように十分な知識を持っておく必要があります。
良くも悪くもAIは我々の生活に浸透してきているので、これからも生成AIは目が離せませんね。
コメント