RVC WebUIをローカルで構築する方法とRVCを利用して楽曲の歌声を変える方法を順を追って説明します。
RVC (Retrieval-based Voice Conversion) とは
RVCは、用意した音声から学習したモデルを作成し、話者の声を別の声に変換する技術です。学習や推論には最低でも4GB以上のVRAMを積んだグラフィックボードが必要になります。ローエンドのグラフィックボードだと重たい作業になります。
インストール
現在はポータブル版があり導入は簡単です。少し翻訳が怪しい部分もありますが日本語化もされています。下のリンクにアクセスしてください。
ファイルが複数ありますが更新日の近いものが新しいバージョンになります。グラフィックボードの環境で選んでダウンロードしてください。
ダウンロードファイルは7zです。Windows11の最新バージョンで解凍することができますが、途中エラーがでたり解凍速度も遅かったため別途解凍ソフトを使用するのがよさそうです。今回は7Zipをインストールしました。
解凍したらフォルダ内のgo-web.batを起動してください。しばらくするとRVC WebUIが立ちあがります。
モデルを作成する(学習)
音声素材を用意
音声ファイルを学習させてモデルを作成します。音声素材は10分から50分のデータ(量よりも質が大事)が推奨されており多いほどトレーニングに時間がかかります。また、音声素材はいろいろなシーン(喋り・感情表現・アカペラなど)があると推論時に音が壊れにくいです。今回の用に歌声をボイスチェンジする場合はアカペラの素材があるといい結果が得られそうです。
自分で音声ファイルを準備する場合はこちらの記事もご覧ください。
学習
こちらがRVC WebUIになります。
トレーニングタブを開きます。日本語で説明書きされているので大事なポイントだけ紹介します。
- モデル名(パスに日本語が入っているのは好ましくないのでできればアルファベットで)
- トレーニング用フォルダのパス(学習させるファイルが入ったフォルダのパスを入力)
- 総エポック数(トレーニングデータの品質が低い場合は30で十分、高く設定しても音質は改善できない。トレーニングデータの品質が高い場合は200は許容範囲。エポック数に応じてトレーニング時間も長くなる)
- GPUごとのバッチサイズ(タスクマネージャーでVRAM使用量を確認しながら余裕があるならあげることでトレーニング速度があがる)
設定が終わったらワンクリックトレーニングを押すことでトレーニングが開始されます。進捗はコマンドプロンプトを確認してください。
タブにあるよくある質問と以下のリンクも参考にしてください。(英語なので翻訳機能を利用してください。)
学習したモデル (pth) はassets\weightsフォルダ、indexはlogsフォルダに保存されています。ほかで準備した学習済みモデルを利用したい場合もこちらに保存してください。
楽曲のボーカルと伴奏を分離する
UVR (Ultimate Vocal Remover) が利用できます。完全版ではありませんが複数のモデルが準備されています。
伴奏ボーカル分離&残響除去&エコー除去のタブを開きます。
- 分離するファイルのフォルダパスを入力または、ファイルをアップロード
- モデルを選択(説明書きを参考にボーカルにハモリがないならHP2またはHP3、ボーカルにハモリがありメインボーカルのみ抽出したい場合はHP5が良さそうです。抽出したボーカルでディレイ(エコー)やリバーブ(残響)が気になる場合は、抽出したボーカルにDeEchoを使用してみてください)
- ボーカルと伴奏の二つのファイルが作成されるので保存先を指定
- エクスポート形式を選択
- 変換をクリック
以下が分離した例になります。音楽 : 魔王魂 シャイニングスター
ボイスチェンジを行う(推論)
先ほど分離したボーカルファイルを学習済みモデルを使ってボイスチェンジします。
モデル推論タブを開きます。
- 音源推論(学習済みモデルを選択。表示されない場合は音源リストとインデックスパスの更新をクリック)
- ピッチ変更(先ほど分離したボーカルファイルと学習済みモデルの声の高さで調整)
- 処理対象音声ファイルのパス(さきほど分離したボーカルファイルのパスを入力)
- インデックスパスの自動検出(学習済みモデルと同じindexファイルを選択)
- 変換をクリック。出力音声を確認しながらピッチやその他調整をしてください。
ずんだもんのモデルで変換してみました。
ボーカルと伴奏をミックスする
RVC WebUIにこの工程を行う機能はないので、サウンド編集ソフトでミックスしてください。今回はAudacityという定番ソフトを使用しました。
伴奏と変換したボーカルファイルをドロップしてエクスポートしてください。
完成例
RVCで作成したモデルを使ってリアルタイムボイスチェンジを行いたい場合は以下の記事をご覧ください。