従来の50倍速!「RVC」音声AIモデルをWebUIから学習を行い作成する方法 Windows用

「RVC」超高速学習!音声合成AIモデルをWindowsのWebUIで学習し作成する方法 ソフトウェア

従来のso-vits-svcと比較して、 約50倍速で同等の品質の学習モデル作成ができるRVC!!

WindowsにRVC WebUI(ddPn08/rvc-webui)を導入し、好きな声のモデルを学習により作成し、音声変換するまでの一連の流れを画像付きで丁寧に解説します。

なお、中国の本家版でなくだだっこぱんだ氏が再構築された方のRVC WebUIを紹介しています。
(本家:yantaisa11/Retrieval-based-Voice-Conversion-WebUI

どんなことができる?

従来のSO-VITS-SVC100分かけて作ったモデルと同等の品質のものが、2分ちょいでできます。

音声変換は音声の長さの等速~1.5倍速くらいの所要時間でできます。

追記:768次元の学習などの機能追加に伴い、本ページの解説もアップデートしました

追記2:今はもうVALL-E-Xの方が手軽声の学習と音声合成の合計所要時間が10秒とかいう頭おかしいレヴェルで高速。

テキストを任意の声で音読してほしいなら、現状これがベスト。
TTS(Text-To-Speech)の最高峰。

チェック!!
さくいん! 本サイトのAI関連記事まとめ どれから見れば良いのか?!


数十記事ある本サイトのAI関連記事を体系的にまとめました。

目的別にどれから見れば良いのかわかります!!

AI記事索引ページはコチラ

1. WebUIをインストール

前提条件

以下のものをインストールし、パスの通った状態にしてあることが前提です。

  • Python (Python 3.10.7で私が動作確認済)
  • Git
  • Microsoft C++ Build Tools
  • ffmpeg (多分必要)

WebUIをダウンロード

RVC用のフォルダを適当に作成してください。

なおフォルダパスに英数字以外が含まれるとエラーになります。

万全を期すならCドライブ直下などがおすすめです。

そして、そのフォルダ内で右クリック→ターミナルで開くを選択。

その後、以下のコマンドをコピペしてエンター。

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

WebUIリポジトリをダウンロードします。

お手軽環境構築

最早手動でvenv作成して色々インストールしなくて良くなりました!

batファイルを起動するだけで全てインストールされます。

 webui-user.bat を起動してください。

しばらく待てばインストールが終わっています。

Creating venv in directory C:\Users\loveanime\Desktop\RVC\rvc-webui\venv using python "C:\Users\loveanime\AppData\Local\Programs\Python\Python310\python.exe"
venv "C:\Users\loveanime\Desktop\RVC\rvc-webui\venv\Scripts\Python.exe"
Python 3.10.7 (tags/v3.10.7:6cc6b13, Sep  5 2022, 14:08:36) [MSC v.1933 64 bit (AMD64)]
Commit hash: 353489204603e7b927d6829caf359b27f724c1b0
Installing torch and torchvision
Installing requirements
2023-04-15 11:08:13 | INFO | faiss.loader | Loading faiss with AVX2 support.
2023-04-15 11:08:13 | INFO | faiss.loader | Could not load library with AVX2 support due to:
ModuleNotFoundError("No module named 'faiss.swigfaiss_avx2'")
2023-04-15 11:08:13 | INFO | faiss.loader | Loading faiss.
2023-04-15 11:08:13 | INFO | faiss.loader | Successfully loaded faiss.
Running on local URL:  http://localhost:7860

To create a public link, set `share=True` in `launch()`.

URLが表示されたら完了です。

早速ブラウザでhttp://localhost:7860にアクセスしましょう。

インストール時にエラーが生じたら

RVC WebUIのバージョンや動作環境によりインストールできないことがあります。

その際は、インストールがよりシンプルなこちらをお試しください。

2. 音声モデルを作成(トレーニングを行う)

1,学習設定

Trainingタブを開きます。

どんな設定で学習するか

Model Nameは何でもOK.
分かりやすさ重視で好きな名前にしましょう。

今回は「test」でいきます。

各種設定もデフォルトでいきます。

  • Ignore cache(キャッシュを無視する):チェックなし
  • Dataset glob:データセットのパス(後述)
  • Speaker ID:0
  • Target sampling rate(サンプリングレート):40k
    • 多分48kのほうが奇麗そう(適当)
  • f0 Model:Yes(Noだと音程が変になるっぽい)
  • Using phone embedder:hubert_baseがデフォ。contentvecの方が高品質らしい
  • Embedding channels:768(256次元より高品質)
  • Model has pitch guidance(モデルにピッチガイドがついているか):Yes

学習元の音声フォルダ指定 Dataset glob

今回は「つくよみちゃんコーパス」を使用させていただきます。

「声質の学習」には、フリー素材キャラクター「つくよみちゃん」が無料公開している音声データを使用しています。

■つくよみちゃんコーパス(CV.夢前黎)
https://tyc.rei-yumesaki.net/material/corpus/

https://tyc.rei-yumesaki.net/material/corpus/#terms2

今回は「01 WAV(収録時の音量のまま)」フォルダ内の音声(5〜10秒x100件)を全て長さそのままで使用します。
なお、フォルダ名だけアルファベットに書き換えましたが、多分日本語でも問題ありません。

当方でフォーマットやノイズ除去その他変換など前処理は一切していません。

フォルダパスを入力します。
先程のModel Nameと別名でOK.

使用ハードウェア指定など

  • GPU ID:0(グラボが複数なければ0にしておく)
  • Number of CPU processes:10(各自のCPUスレッド数にする)
  • Normalize audio volume when preprocess:Yes
    • 学習元音声の前処理時に音量を正規化するか?
  • Pitch extraction algorithm:harverst(デフォ)

バッチサイズとエポック数指定など

  • Batch size:16(VRAMサイズと相談)
    • 追記:VRAM24GB時にbatch size 50で学習成功しました
    • 大きいほど正則化できる(過学習防止)
  • Number of epochs:100(とりあえずデフォ)
    • 2,30程度で良い説濃厚
    • 多ければ良いというものではない。過剰だと不自然な機械っぽさが出やすい
  • Save every epoch:10(デフォ値。何エポックごと保存するか)
  • Cache batch:多分チェックで高速化。batch sizeの上限値が減る
  • FP16:多分チェックで軽量&高速化。精度に伴い品質は低下する

その他設定

  • Pre-trained bottom model G path
  • Pre-trained bottom model D path
  • Status:進捗表示

これらは通常触らなくて良いです。デフォルト設定のままにしておきます。

そして最下部の「Train」ボタンで学習開始!!

2,学習中のハードウェア負荷

とりあえず、学習元音声が数秒x100ファイルBatch sizeが16だと、VRAM消費量は9.7GBでした。

VRAM24GB勢なら、Batch size:30くらいまでいけそうです。
追記:batch size 50で学習成功!!その際VRAM23.7GB消費しました。

batch sizeとVRAM消費量は単に比例するわけでは無さそうです。

所要時間は、100エポックで2分14でした。

300it [02:14,  2.91it/s, epoch=100]Training is done. The program is closed.

メモ:エラーになったら、どうする?

学習元音声の形式を変えてみる

当方はwav形式で動作確認を行いました。

mp3などの場合、とりあえずwav形式に変換してみて下さい。

※以下の変換にはffmpegのインストールが必要です。

  1. エクスプローラーで変換したいmp3ファイルがあるフォルダを開く
  2. Shiftキーを押しながら右クリックして、「PowerShellウィンドウをここで開く」を選択
  3. 開いたPowerShellウィンドウで、以下のコマンドを入力し、Enter.
for %i in (*.mp3) do ffmpeg -i "%i" "%~ni.wav"

これで、フォルダ内のすべてのmp3ファイルがwav形式に変換されます。

変換後ファイルは、元のmp3ファイルと同じフォルダに保存されているので、正常に変換できたことを確認してから、拡張子順に並べ替えてmp3の方は削除してください。

※パワーシェルでは失敗するという場合は、コマンドプロンプトでやってみてください
エクスプローラーのアドレスバーに「cmd」と入力しエンターを押すと開けます

……動作確認済バージョンに戻そう

ダウングレード方法はこちらを参考にして下さい。

ざっくり言うと、さっきgit cloneのコマンド実行したように、フォルダ内でターミナルを開き、以下のコマンドを実行します。

git checkout 6d2751704b6cb3a6df7242895b68a193c7d4dbfa

なお、このバージョン(commit 6d2751704b6cb3a6df7242895b68a193c7d4dbfa)は当方動作確認済です。

追記:「9a3163a659f908a7b524575c84b29b222c47ccb3」も動作確認しました。このバージョンは768次元トレーニング対応済です。

最新版に戻す時はgit switch mainです。

最新版に戻した後に起動すると以下のようなエラーが出るかもしれません。

FileExistsError: [WinError 183] 既に存在するファイルを作成することはできません。: 'C:\\rvc-webui\\models\\pretrained\\f0G32k.pth' -> 'C:\\rvc-webui\\models\\pretrained\\f0G32k256.pth'

このようなエラーが出た場合、rvc-webui\\modelsの、「pretrained」と「embeddings」フォルダの中身を全て削除してweb-user.batを再度実行してください。

あるいは、別のRVC WebUIを使用してみる

導入が最も容易RVC-betaのインストール方法はこちらをご覧ください。

私の観測圏内では、こちらの方が「指定されたパスが見つかりません。」のエラーが出にくい印象です。

3, 完成したモデル保存場所

rvc-webui\models\training\models\checkpoints\に保存されています。
Model Nameごとにpthファイル作られるので今回はtest.pthでした。

3. 学習済モデルを使用して音声合成・変換する

Interfaceタブを開きます。

まずリサイクルマークを押してモデルの再読み込みを行い、モデルを指定します。

そして、Source Audio変換元音声ファイルをフルパスで指定して入力します。

Transposeは音程の調整です。女性では12がおすすめと言われますが、5〜7くらいが自然っぽい?!

Pitch Extraction Algorithmは学習時のものを指定します。つまり「Harvest」。

なお、ピッチ抽出のアルゴリズムは、歌声の場合は「pm」を使って高速化し、低音の場合は「harvest」を使うと良いそうです。

ただし、音声変換の質を向上させたい場合には、結局harvest」が最適とのことで、こちらを選択。

Embedder Modelautoか、モデル学習時のものを選択しましょう。

Auto Load IndexFaiss Index FileとBig NPY Fileを自動読み込みしてくれます。

Infer」ボタンで音声変換を開始します。

4. 音声変換実演例

ちなみに学習元音声はこの動画の冒頭みたいなものなので、かなり再現出来ていますね!!

上記動画冒頭の「フリー素材キャラクターのつくよみちゃんと申します。」を言わせてみました。

かなり似てますね。

変換前の抑揚がアレなだけで声質自体は素晴らしい出来です☆
これが学習2分半に満たない時間でできる革命的です!!!!

かつてSO-VITS-SVCでこれを実現するには面倒な環境構築や音声事前処理が必要な上、学習には100分もかかったのに…
RVCはやばい。

ちなみに変換には3秒のファイルに2,3秒かかったので、およそ等倍~1.5倍速程度の処理ができそうです。

5. RVC WebUIのアップデート方法

アップデートを行うには、update.batを実行するだけです。

自動でアプデコマンドが実行されるので、「続行するには何かキーを押してください . . .」が表示されたら閉じてください。

これだけでアプデ終了!!

まとめ RVC:超高速かつ高性能音声モデルを自宅で作成する

  1. Python,Git,Microsoft C++ Build Toolsをインストールしておく
  2. WebUIをgit clone
  3. batファイルでお任せセットアップ
  4. WebUIを起動
  5. Trainingタブ音声モデル作成
    • モデル名など指定
    • 学習元音声ファイルの入ったフォルダを指定
    • バッチサイズはVRAM24GBなら50までいけた
    • Train」で開始、2分ちょいで終わった
  6. Interfaceタブで音声変換!!

SO-VITS-SVC100分かけて作った音声合成モデルと比べ、まるで遜色ないものが2分ちょいでできる!!50倍速!!!

なんて加速度的な進歩!
ワクワクが止まりませんね!!

実践的な使い方として、推しの子OP曲「アイドル」を物語シリーズのキャラ3人に歌ってもらいました。
(阿良々木月火,千石撫子,戦場ヶ原ひたぎ)

こちらで再生できます。

学習に用いる音声を抽出したり、楽曲からボーカル除去しRVCで合成したものに差し替えたりする際は、ボーカル抽出&除去ができるUVR GUIがおすすめです。

ここで作成した音声モデルはリアルタイムボイスチェンジャーVC Client」で使用可能です。

他にも色々と面白いAI関連の記事を書いています。合わせてご覧ください。

規制も倫理も無いFreedomGPTをグラボ不使用でWindowsにて動かす方法

画像生成AI「Stable Diffusion」を動かす方法

無料のCopilot「Amazon CodeWhisperer」を登録&VSCodeで使用する方法まとめ

タイトルとURLをコピーしました