RVC(Retrieval-based Voice Changer)でボイスチェンジしてみる!

6月 4, 2023

様々な音声技術の開発が進む中, Retrieval-based Voice Conversion(RVC)という, あなたの声を全く別の人, さらには異性の声に変換することが可能なライブラリが登場しました. このブログではそのセットアップ方法と使い方を詳しく解説します.

実際に異性の声に変換したものはこちら!

一般的な音声変換技術が単に音声のピッチやトーンを調整するのに対し, RVCは音声の本質的な特性を捉え, それを別の音声に適応させることができます. あなたが話すと, あなた自身の声が全く別の人の声, 例えば, 異性の声として出力されます.

こんな人におすすめ!
  • 自分の声を異性の声に変えてみたい!
  • VTuberデビューのために好きな声のモデルを作りたい!

セットアップ

Windows

OSがWindowsの方向けの説明です.

動作確認環境

Windows10
Python3.10.7

下記リンクからCodeをZIP形式でダウンロードし, 解凍します.

解凍したフォルダ内のwebui-user.batを実行すると, 必要なpytorch, 仮想環境や使いやすいWebUIを準備してくれます.

webui-user.bat実行後, しばらくすると, Running on local URL: http://127.0.0.1:7860とコマンドラインに出てくるので, そのURLにWebブラウザからアクセスします.

Ubuntu

OSがUbuntuの方向けの説明です. Windowsの方は"学習"に進んでください.

動作確認環境

OS : Ubuntu 22.04
Python : 3.10.6
GPU : Geforce RTX 2080Ti
Nvidia Driver : 515.105.01
CUDA : 11.7
CuDNN : 8.8.3.1

RVC

RVCのソースを取得します.

git clone https://github.com/ddPn08/rvc-webui.git

rvc-webuiフォルダ内のwebui.shを起動すると, 必要なpytorch, 仮想環境や使いやすいWebUIを準備してくれます.

cd rvc-webui
./webui.sh

webui.sh実行後, しばらくすると, Running on local URL: http://127.0.0.1:7860とコマンドラインに出てくるので, そのURLにWebブラウザからアクセスします.

学習

独自の音源データセットを用意して, なりたい声の学習をしていきます.

学習データの取得

変えたい声質の音源データを学習前に集めておきます.

今回は下記リンクから学習データをダウンロードします. つくよみちゃんという商用利用も可能なフリーの女性の声のモデルを利用します.
他者を攻撃したり, 政治的思想や二次利用の許可等は禁じられていたりするので, 活用する際は利用規約をお読みください.

取得した音源は任意のフォルダに保存しておきます.

用意した音楽データセットでの学習

Trainingタブを選択します.

Dataset globに取得した音源を保存したフォルダを指定します.

Batch sizeとNumber of epochsを指定します.

Batch sizeは大きければ早く学習が完了しますが, 大きすぎるとメモリエラーになります. GPUのメモリに余裕があればBatch sizeを大きくしても問題ないと思います.

Number of epochsは学習回数です. たくさん学習すれば, データセットの音源により近い声質になりますが, 過学習して実際にボイスチェンジャーとして使用すると, うまく変換できないこともあります.
複数回繰り返して適度な回数にするとよいと思います.

設定が完了したら, Trainを押して学習を開始させましょう. Statusが"Training Completed"になれば学習完了です.

エラーが出てお困りなあなたに…

このブログでわからないことがあったり、開発でつまづいている方、

私がチャットやオンラインでサポート致します!

ぜひ、下記リンクからご相談ください!

クラウドソーシング「ランサーズ」

推論

学習した結果を推論に使って, 実際に声質が変わるかテストしてみましょう.

Inferenceタブを選択します

黄色枠で囲まれている更新ボタンを押して, 学習したモデルが選択肢に出てくるようにします.
Modelの中から学習時に決めたモデル名を選択します.

さらに下記のように設定していきます.

  • Source Audioに変換したい音声の指定
  • transposeを低音->高音の場合は+12, 高音->低音の場合は-12を設定
  • pitch extraction algorithmは学習時と同じくharvestに設定
  • auto load indexにチェック

ここまで設定したらinferボタンを押して音声の変換を開始します.

完了すると, 再生ボタンや音量調節のついたplayerが出てきて, そこでボイスチェンジした声を聞くことができます. outputフォルダに変換後の音声ファイルが保管されているので, そちらを使用することも可能です.

おわりに

RVCは, 驚くほどリアルで自然な音声変換を実現する技術です. 本記事では, WindowsとUbuntuの環境でRVCをセットアップし, 学習データを用いて音声の学習を行い, 最終的にはあなたの声を全く異なる声に変換する方法を解説しました.

音声変換技術は, エンターテイメント, ビジネス, AI製品など, 多岐にわたる用途で応用が可能です. その中でも, 自分の声を自由にカスタマイズできるRVCは, 個々のニーズに応じた音声生成が可能であるという点で, その可能性は無限大と言えるでしょう.

RVCはまだ開発途中の技術であり, 今後もその精度や機能は向上していくことでしょう. この記事が, RVCやその他の音声変換技術に興味を持つ皆さんにとって, 一助となれば幸いです.

RVC

Posted by Tech Life Hacking