4
5

日本語化されていたRVC+VC Clientでリアルタイム音声変換への道

Last updated at Posted at 2023-04-26

リアルタイム音声変換がにわかに話題となっているので試してみたところ、日本語化されていてUIとかがかわっていたので、試しながら手順をまとめました。私も他の人が作ってくれた記事が非常に参考になったので、これもまた誰かの参考になればと思っています。

特にRadeonで動かなかった辺りが・・・。

はじめに

前提

項目  前提 補足
Windows11 10でも同じだと思います
グラフィックボード NVIDIA Radeonでは動きません
Retrieval-based-Voice-Conversion-WebUI ver20230416updated
w-okada/voice-changer ver1.5.2.3a

おおまかな流れ

  1. 音声データの準備
  2. 学習データの作成
  3. リアルタイムボイチェン
  4. おまけ(DiscordやZoomで使いたい)

1. 音声データの準備

手元に音声データがない場合、研究者向けに音声データを公開してくれているマルチモーダルデータベース配布があるので、そこからデータをダウンロードしておきます。
ずんだもんの場合、zundamon_voice_data/emotion/normalに利用できる音声データがあります。
(VOICEVOXを利用して他の音声データの準備方法を別途記載予定)

2. 学習データの作成

Retrieval-based-Voice-Conversion-WebUIの使って学習データを作成します。

2.1 ダウンロード

Retrieval-based-Voice-Conversion-WebUIREADEMEに色々書いてくれているので読みたくなりますが、

https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/RVC-beta.7z

からRVC-beta.7zをダウンロードすればうまくいくようになってます(とREADMEにも書かれています)。タイミングによっては、バージョンが更新されてベータでなくなっているかもしれませんが・・・。

2.2 解凍

空白、日本語が含まれていないことに注意して、解凍してください。この後、エラーになる可能性が高いです。不安な場合は、Cドライブ直下とかに解凍すると安全だと思います。うまくいったら移動しましょう。

2.3 使い方

  1. go-web.bat をダブルクリックします。コマンドプロンプトが起動して処理が走り始めます。
  2. 以下画面がブラウザで起動してくるのを待ちます。
    2023-04-25_23h18_25.png
    1. トレーニング後に出力されるファイル名(例:mi-test)
    2. トレーニング用の音源データがあるフォルダを設定(例:C:\voice-changer\zundamon\emotion\normal)
    3. ビデオカードを設定する箇所なのだが、値が入っていればよい(例:0 カード情報 0 NVIDIA GeForce RTX 2600)
    4. 総トレーニング回数(例:10、回数が多いとトレーニングに時間がかかるので最初は10がおすすめ)
    5. ワンクリックトレーニングを押す
  3. 1で起動したコマンドプロンプトに諸々処理が流れ、Epoch: {2-4で設定した数} を終えて、exit code 2333333が表示されるのを待ちます。
    2023-04-25_23h28_50.png
  4. RVC-beta/wightsフォルダに {2-1で設定した名前}.pth が出ていることを確認します。

2.4 エラー

ValueError: need at least one array to concatenate が出てしまう
FuRw1CEagAE4RIk.png

原因

WebUIを開いたときに、2-3でこのような設定になっていなかったでしょうか?
image.png
很遗憾您这没有能用的显卡来支持您训练 = トレーニングをサポートするグラフィックス カードが動作していないのは残念です(Google翻訳)、ということで、Radeonだとこうなってしまいます。NVIDIAのカードを買うか、対応してくれるの待つのみです。

3. リアルタイムボイチェン(VC Client)

VC Clientことw-okada/voice-changerを使用して、いよいよリアルタイムボイチェンです。

3.1 ダウンロード

  1. w-okada/voice-changerから事前ビルド済みのBinaryをダウンロードします。
    2023-04-26_00h05_26.png
  2. RVC(Retrieval-based-Voice-Conversion)の動作には hubert のモデルが必要になります。このリポジトリからhubert_base.ptをダウンロードします。

3.2 解凍

  1. 空白、日本語が含ま(略)。
  2. 解凍したフォルダ\MMVServerSIOの下にstart_http.batがあると思うので、MMVSeverSIOの下(start_http.batと同じ位置)にhubert_base.ptを格納します。

3.3 使い方

  1. start_http.batをダブルクリックします。
  2. RVC-WebUIで学習データをアップロードします。
    2023-04-26_20h29_18.png
    1. selectボタンを押して学習させたデータを選択します(例:RVC-beta\weights\mi-test.pth)
    2. uploadボタンを押してアップロードします。アップロード中すぐ横に進捗が%で表示されます。
    3. アップロードが完了するとアップロードしたファイルが表示されます。
  3. DeviceSettingのAudioInput=入力となるマイクと、AudioOutput=出力となるスピーカーを設定します。
    2023-04-26_20h34_27.png
  4. Startボタンを押すとボイチェンが開始されます。
    2023-04-26_20h36_22.png

3.4 その他

エラー

VC PROCESSING!!!! EXCEPTION!!! 'RVC' object has no attribute 'hubert_model'が出てしまう場合、hubert_base.ptがないためです。3.aのダウンロード手順を参考にしてダウンロードし、3.b.2を参考にしてファイルを配置してください。その後start_http.batからやり直せばうまくいきます。

声のトーンがあっていない

私がずんだもんで試したときは、以下を一通りやりました。

  1. Speacker Settingの設定。Tuningを14, predic f0にcheckを入れた。これも結構影響の大きいパラメータだと思います。
  2. マイクを良いものにする。ノートPCのものから、USBのマイクに変えただけですが、雑音が減ってずんだもんっぽいかどうか判断しやすくなったと思いました。
  3. Epocの回数を上げる。20でもよかったかなと思いましたが、30回程度で試したらだいぶそれっぽくなりました。

4. おまけ

DiscordやZoomで使いたい

参考

特に1の記事にお世話になりました。ありがとうございました。

  1. 「RVC」+「VC Client」で自分の声を任意の声にリアルタイム変換しよう!
  2. RVC+VC Clientでリアルタイム音声変換してDiscordに参加する話(SoXを使った素材集めの話も)
  3. 【悪用厳禁】自分の声を推しの声にリアルタイム変換する方法(全体公開)
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5