【Q&A集】RVC WebUIの使い方 – チュートリアル動画へのコメントとエラー対応例

【Q&A集】RVC WebUIの使い方 - チュートリアル動画へのコメントと対応例

 

 

Table of Contents

RVC WebUIの解説動画へのコメントと対応例など
– 最終更新:2024年9月6日

 

 

RVC WebUIの使い方入門:オリジナルAIボイスチェンジャーを作ろう(男性・女性)

視聴時間:22分22秒

AIボイスチェンジャーに関心のある方の情報収集の利便性を考え、YouTube動画の「RVC WebUIの使い方入門:オリジナルAIボイスチェンジャーを作ろう(男性・女性)」の解説動画にいただいたコメントの中から、他の方も疑問に思いそうなことや、エラーや上手くいかないことと、その対応例などについてまとめておきます。
補足:
上記の動画のRVC v1モデル版のチュートリアルコードは「2024年9月6日時点」ではGoogle Colaboratoryに課金した状態でRVC WebUIを使えたとのことでした。
推論で「Connection errored out」(接続がエラーとなりました)となる場合には、1分程度の音源にすると良いとのことでした。

 




 

【追記:2023年5月9日 – Google Colaboratory起動版のRVC WebUIが英語化】

2023年5月9日に確認時点では、Google Colaboratory上で起動できるRVC WebUIが英語化されたようでした。
その他の変更点としては、「Train」で、これまで指定していた

・Feature file path:
(FEATUREファイルパスを設定)

を設定する必要がなくなり、

・Feature search database file path(.indexファイル)
(FEATUREサーチパスを設定)

のみを指定するようになっていました。
また、「Export ONNX」では、ONNX形式の学習モデルに変換できるようになったようでした。

 

【追記:2023年5月24日】

2023年5月中旬にリリースされたRVC公式の事前学習済みモデルのバージョン2(RVC v2モデル)に対応させたチュートリアルプログラムのコードを公開しておきました。

RVC v2モデル対応のGoogle Colaboratoryのサンプルコード:
v2-RVC-WebUI-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

 

【追記:2023年5月29日】

RVC v2モデルに対応させたチュートリアル記事を公開しました。

【RVC v2モデル対応版】日本人のためのRVC WebUIの使い方:AIボイスチェンジャー

【RVC v2モデル対応版】日本人のためのRVC WebUIの使い方:AIボイスチェンジャー
* 2023年6月11日にチュートリアル動画も公開させていただきました。RVC v2モデル対応版のチュートリアル動画を記事ページに掲載中です。

 

【RVC WebUIのチュートリアル動画の内容】

0:00 はじめに
1:01 RVC WebUI起動編
2:17 コードの実行
3:25 データセットなどの準備
8:10 RVC WebUIの起動
8:30 RVC WebUIの使い方編
9:13 データセットの学習
15:04 推論(AIボイスチェンジ)
21:59 最後に

 

 

RVC WebUIのQ&A集:だだっこぱんだ🍞(ddPn08)さん版のRVC WebUIの使い方が分からない…

 

 

【ddPn08版 – RVC WebUIの特徴】2023年5月15日時点

特徴①:
事前学習モデルが

・hubert-base-japanese(ヒューバートベイスジャパニーズ)
*日本語の音声に特化したHuBERT(ヒューバート)

・contentvec(コンテントベック)
*オリジナル版のRVC WebUIで利用

から選べる。

 

特徴②:
768次元のphone embeddingsに対応。

 

起動方法が分からずにお困り中の方もいるようでしたので、だだっこぱんだ🍞(ddPn08)さん版のRVC WebUIをGoogle Colaboratoryで使う方法をまとめておきました。
必要に応じてご活用ください。

チュートリアルコード:
RVC-WebUI-ddPn08-Version-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

チュートリアル記事:
【だだっこぱんだ🍞(ddPn08)さん版】日本人のためのRVC WebUIの使い方 – AIボイスチェンジャー入門

チュートリアル動画:
【現代の魔法】ddPn08版 – RVC WebUIの使い方入門:オリジナルAIボイスチェンジャーを作ろう ddPn08 Edition – AI Voice Changer Tutorial by RehabC – デジタルで、遊ぶ。(YouTube動画)

【2023年5月23日】

RVC公式の事前学習済みモデルのバージョン2(RVC v2モデル)に対応開始。

公開直後に確認時点では、いくつか注意点もありそうでしたので動画でまとめておきました。

【RVC v2モデル対応編】だだっこぱんださん版 - RVC WebUIの注意点解説RVC v2 model supported ddPn08 Edition AI Voice Change

【RVC v2モデル対応編】だだっこぱんださん版 – RVC WebUIの注意点解説RVC v2 model supported ddPn08 Edition AI Voice Change by RehabC – デジタルで、遊ぶ。(YouTube動画)
8分程度の動画ですので事前に確認いただくと、困らないのではないかと思います。

上記の動画では、

・注意点①:データセットのパスの設定方法
・注意点②:RVC v2設定時に気をつけること
・注意点③:2度目の学習について

について注意点と対応例の手順をまとめておきました。

 

 

RVC WebUIのQ&A集:AIボイスチェンジャーの基礎知識編

 

 

VALL‐E Xと比べて声の再現率はどちらの方が良いですか?

 

 

【2024年9月2日時点】

これまで使ってみた感じの個人的な印象としては

・VALL-E X
→ 音声の準備(入力音声)などの手間が少ないが、調整できるパラメータが少ないので粗くなりやすい

・RVC WebUI
→ 音声の準備(入力音声・変換用の音声)に手間がかかるが微調整もできるのでカスタマイズしやすい

といったところでしょうか。

VALL-E Xは、入力する音声によってはいい感じの時もありますが、さまざまな声質の音声を試みた際には再現率が低下しやすいかもしれません。
一方、RVC WebUIは、VALL-E Xで出力されるものと同等のものを作るまでの手間がかかりますが、再現率の安定性は高めかもしれません。
ただ、どちらも

・実際にやってみないとわからない

気はします・・・

【VALL-E Xのチュートリアル】

日本人のためのVALL-E Xの使い方:日本語音声で感情反映型AIボイスチェンジTTS

 

 

VC ClientとRVC WebUIとの違いなどについて

 

 

VC ClientとRVC WebUIの大きな違いは、2023年4月時点では

✔︎ VC Clientではリアルタイムボイス変換ができる

ことです。

元々、VC Clientでは、

・MMVC(RealTime-Many to Many Voice Conversion)

という音声変換の方式で、

・「自分の声」と「変換したい声」の2パターンの音声データ+テキストデータ

を使って学習させることで、リアルタイムボイスチェンジャーなどを実現できていました。
その後、2023年4月にRVC WebUIが登場し、

・RVC(Retrieval-based-Voice-Conversion)

という方式で、コンピュータに関心のある方がある程度使い方を学べば使えるようなMITライセンス(オープンソース)のプログラムが登場しました。
RVCの利点の1つとしては、

✔︎ 「変換したい声」の音声データを使うだけで、ある程度のボイスチェンジが(気軽に)実現できる

ようになったことです。
また、大規模な事前学習モデル(pre-trained model)を使うことで、個人レベルでも準備できる程度のわずかな音声データ(*)
(*)RVC WebUIの説明:Voice data =< 10 mins can also be used to train a good VC model!
(10分以下の音声データを目安に音声変換モデルの学習が可能です)

を使ってオリジナルのAIボイスチェンジャーを作れるようになりました。
RVC WebUIが登場後に、VC Clientの開発者の日本人の方が、すぐにRVC方式のボイスチェンジ用のRVC方式の学習モデルを使ったリアルタイムボイス変換をサポートしてくださったため、RVC WebUIなどで学習させたボイスチェンジ用の学習モデルを使って、VC Client(for RVC:ローカル環境 – 自分のパソコン環境で実行)でリアルタイムボイスチェンジに挑戦する方が増えてきているようです。

 

 

ローカル環境でRVC WebUIを使うためにパソコンを買おうと思っています。
GPUメモリは何GB以上のものを買えばいいでしょうか?

 

 

【2023年6月19日時点】

RVC WebUIを、ローカル環境(自分のパソコン)で使うにあたっては、いくつか事前に知っておく必要がありそうでしたので、現状で個人でわかる範囲の情報ではありますが、以下に

【①OSについて】
【②GPUのメーカーについて】
【③RVC WebUIで必要なGPUメモリの容量について】
【④補足:CPUメーカーについて】

についてまとめておきます。

 

【①OSについて】

まず、利用するOSは、

・Windows

が無難そうです。
理由としては、

・That’s possible but now unimplemented.
(Apple Sillicon Macでワンクリックインストールは可能ですが、現在は実装されていません)

出典:
Apple Silicon 1 Click install? #397 – 2023年5-6月:RVC-Project/Retrieval-based-Voice-Conversion-WebUI | GitHub

ということですので、もし、Macを検討中の場合には注意してください。

 

【②GPUのメーカーについて】

現状では、GPUのメーカーによってはうまくいかないようでした。

・AMD GPU have not been supported now
(AMD RadeonのGPUは、現在サポートされていません)

出典:
Support for AMD RX 5700 #547 – 2023年6月:RVC-Project/Retrieval-based-Voice-Conversion-WebUI | GitHub

そのため、必ず

・Nvidia製

のGPUを選ぶ必要がありそうでした。

 

【追記 – 2023年7月10日:GPUについて】

RVC WebUIの公式プログラムのページを見ていたら、以下のような情報を見つけました。

Add directML support to RVC for AMD & Intel GPU supported – 2023年7月:RVC-Project/Retrieval-based-Voice-Conversion-WebUI | GitHub
(AMD および Intel GPU 対応の RVC に directML サポートを追加)

おそらくですが、

・directML
*非Nvidia製GPUで使えるマイクロソフトによる機械学習ライブラリ

を使って、

・AMD製のGPU

などに対応されるアップデートがRVC v2モデル対応のオリジナル版のRVC WebUIで先日行われたのかもしれません。
ローカル環境での実行を検討中の方は、必要に応じて最新版のRVC WebUIをローカル環境にダウンロードして実行してみてください。

 

【③RVC WebUIで必要なGPUメモリの容量について】

RVC WebUIリリース当初の情報

参考:
AIボイチェン「RVC」の精度と学習・変換速度が革命的。コナンの蝶ネクタイ的リアルタイムボイチェンも可能(CloseBox)- 2023年4月9日 | TechnoEgde
*NVIDIA RTX 4080(GPUメモリ16GB)搭載パソコンで作成されたと思われる歌声の動画も掲載されています

では、 

・GPUメモリ(VRAM) 6GB以上

という認識でいましたが、これまでに挙がっているRVC WebUI関連の問題報告を調査していると

・GTX 1660 Super メモリ 6GBでInference(推論)の際にエラー(untimeError: CUDA out of memory)

出典:
性能の低いGPU向けの設定について #30 – 2023年5月:ddPn08/rvc-webui | GitHub

という報告をされている方もいるようでした。
その他に、GPUメモリ容量を考える上で参考となりそうな情報を調査してみると

・数秒x100ファイルのデータセットで学習させる際に、バッチサイズを変更することでどの程度GPUメモリを消費するのか?

について言及してくださっている方もいるようでしたので、おおまかな目安について以下の記事を参考にしてみてください。

GPUメモリ消費量の参考例:
従来の50倍速!「RVC」音声AIモデルをWebUIから学習を行い作成する方法 Windows用 | 経済的生活日誌
*NVIDIA GeForce RTX 3090(GPUメモリ24GB)の例

 

ちなみに、先日、Google ColaboratoryのRVC v2モデル対応版のチュートリアルコードで、1〜3秒の音声ファイル100個で100回学習させた際には

・バッチサイズ 20 → GPUメモリの消費量 12GB台
*GPUメモリ:NVIDIA Tesla T4 16GBの例

でした。
GPUメモリ消費量の参考例」のリンク先の情報と合わせると、ある程度の「データセットの規模」や「バッチサイズ」で学習させる際には、おそらく

・最低でも16GB

ないと、現状では厳しいのではないか?と推測されました。
GPUの容量が「16GB以上」あった方がよさそうですが、現在、GPUは高価ですので

・「16GB以上のどの程度の容量のGPUを購入するか?」

については、あとはご予算に応じて検討してみてください。

 

【④補足:CPUのメーカーについて】

CPUはどこのメーカーでも動くのだろうか?と疑問に持ちましたので調査してみると、

・CPU – AMD Ryzenでの実行例

出典:
モデル学習時のエラー #26 – 2023年5月:ddPn08/rvc-webui | GitHub

もあるようでしたので、とりあえずは

・CPUは「Intel」または「AMD Ryzen」

でも大丈夫そうでした。

 

 

【RVC WebUIのQ&A集:Google Colaboratoryの基礎知識編】

 

 

RVC WebUIのチュートリアル動画の通りに使う分にはGoogle Colaboratoryの無料版で大丈夫か?

 

 

以下に、

・この動画の通りに使う分には無料版が適用されてると考えてよろしいのでしょうか?
・仮に有料版を使う場合には、個人毎に有料版を購入する必要があるか?

について、簡単ではありますがまとめておきます。

 

【質問①】

「この動画の通りに使う分には無料版が適用されてると考えてよろしいのでしょうか?」
→(回答)
はい。
無料版で実行しています。

 

【質問②】
「仮に有料版を使う場合には、個人毎に有料版を購入する必要があるか?」

→(回答)
はい。
基本的には個人毎に有料版を購入する必要があると思われます。

尚、無料版と有料版の違いなどを知りたい場合には以下の記事

Colab Pro/Pro+/Pay As You Goとは? 無料版との違い、比較表 – 2022年10月更新 | ITmedia
2023年5月8日利用

が参考になると思います。
(注:2023年5月時点の金額の表記に違いがあります)

最新の金額などは公式のページを参照ください。

最適な Colab のプランを選択する | Google Colaboratory

 

 

RVC WebUIのGoogle Colaboratoryのプログラムで『GPUバックエンドに接続できません』と表示される

 

 

Google Colaboratoryをリセットしたりと、何回か繰り返してRVC WebUIのチュートリアルのプログラムを使用していると

・『GPUバックエンドに接続できません』

と表示されて、GPUが使えないことにまつわる、エラーが起きることがあります。
これは、Google Colaboratoryの無料枠の使用量上限を超えた場合や、利用者数の一時的な増加など、おそらく何かしらの理由で制限が入っている状態ですので、また、時間をあけて再度実行(例:12時間後など)してみてください。

 

 

Google DriveからGoogle Colaboratoryのファイルに入れたはずのデータが表示されず、詰む…

 

 

結論:
アクセス制限が自分のみになっていた。

 

【①Google Driveのアクセス制限の場合】

解決例としては、

・Google Driveの設定でアップロードしたファイルにアクセス制限がかかっている

可能性が考えられます。
特に、

・Google ColaboratoryでログインしているGoogleアカウント

と、

・Google Driveに許可を与えたGoogleアカウント

が違う場合、起こりやすいのではないかと思います。また、現在Google Colaboratoryにログインしているアカウント以外の、Googleアカウントにアクセス権が付与されている場合も考えられます。

そのため、一度、

・Google Drive上にアップロードしているファイルのアクセス権が、現在Google ColaboratoryにログインしているGoogleアカウントに付与されているか?

確認してみてください。

【追記:2023年6月19日】

Googleドライブ上で

・該当ファイルのアクセス権限を変更
*Googleドライブ:「該当ファイルの右端の点々をクリック→共有→一般的なアクセス:リンクを知っている全員」に変更

後に、Google Colaboratory上のファイル更新マークをクリックするとファイルが反映することも経験しました。

 

【②直接Google Colaboratoryにフォルダをアップロードする方法】

上記の方法では解決しない場合には、データセットフォルダを圧縮ファイルにして、直接Google Colaboratory上にアップロードさせる方法もあります。

尚、以下の手順は、ブラウザの種類によっては、実行できません。確認できた範囲では「FireFox」というブラウザではできないようでした。
Google Chromeというブラウザではできることを確認しています。

 

・手順1:
Google Colaboratoryでファイルマークをクリックし、ファイルを確認・操作できる状態にします。

 

・手順2:
作成したデータセット(今回は半角英数で「dataset」という名前をつけてください。
わからない場合には「」のdatasetというローマ字をコピー&ペーストしてフォルダの名前に反映させてください)のフォルダを圧縮ファイル(おそらく右クリック後に表示されるメニュー内に「圧縮」するなどの表記があると思います)にします。

 

手順3:
dataset.zip」という圧縮ファイルをGoogle Colaboratoryのファイル操作用の枠内にドラッグ&ドロップします。
アップロードが完了するまで時間がかかりますが待ちます。アップロード完了後にファイルに反映されない場合には、ファイルの更新マークをクリックしてください。

 

手順4:
Google Colaboratoryの上部メニュー内の「+ コード」をクリックします。
コードを入力できるようになりますので以下のコードをコピー&ペーストして実行します。

実行コード:
!unzip dataset.zip

コードを実行(三角マークをクリック)後に、ファイルの更新マークをクリックするとデータセットのフォルダが反映されるのではないかと思います。
尚、ボイスチェンジを試す音声ファイル(.mp3・.wav)は、そのままGoogle Colaboratoryのファイル操作用の枠内にドラッグ&ドロップすると反映されるのではないかと思います。

 

また、言葉ではイメージしにくい場合には、以下の動画を参照ください。
(圧縮ファイルのファイル名は違いますが、大まかなイメージは掴めるのではないかと思います)

【日本語 – 手書き編 #1】自作OCRプログラム用の学習済みモデルの作成(オリジナルデータセット)- Japanese handwritten character OCR : model(YouTube動画 by RehabC – デジタルで、遊ぶ。)

 

 

【RVC WebUIのQ&A集:データセット作成編 – Original Dataset】

 

 

RVC WebUIのデータセットは、「5分の音声ファイル1個」または「同じ音声ファイルで10秒刻みにして30個」だと、どちらの方が良いのか?

 

 

いくつかの情報を参照してみると、RVC WebUIでは

・5分の音声ファイル1個

よりも、

・同じ音声ファイルで10秒刻みにして30個

にすることが推奨されているようです。

参考:
Retrieval-based-Voice-Conversion(RVC)の使い方(更新終了) | rentry
2023年5月8日時点

【学習セット用意編】RVCを用いたリアルタイムボイスチェンジを1から解説してみる – omiz | note
2023年5月8日時点

【AI音声変換】Retrieval-based-Voice-Conversion(RVC)の使い方 | 電子ゴミ屋敷
2023年5月8日時点

 

【発展】

情報を調べてみると、音声合成(Text To Speech:TTS)のbarkというプログラムでは、

・約5~10秒の音声

だけで良いとの情報も見かけました・・・

参考:
barkについて:yasyune AI(音声)専用 – 2023年4月22日 | Twitter

すごいですね…

 

 

ボーカルリムーバー「UVR5」の機能だけが何度やってもエラーが出て使えなくて困っています

 

 

音楽の音源からボーカルを抽出できるボーカルリムーバー「UVR5」(Ultimate Vocal Remover v5)の機能は便利ですが、ちょっとクセがあるようです。
わかりやすいように記事や動画で使い方をまとめておきました。

 

【RVC WebUIの使い方】ボーカルリムーバー編:AIボイスチェンジャー用学習データセット作成のためのボーカルと音楽の分離

 

RVC WebUIのボーカルリムーバーの使い方
【RVC WebUIの使い方】ボーカルリムーバー編:AIボイスチェンジャー用学習データセット作成のためのボーカルと音楽の分離 

この機能が使えるようになるとボイスチェンジの幅が広がりそうですね。

 

 

RVC WebUIのデータセットの作成は、楽曲の歌声を使う場合には、どうすればいいのでしょうか?

 

 

ボーカルリムーバーで、人の声(ボーカル)を抽出できている状態(前提)ということで、以下に簡単ではありますが、

・RVC WebUIのデータセット作成の考え方
・音声ファイルを分割する方法
・学習の際の設定例

に関して、現時点で個人でわかる範囲ですがまとめさせていただきます。

 

【①RVC WebUIのデータセット作成の考え方】

RVC WebUIに関係しそうなデータセットの作成について、いくつかの情報を調べてみると、例として

・5分の音声ファイル1個

よりも、

・5分(300秒)の音声ファイル1個を10秒刻みにして30個(計300秒)

にすることが推奨されているようです。

 

【②音声ファイルを分割する方法】

抽出した人の声の音声ファイルを分割する方法は、いくつかあるようです。

【無料アプリ】
音声ファイルの分割は「Audacity」という無料アプリを使っている方が多い印象を受けます。

参考記事
Windows編:
【ラベルトラック】Audacityで音声を分割して書き出す方法! | Aprico

Mac編:
超簡単!Audacityで音源を分割する方法【2020年版:Mac】| Oto Gate

 

【プログラミングで分割】

Pythonプログラミングの環境構築方法がわかるようでしたら以下のプログラムなども参考になるかと思います。

発話分割プログラム例①:
Pythonを用いた発話分割【AIボイスチェンジャーの学習で役立つ】| ジコログ

発話分割プログラム例②:
「teftef6220/Voice_Separation_and_Selection」のアップデート情報:teftef – 2023年4月9日 | Twitter

 

【③学習の際の設定例】

学習をさせるステップの「Train:Step1」「Train:Step 2b」の設定を以下のようにします。

・模型是否带音高指导(唱歌一定要, 语音可以不要):是
(モデルにピッチ – 音高ガイドが含まれるか?歌唱は必須・音声は任意)

・Number of CPU processes used for pitch extraction:2
(ピッチ抽出に使用されるCPUプロセス数の設定)
*一例

Select pitch extraction algorithm: Use ‘pm’ for faster processing of singing voice, ‘dio’ for high-quality speech but slower processing, and ‘harvest’ for the best quality but slowest processing.:harvest
(ピッチ抽出アルゴリズムの設定 歌声の処理を高速化するには「pm」を使用。高品質の音声を処理するには「dio」を使用(低速)。最高の品質で処理をするには「harvest」を使用。ただ最も処理が遅くなります。)
*一例

作成した学習モデル(pthファイル)を使って、他の楽曲の歌唱の声を変更したい場合には、

・ボーカルリームーバーで楽曲からボーカル抽出・楽器演奏の分離

した音声ファイルをRVC WebUIでボイスチェンジ後に、楽器演奏の音声と合わせると、ボイスチェンジした楽曲になるのではないかと思います。

 

 

【RVC WebUIのQ&A集:起動編】

 

 

RVC WebUIを久し振りに使おうとしたら起動できない…

 

 

プログラムは日々開発が進んでいたり(バグを含む)、Google Colaboratory上の各種ライブラリのバージョンなどが変更となり、エラーが出やすいですので、

・以前はできたが、で久し振りに使ってみたら使えない…

ということが多々あります。
そのため、基本的に、このチャンネルで公開させていただいているGoogle Colaboratoryのチュートリアルコードは、適宜エラーが出ないように修正していますので、最新のものを使うようにしてみてください。

手順は簡単で、以下のGoogle Colaboratoryのチュートリアルコードのリンク先で、新たに

・「ドライブにコピーして保存

を実行後に、一連のプログラムを実行してみてください。

RVC v1モデル対応版(この動画のチュートリアルコード):
RVC-WebUI-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

 

また、最新版のRVC v2モデル対応版のRVC WebUIのチュートリアルコードとチュートリアル動画も公開しておきましたので、必要に応じて参照いただけますと幸いです。

・RVC v2モデル対応のRVC WebUIのチュートリアルコード:
v2-RVC-WebUI-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

・RVC v2モデル対応のRVC WebUIのチュートリアル動画:
【現代の魔法】RVC v2モデル対応版 – RVC WebUIの使い方 RVC v2 model supported RVC WebUI – AI Voice Changer Tutorial by RehabC – デジタルで、遊ぶ。(YouTube動画)
公開日:2023年6月11日
視聴時間:39分26秒
*この記事の上部に掲載させていただいている初代チュートリアル動画にいただいた視聴者の皆さんからのフィードバックを参考にチュートリアルを作成したところ、長編になりました…
お時間のある時にご活用いただけますと幸いです。

 

 

【手順3:RVC WebUIのリポジトリをクローン】で「Error: Destination path ‘/content/〜.zip’ already exists」が出力される

 

 

【2024年8月14日】

学習はできるが、モデル推論時に

・Error×:Connection errored out.

となるという報告をいただきました。

 

詳しく情報を教えていただいたところ

【手順3:RVC WebUIのリポジトリをクローン】で「Error: Destination path ‘/content/〜.zip’ already exists」が出力されていた

ということでした。

 

報告いただいた現象を調査した結果

・【手順3:RVC WebUIのリポジトリをクローン】を2回実行した際に「Error: Destination path ‘/content/〜.zip’ already exists」(「〜.zip」ファイルは既に存在しています」)

が出力されることがわかりました。
上記の出力があった場合

・本来のファイル構造ではなくなる

現象を確認できましたので、ファイル構造をうまく参照できずにエラーが出る可能性が考えられました。
そのため

・【手順3:RVC WebUIのリポジトリをクローン】は1回だけ実行

するようにしてください。
もし

・「Error: Destination path ‘/content/〜.zip’ already exists」

が表示された場合には

・「ランタイム – ランタイムを接続解除して削除」

を実行し、Google Colaboratoryをリセットした状態(初期状態)で手順1からコードを1つずつ実行してみてください。

 

 

【手順10:RVC WebUIの起動】でGradioの共有リンク先で、グルグル回ったままでタイムアウトしてしまう

 

 

【2024年2月7日時点の情報】

2024年2月7日0時19分時点でGradioのサーバーの稼働状況

Service status – Share Links | Gradio
(Gradioの共有リンクのサーバーの稼働状況)

をチェックしてみると

・Share Links is down
(共有リンクはダウンしています)

と表示されていました。
今後、適宜、リンク先で状況を確認していただき、サーバーが

・Share Links is operational
(共有リンクが使用可能)

という表示になり、正常にサーバーが稼働されていることを確認後に再度実行してみてください。

 

 

RVC WebUIのエラー&対応例 – MessageError: Error: credential propagation was unsuccessful

 

 

【2024年2月6日時点の情報】

【手順7】でGoogle Driveをマウントする際に

MessageError: Error: credential propagation was unsuccessful

というエラーが出力されてGoogle Driveをマウントできない事例の報告がありました。
エラーに関連する情報を調べてみると

Credential Propagation Unsuccessful in Google Colab since January 31, 2024 | DevCodeF1.com
(2024年1月31日以降、Google Colab で認証情報の伝達が失敗する)

Credential propagation was unsuccessful #4343 – googlecolab/colabtools | GitHub
(資格情報の伝達に失敗しました)

という情報を見つけました。
要点としては、

・2024年1月31日以降にGoogle Driveをマウントしようとすると「MessageError: Error: credential propagation was unsuccessful」となる人がいる

・2024年2月1日時点(米国時間)ではGoogleにより調査中

とのことでした。
2024年2月6日時点で試しに、Google Driveのマウントを実行

実行コード:
from google.colab import drive
drive.mount(‘/content/drive’)

してみたところ、

・「Google Colaboratoryに接続中のGoogleアカウント」と同じ「Googleアカウント」を選択し、許可を実行

すると普通に使えました。
おそらくですが、今後、時間と共に解決する問題ではないかと思いますので、上述の方法でもエラーとなる場合には、しばらくの期間をあけてから再実行してみてください。

【補足】

Credential Propagation Unsuccessful in Google Colab since January 31, 2024」の記事では、代替手段として「gdown」と言うライブラリを使って、Google Driveの共有ファイルを使う方法が提案されていました。

 

 

RVC WebUIのチュートリアルの起動編「手順10」で、起動するためのURLに辿り着けない…

 

 

自分もGoogle Colaboratoryを使用している際に、もう一度起動させようとしたところ同じ事象を経験したことがあります。
おそらくですが、

・Google ColaboratoryのGPU使用制限などが作動

しているのかもしれません。

・「12間以上空けてから再度実行」

してみてください。

おそらく、無料枠でGPUを使う方が増えてきているので、制限がかかりやすくなってきているのではないかと思います。
2023年4月には、「Stable Diffusion」という画像生成系のAIプログラムが、あまりにも使われるのでGoogle Colaboratoryの無料枠に制限が設けられたようです。

また、仕事や学校などがお休みの方が多くなる時期には、機械学習プログラムを使う方も増えると思われ、制限が発動しやすくなるのではないかと推測しています。

その他にも、

・Gradioに何かしらの不具合(一例:ダウンしている)

が起こっている可能性も考えられるようです。
こちらも、時間をあけて再度プログラムを実行してみてください。

 

 

【RVC WebUIのQ&A集:学習編 – Train】

 

 

RVC WebUIのエラー&対応例 – warnings.warn(‘resource_tracker: There appear to be %d

 

 

学習を実施後に、

・/usr/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 20 leaked semaphore objects to clean up at shutdown
warnings.warn(‘resource_tracker: There appear to be %d

という警告が表示されますが、学習はできているようでしたので、次の手順に進んでみてください。

 

 

RVC WebUIのエラー&対応例 – ValueError: need at least one array to concatenate

 

 

Google Colaboratoryの無料枠で、RVC WebUIのチュートリアルのプログラムを使用している際に

・『GPUバックエンドに接続できません』

と表示された場合には、ランタイムの設定でGPUを選択していても、実際にはGPUを使えない状態になっています。
GPUが認識できていない状態でRVC WebUIで学習を実行すると

・ValueError: need at least one array to concatenate

というエラーが出力されるようです。
また、ローカル環境(自分のパソコン環境)でRVC WebUIを実行されている方の場合には、2023年4月時点では、NVIDIA製のGPUを使用していないと

・ValueError: need at least one array to concatenate

というエラーとなるようです。

 

【追記:2023年6月15日】

【①GPU制限について】

GPU制限に関してですが、実行中にブラウザの左下に一時的に

・警告: GPU ランタイムに接続していますが、GPU は使用されていません

と表示されたり、一度接続を解除後に接続を開始した際などに

・GPUバックエンドに接続できません。
:Colabでの使用量上限に達したため、現在GPUに接続できません。

などと表示されることを経験しています。

 

【②ValueError: need at least one array to concatenateのその他のエラー要因例】

また、

・ValueError: need at least one array to concatenate

に関して再調査してみたところ、他にも様々な要因がありそうでした。
一例としては、

・トレーニングフォルダ名に空白や.があると良くない
*トレーニングフォルダ名(データセットフォルダ名:チュートリアルでは「datset」)
参考:
一連のやり取りを参照ください x – 2023年4月25日 | Twitter

という報告もあるようでした。そのため、念の為、データセットの

・フォルダ名
・ファイル名

の中に

・空白や「.」
*注「.」は例として「a,sound.wav」のような状態を「sound.wav」に修正するの意

がないか?チェックしてみてください。
その他にも、

・パスの指定ミス
参考:
python 音声認識 ValueErrorの解決 | teratail

でも報告されているようです。
その他にも…

Issues:_array_function_ の内部構造 #474 – RVC-Project/Retrieval-based-Voice-Conversion-WebUI | GitHub

一筋縄ではいかないようです…

 

【追記:2023年6月16日 – ValueError: need at least one array to concatenateについて】

・Input training folder path
(学習させるデータセットフォルダのパスを指定)

のパスが間違っている(または参照できない。または「datase t」などの文字の間に空欄がある名前にしている場合にエラーを確認できました)場合にエラー出力となるようでした。

 

【追記:2023年6月18日 – ValueError: need at least one array to concatenateについて】

学習させるデータセットの音声ファイルを

・「WAV形式」から「MP3形式」に変更

したら、エラーを回避できた方もいるようでした。
どう対応しても

・ValueError: need at least one array to concatenate

が出てしまう方は、ファイル形式を変更することも検討してみてください。

 

【追記:2023年6月22日】

RVC v2モデル対応版のチュートリアルコードで動作検証中に

・ValueError: need at least one array to concatenate

を学習実行後の段階で自分も同じエラーに遭遇しました。

上記の表示が出た後も、その度にエラー出力が出ますが何回か学習できたのですが、その後、学習の設定中にRVC WebUI上の表示で

・Error:Connection errored out.
(エラー:接続が切断されました)

となり起動中のRVC WebUIは使えなくなりました。

対応としては、

・【手順10:RVC WebUIの起動】

のコードを停止し、再度実行したところ、新しく出力されたPublic URLでは普通にエラーなく使えるようになっていました。

一連の事象から考えられることとして

・GoogleまたはGradio

のインターネット環境が不安定になっている時にも

・ValueError: need at least one array to concatenate

のエラーが出力される可能性も秘めているのではないかと推測されました。

 

 

RVC WebUIのエラー&対応例 – No interface is running right now

 

 

「No interface is running right now」関連の情報を調べたところ

・Gradioに何かしらの不具合(一例:ダウンしている)

が起こっている可能性が考えられるようです。

 

 

RVC WebUIのエラー&対応例 – One click trainingを押してもerrorとなる

 

 

Train – 学習:Step1」の「Input experiment name:」(出力される学習モデルの名前)に「アンダーバー( _ )」を入れているとエラーとなるようです。
そのため名前をつける際には「アンダーバー( _ )」を消して、半角英数の短い名前にするとうまくいくかもしれません。

 

 

RVC WebUIのエラー&対応例 – One click training後にweightsフォルダ内に学習モデル(pthファイル)が出力されません

 

 

問題報告(Issues)と同じ現象でしょうか?

‘Process data’ function in ‘Train’ won’t work. Any ideas? #592 – RVC-Project/Retrieval-based-Voice-Conversion-WebUI:2023年6月 | GitHub
(「トレーニング」の「データの処理」機能は動作しません。何か案は? )

上記のリンク先では、2023年6月23日時点では、まだ回答がされていませんが、確認事項としては、データセットのフォルダ名や音声ファイル名に

・スペース(空欄)
*データセットフォルダ名の例:「data set」× → 「dataset」○
*音声ファイル名の例:「audio 1.wav」× → 「audio1.wav」○

が含まれていると何かしらのエラーとなるようですので、まずは、データセットの名前をご確認ください。
上記の問題報告をされている方のデータセットフォルダ名は

・「training data sets」

というスペースを入れた名前にしているため、うまくいかないのではないかと推測されます。

 

上記の対応ができていても学習モデル(pthファイル)が出力されないようでしたら、

・「One-click training」
(ワンクリックトレーニング)

の何かしらの不具合の兼ね合いがあるかもしれません。
対応例としては、「One-click training」後に学習モデル(pthファイル)が出力されないことを確認してから、RVC WebUIの「Train – 学習」の画面の「One-click training」の左側にある

・「Train model.」

をクリックしてみてください。

 

 

RVC WebUIで3〜4分くらいのファイル10個程度で100回学習させると約1.5時間ほどかかる。もっと早くする方法は?

 

 

機械学習の学習時間は悩ましい問題ですね…
簡単ではありますが、現状で個人でわかる範囲の情報になりますが

・機械学習領域の学習の歴史
・RVC WebUIでの学習時間について
・さらなる高みを目指す場合の参考例

についてまとめておきます。

 

【①機械学習領域の学習の歴史】

前提として、「事前学習モデル」(Pre-Trained Model)を使用する考え方が登場する前には、音声AIに限らず、画像、強化学習AIなどで実用的な学習モデルを作成するには、ハイスペックパソコンでも、とてつもない時間とお金をかけて学習させていた領域ですので、1.5時間ほどの時間がかかるのは、AIの歴史を振り返ると実は少ない時間に該当するのかもしれません…

 

【②RVC WebUIでの学習時間について】

RVC WebUIでの学習時間に関しては、パソコンのスペック(CPU・メモリ・ハードディスクなど)、特にGPUの性能によって左右されますので、なんとも言えませんが、情報を公開してくださっている方もいましたので、以下参考値です。

 

例①
・音声データ:40分ほど
・学習時間:10分ほど
・GPU:NVIDIA GeForce RTX 3090

出典:
【AIボイスチェンジャー】RVCによる音声変換 | ジコログ

 

例②
・音声データ:1時間
・学習時間:21分
・GPU:NVIDIA GeForce RTX 4080

出典
AIボイチェン「RVC」の精度と学習・変換速度が革命的。コナンの蝶ネクタイ的リアルタイムボイチェンも可能(CloseBox)| TechnoEgde

 

いずれもローカル環境(自分のパソコン環境)で実行された結果のようです。
ただ、現時点で調べられた範囲の情報では、RVCの登場で、格段に学習時間が短くなっているようです。

以下の記事を確認すると

参考:
Google Colaboratory入門 Colab Pro/Pro+/Pay As You Goとは?無料版との違い、比較表 – 2022年10月 | ITmedia
2023年5月7日利用

Google Colaboratoryの無料枠の難点として、

・GPUを使う場合、高速なGPUは割り当てられない

とのことですので、さらなるスピードを求める場合には、課金してより高性能のGPUなどを利用することになるのではないかと思います。
(実のところ、Google Colaboratoryの無料枠で、GPUを使って簡単に試行錯誤できるだけでもありがたい現状です)

 

【③さらなる高みを目指す場合の参考例】

学習回数や高品質モデルの作成に関してですが、以下の記事などが参考になるのではないかと思います。

参考:
rvc-webuiの更新で多分最高品質になった学習方法 – だだっこぱんだ | PIXIV FANBOX

だだっこぱんださん版のRVC-WebUIをGoogle Colaboratoryで試せるコード
ddPn08/rvc-webui-colab | GitHub

要点としては、だだっこぱんださん版のRVC-WebUIの推奨設定案では、

・学習回数は数十回(15〜30回)程度

を想定しているようでした。

 

【補足】

2023年4月末に日本語に特化した事前学習モデルも公開されているようです。

参考:
rinna社が日本語の音声に特化した事前学習モデルHuBERTをApache-2.0 ライセンスでリリース – yasyune AI(音声)専用 2023年4月28日 | Twitter

 

その後、だだっこぱんださん版のRVC-WebUI(ddPn08/rvc-webui)が「japanese-hubert-baseに対応」のアップデートを実施されたようです。

参考:
hetima – 2023年5月1日 | Twitter

 

また、オリジナルのRVC WebUIで使われていると思われる「contentvec」と「Japanese-hubert-base」を比較した音声を公開してくださっている方もいるようでしたので、必要に応じて参照してみてください。

参考:
RVCでrinnaの「japanese-hubert-base」検証音声 – hetima 2023年4月29日 | Twitter

 

 

RVC WebUIで2時間くらいしか使ってないのに「GPUバッググラウンドが接続できません」とGoogle Colaboratoryに言われる

 

 

情報を調べてみると波があるようです。

使用経験談としては、

・数時間〜12時間

の範囲があるとのことでした。
おそらく、無料枠でGPUを使う方が増えてきているので、制限がかかりやすくなってきているのではないかと思います。
2023年4月には、「Stable Diffusion」という画像生成系のAIプログラムが、あまりにも使われるのでGoogle Colaboratoryの無料枠に制限が設けられたようです。
こういったことも、今回2時間程度しか使っていないのに制限がかかった要因の1つではないかと推測されます。

 

 

RVC WebUIで学習中にGoogle Colaboratoryのディスク容量上限に達してしまい学習が完了しない

 

 

チュートリアルでは、

・Save frequency (save_every_epoch):5
(学習の状況の保存頻度)

にしていますが、例として300回の学習の際には「60回」分の経過の学習ファイルが保存されてしまいます。
ここの数値を大きくするとGoogle Colaboratoryの無料枠の容量がMAXになるのを回避できるかもしれません。
(定期的に保存するファイルが減るため)

一例:
・Save frequency (save_every_epoch):50
*WebUI上での上限は50のようです。

【追記:Save frequencyの上限を再設定する方法】
Google Colaboratory上のチュートリアルプログラムの「手順3」で「Retrieval-based-Voice-Conversion-WebUI」をGitHubからクローン後に、Google Colaboratoryのファイル機能を起動し、「Retrieval-based-Voice-Conversion-WebUI」フォルダ内(直下)にある

・infer-web.py

のファイルをダブルクリックします。
ファイル内のコードを変更できるようになるので、562行目(Google Colaboratory上でファイルを開いた際の表示:注 – 2023年5月15日確認時点では、プログラムのコードが改変され「save_epoch10 = gr.Slider」が「1302行目」にあるようでした)

注:2023年5月15日確認時点の表示
注 - 2023年5月15日確認時点では、プログラムのコードが改変され「save_epoch10 = gr.Slider」が「1302行目」にあるようでした - RVC WebUI学習モデルの保存頻度上限の変更

・save_epoch10 = gr.Slider(minimum=0, maximum=50, step=1, label=i18n(“保存频率save_every_epoch”), value=5,interactive=True)

のコード内の

・maximum=50

の「50」という値をお好みの数字に変更します。
その後、ファイルの変更情報を反映させるために

Windowsの例
・Ctrlキー+Sキー(「Ctrlキー」を押し続けながら「Sキー」を押す)

Macの例
・commandキー + Sキー(「commandキー」を押し続けながら「Sキー」を押す)

でファイルを保存します。自信がなければ、Google Colaboratory上の上部メニュー内の

・ファイル – 保存

をクリックして、現在の状況を反映させます。
その後、一連の手順を実行し、ファイルが最新情報に更新された状態で「手順10」を実行し、RVC WebUIを起動させると、

・Save frequency (save_every_epoch):

の上限を指定した数値に設定することができます。

 

【文字情報だけでは操作方法が分からない場合】

プログラミングに慣れていない方は、上述の内容は意味不明ではないかと思いますので、動画で解説しておきました。
必要に応じて以下の記事に掲載しているチュートリアル動画が参考になることがありましたら幸いです。

【RVC WebUIの使い方】学習の保存頻度上限を変更編:Save frequencyを変えてColabのディスク容量上限対策

【RVC WebUIの使い方】学習の保存頻度上限を変更編:Save frequencyを変えてGoogle Colaboratoryの無料枠のディスク容量上限対策

 

 

RVC WebUIで二回目以降、別の音声で学習させた時にpthファイルが出力されない…

 

 

【Train – Step:1】・【Train – Step:2a】

・Input experiment name:
(出力される学習モデルの名前)

・Please specify speaker ID:
(識別IDの設定)

を一回目の学習モデル(pthファイル)で設定した時と、違う設定にされましたでしょうか?

例:
一回目の学習の設定
・Input experiment name:test1
(出力される学習モデルの名前)

・Please specify speaker ID:0
(識別IDの設定)

二回目の学習の設定
・Input experiment name:test2
(出力される学習モデルの名前)

・Please specify speaker ID:1
(識別IDの設定)

もし、一回目と二回目の設定を変えていない場合には、上書き保存されている可能性も考えられるのではないかと思います。
上記の対応でもダメな場合には、

・ランタイムをリセット

して、再度、一連のプログラムを実行後にRVC WebUIを起動してみてください。

【補足】
RVC WebUIを起動中は、ファイルの更新マークをクリックしても反映が遅い場合もあります。
また、「weights」フォルダを開いた状態(中のファイルがColaboratory上で見える状態)にしていると、見かけ上、反映されない場合も経験しています。
そういった場合には、ファイルの更新マークをクリック後に、一度「weights」フォルダを閉じた状態(中のファイルがColaboratory上で見えない状態)にして、再度「weights」フォルダを開いた状態にしてみてください。

 

 

RVC WebUIで一度学習を終えたモデルをもっと学習させたい(学習の再開方法)。
また、どうすると効率や結果が良くなるのか?

 

 

現状で個人でわかる範囲の情報になりますが、以下の

・学習の再開について
・一度学習を終えたモデルをもっと学習させたい場合について
・妥協プランについて
・どのようにするのが効率や結果が良くなるかも解説について
・さらなる高みを目指したい場合

についてまとめておきます。

 

【①学習の再開について】

現時点でわかる範囲の情報では、

・学習の再開

という概念はRVC WebUIにはなさそうです

* あるようでした…ログを活用することで、学習を再開できるようでした。
詳細は、もう少し読み進んだところに記載してある2023年6月3日追記「【追記:2023年6月3日 – 学習の再開に関して】」を参照ください。

 

【②一度学習を終えたモデルをもっと学習させたい場合について】

・一度学習を終えたモデルをもっと学習させたい場合

については、代替機能?として

・ckpt processing
(ckpt処理)

の機能のところに

・模型融合, 可用于测试音色融合
(音の融合をテストするために使用できるモデル融合)

という、2つの学習モデルを融合(フュージョン)させて新たな学習モデルを作る機能はあります。ただ、学習の再開という用途では、フュージョンさせる意味はないかと思いますので悲しいところです…,

【追記:2023年6月3日 – 学習の再開に関して】

最終的に出力された学習モデル(pth形式ファイル)以外にも、RVC WebUIではチェックポイントとして、ログが出力できるようになっています。
その後、知りましたが….
ログの情報を活用すると、学習の一時中断や、途中から学習を再開させることもできるようでした。

【RVC WebUIの使い方】学習の一時中断と途中からの再開

【RVC WebUIの使い方】学習の一時中断と途中からの再開 – 学習ログ活用術

 

【③妥協プランについて】

RVC WebUIの機能として、学習「Train:Step3」の設定

・Save frequency (save_every_epoch):
(学習の状況の保存頻度)

で学習途中の学習モデルのファイルを保存する機能があります。
そのため、妥協案としては、

・最終結果の「学習モデル」と「途中経過の学習モデル」を比べる

ことで、どの段階の学習回数が最適か?を検証することはできるのではないかと思います。

参考までに、学習の途中経過のファイルは、「Retrieval-based-Voice-Conversion-WebUI」フォルダの

・「logs」フォルダ内

に「Train:Step1」の

・Input experiment name:
(出力される学習モデルの名前)

で設定した名前(動画では「amitaro」)のフォルダに

・D_〜.pth
・G_〜.pth

*「〜」の数字が小さいほど学習初期の学習モデル

などの名前で保存されます。
上記の「.pth」というファイルを、

・「weights」フォルダ内

に入れる(ドラッグ&ドロップする)と、モデル推論「Model inference」の

・Refresh timbre list
(学習モデルのリストを更新する)

ボタンをクリックすると選択できるようになります。
学習させた

・Please select a speaker id:
(識別ID)

・Feature search database file path:
(FEATUREサーチパスを設定)

・Feature file path:
(FEATUREファイルパスを設定)

は最終的に出力された学習モデルと同じ設定にした状態で

・Inferencing timbre:
(音色の推論)

で「D_〜.pth」「G_〜.pth」を指定して
*試した範囲では「D or G」のどちらも同じような変換結果に感じました

・Conversion
(変換)

をクリックすると、途中経過の学習モデルでボイスチェンジすることもできます。

 

【④どのようにするのが効率や結果が良くなるかも解説について]

学習させるデータセットはそのままで、チュートリアルのRVC WebUIのコードで結果をよくする方法論としては、学習「Train:Step1」の設定

・模型是否带音高指导(唱歌一定要, 语音可以不要):
(モデルにピッチ – 音高ガイドが含まれるか?歌唱は必須・音声は任意)

を「」にすると良いようです。
特にVC Clientでのリアルタイムボイスチェンジの際には、音質を重視される方は「」が推奨されるようです。反面、リアルタイムボイスチェンジ時にパソコンに負荷をかけるようですので、パソコンへの負荷をかけたくない場合には、「」を選ぶようにします。
また、RVC WebUI上での表記では

・pitch extraction algorithm:
(ピッチ抽出アルゴリズム)

を選択する際に品質重視の場合には

・harvest

を選択することを推奨しているようです。

 

【⑤さらなる高みを目指したい場合]

学習回数や高品質モデルの作成に関して考える上で、以下の記事などが参考になるのではないかと思います。

参考:
rvc-webuiの更新で多分最高品質になった学習方法 – だだっこぱんだ | PIXIV FANBOX

だだっこぱんださん版のRVC-WebUIをGoogle Colaboratoryで試せるコード
ddPn08/rvc-webui-colab

要点としては、独自の設定次第によっては、だだっこぱんださん版のRVC-WebUIでは、

・学習回数は数十回(15〜30回)程度

で、高品質モデルが作成できる可能性を秘めているようです。

 

【補足】

2023年4月末に日本語に特化した事前学習モデルも公開されているようです。

参考:
rinna社が日本語の音声に特化した事前学習モデルHuBERTをApache-2.0 ライセンスでリリース – yasyune AI(音声)専用 2023年4月28日 | Twitter

 

その後、だだっこぱんださん版のRVC-WebUI(ddPn08/rvc-webui)が「japanese-hubert-baseに対応」のアップデートを実施されたようです。

参考:
hetima – 2023年5月1日 | Twitter

 

また、オリジナルのRVC WebUIで使われていると思われる「contentvec」と「Japanese-hubert-base」を比較した音声を公開してくださっている方もいるようでしたので、必要に応じて参照してみてください。

参考:
RVCでrinnaの「japanese-hubert-base」検証音声 – hetima 2023年4月29日 | Twitter

 

 

Google ColaboratoryでRVC WebUIで学習モデルを作成中に処理が中断してしまう

 

 

Google Colaboratoryを無料枠で学習させる際に、データセットの規模が大きい場合

✔︎(メモリ12GBでは)学習データが大きすぎてメモリが足りなくなっている

可能性が考えられます。
対応例としては、

 

【対応できること①:データセットの無音部分のカット】

もしデータセットの音声データ内の「無音」部分が残存している場合には、すべて消すようにしてみてください。
試した範囲では

・WAV形式のファイルの場合1時間の無音ファイルは「1GB」

あるようでした。

 

【対応できること②:batch-sizeの変更】

学習を実行する際に「グラフィックボードのVRAM不足」に関する対応例として

✔︎ batch-sizeの値を現在の値よりも小さくする

対応をするという考え方もあるようです。

 

【まとめ】

・Google Colaboratoryの有料版にしても、データセットの規模が大きい場合には思い通りの結果が得られない(学習が途中で止まる)かもしれない。

・データセットの音声の無音部分を極力カットし、学習時のbatch-sizeの値を小さくした状態で、Google Colaboratoryの無料版で再試行してみる。
それでもダメなら、データセットの規模(音声ファイルの総時間)を小さくし、無料版で学習できる限界点を探してみる。

 

 

RVC WebUIで学習後に「インデックスファイル」と「npy」ファイルが出力されない

 

 

学習後(train)に、動画のように、

・全流程结束!
(全工程完了)

が出ていれば、基本的には学習ができていると思います。
表示が出ていることを確認できたら、何度かGoogle Colaboratory上のファイルの更新マークをクリックしてみてください。
更新を実施後に、開いているフォルダ構造を一度閉じた状態にして、再度開くと反映される場合があることも経験しています。

自分がGoogle Colaboratory上でこの動画のチュートリアルコードを実行した感じでは、「インデックス(index)ファイル」と「npy」ファイルが出力されない事象を再現できませんでしたが、オリジナルのRVC WebUIのissues(問題)でも2023年4月29日時点で、インデックスファイルが出力されなかった事例も報告されているようでした。

問題報告:RVC-Project/Retrieval-based-Voice-Conversion-WebUI
[Bug] Model Files Fail to Train #204 – RVC-Project/Retrieval-based-Voice-Conversion-WebUI | GitHub

公開してくださっているログをみた感じでは、Google Colaboratoryの環境ではなく、ローカル環境(自分のパソコン環境)で実行されている方のようです。
報告されている方は、以前はできたのに…とのことでした。

 

【追記:2023年6月20日】

データセットの規模などによりインデックスファイル(added_〜.index)が出力されない場合もあるようです。
対応例としては、「Train – 学習」のところで

・「Train feature index」ボタンをクリック

インデックスファイルなどを生成してみてください。

 

 

RVC WebUIでボイスチェンジを「歌声」に反映させたい時の手順

 

 

チュートリアルでは、

・模型是否带音高指导(唱歌一定要, 语音可以不要):否
(モデルにピッチ – 音高ガイドが含まれるか?歌唱は必須・音声は任意)
*この設定では「ピッチレス」という設定になるようです

にしていますが、歌声の場合には「」にするようです。
ここを「」にすると

・Number of CPU processes used for pitch extraction:2
(ピッチ抽出に使用されるCPUプロセス数の設定)
*設定は一例。おそらく初期設定のままでいいです。

・Select pitch extraction algorithm: Use ‘pm’ for faster processing of singing voice, ‘dio’ for high-quality speech but slower processing, and ‘harvest’ for the best quality but slowest processing.:pm
(ピッチ抽出アルゴリズムの設定 歌声の処理を高速化するには「pm」を使用。高品質の音声を処理するには「dio」を使用(低速)。最高の品質で処理をするには「harvest」を使用。ただ最も処理が遅くなります。)
*設定は一例。まずは「pm」を試してみて、colabのギガがMAXにならなければ「harvest」も検討してみてください。

の設定をする必要があります。

 

 

【RVC WebUIのQ&A集:モデル推論編 – Model inference】

 

 

RVC WebUIのエラー&対応例 – モデル推論時のよくあるミスとは?

 

 

【2024年8月15日時点】

モデル推論を実行する際に

・機械側(RVC WebUI・Google Colaboraotry)が理解しにくい、または不具合の生じる事象

がいくつかあります。
一例としては

・モデル推論(音声変換)する音声が長すぎて処理を完了できなかった

時にも「connection errored out」のエラーが出ることも経験したことがあります。
その際には、音声変換する音声ファイルを短くすると、処理が完了するようでした。

 

その他に機械側が理解しにくい事象として

・ファイル名に半角スペースの空白が入っている
例:「audio 1.wav」(「o」と「1」の間にスペースが入っています)

場合にもエラーとなるかもしれません。
モデル推論したい音声ファイルは、基本的には

・半角英数で短い名前
例:「audio.wav
パスの例:「/content/drive/MyDrive/audio.wav
*パスの中にも「日本語」や「全角の文字」「スペース」が含まれないようにします

にするといいかもしれません。

 

 

RVC WebUIのエラー&対応例 – 推論中に Connection errored out となる

 

 

【2024年9月6日時点】

1年前に実行した際には

・4〜5分程度の音源

でもボイスチェンジできたので4〜5分の音源で推論を実行されていた際に

・Connection errored out.
(接続がエラーとなりました)

に遭遇したようです。
対応例としては

・ボイスチェンジ(推論)させたい音源を「1分」程度にする

ということのようでした。

 

 

RVC WebUIのエラー&対応例 – AttributeError: ‘NoneType’ object has no attribute ‘dtype’

 

 

(2023年5月29日更新版以前のサンプルコードで確認)

Model inference:モデル推論」の

・Enter the path of the audio file to be processed (the default is the correct format example)
(処理する音声ファイルのパスを入力します – デフォルトは正しい形式の例です)

で、

・音声ファイルのパス(動画では「/content/drive/MyDrive/originalvoice.wav」を指定)を間違えている
・音声ファイル名を間違えている

などで、変換する音声ファイルを認識できていない場合などに

・AttributeError: ‘NoneType’ object has no attribute ‘dtype’

というエラーが発生するようでした。
そのため、再度、音声ファイルのパスをGoogle Colaboratory上でパスをコピーし、該当箇所に貼り付けて、再度「Convert」(変換)を実施してみてください。

 

 

RVC WebUIのエラー&対応例 – AttributeError: ‘NoneType’ object has no attribute ‘tobytes’

 

 

2023年5月29日更新版のサンプルコードで確認したところ、

・Inferencing timbre(作成した学習モデルの選択)
Enter the path of the audio file to be processed(音声変換したい音声ファイルの指定)

のどちらかを未記入や、指定するファイルへのパスが間違っている場合に、

・AttributeError: ‘NoneType’ object has no attribute ‘tobytes’

のエラーを再現できました。
そのため、

①学習モデルを選択できているか?
②音声変換したい音声ファイルが指定できているか?

動画の手順を参考に確認していただき、再度実行してみてください。

 

 

RVC WebUIのエラー&対応例 – Feature search database file path(index形式ファイル)のファイルが出力されていない…

 

 

学習自体ができたかどうかは、

・RVC WebUI上の出力:
all processes have been completed!
(全プロセス終了!)

・Google Colaboratory上の出力:
Training is done. The program is closed.
(学習が実行されました。プログラムは終了しました)

などと出力できていれば学習はできているようです。
上記の出力が確認できた状態であれば、RVC WebUI公式のQ&Aによると

Q2:「One-click training」後にインデックスファイルが見つかりません。

One-click training」後に、新たに作成されたインデックスファイルが表示されないのは、学習のセットが大きすぎてインデックスの追加が停止していることが原因である可能性があります。この問題は、バッチ処理を使用してインデックスを追加することで解決されており、インデックス追加時のメモリ過負荷の問題が解決されています。
一時的な解決策として、「Train feature index」ボタンをクリックして、インデックスファイルを生成してみてください。

とのことですので「Train – 学習」の設定のところにある

・Train feature index
(インデックスファイルの学習を実行)

のボタンをクリックして、インデックスファイルを生成してみてください。
もし、学習後に

・RVC WebUI上の出力:
all processes have been completed!
(全プロセス終了!)

・Google Colaboratory上の出力:
Training is done. The program is closed.
(学習が実行されました。プログラムは終了しました)

の出力が確認できた状態で、上述の対応でもダメな場合には、試しに「Model Inference – モデル推論」で

・Feature search database file path
(インデックスファイルのパスを指定)

の項目を未記入の状態にして、推論を実行してみてください。

 

 

RVC WebUIのエラー&対応例 – Feature file path(npy形式ファイル:特徴量ファイルのパス指定)の設定欄がない…

 

 

RVC WebUIが2023年4月に公開された当初には、以下のように

 

Model Inference:Feature file path - RVC WebUIの使い方

Feature file path:
(FEATUREファイルパスを設定・特徴量ファイルのパスを設定)
/content/Retrieval-based-Voice-Conversion-WebUI/logs/amitaro/total_fea.npy
(一例です)
*学習の際に「Input experiment name:」(出力される学習モデルの名前)を「amitaro」にした場合の例
*「Retrieval-based-Voice-Conversion-WebUI」のフォルダの「logs」内の「total_fea.npy」のファイルのパスをコピー後に入力欄に貼り付けてください

 

Feature file path」を設定する欄がありましたが、2023年5月から廃止されたようでした。
そのため、「npy形式ファイル」を指定しなくても音声変換が実行できるようになっています。

時折、

“Feature file path”の項目がないので、音声変換を実行するとエラーが出ます…

という報告をいただきますが、他の要因でエラーとなっている可能性があるようです。

 

 

RVC WebUIのエラー&対応例 – Something went wrong Connection errored out

 

 

・Something went wrong Connection errored out.

のエラーの原因としては

・何かしらの理由
例:Google Colaboratory上のRVC WebUI起動用のプログラムを停止した。
例:Google Colaboratoryの使用上限に到達したと判断された。
例:GPU制限がかかり、ランタイムがリセットされ接続が解除された。
例:Google Colaboratoryのサーバーが停止(ダウン)してしまった。
例:Gradioのサーバーが停止(ダウン)してしまった。

で接続が解除されてしまったことが考えられます。

・ランタイムをリセット
(「ランタイム – ランタイムを接続解除して削除」)

して、再度、一連のプログラムを実行後にRVC WebUIを起動してもダメな場合には、

・時間(12時間〜24時間レベル)をあけて再度実行

してみてください。
その他にも

例:音声変換する音声が長すぎて処理を完了できなかった。

時にも同様のエラーが出ることも経験しました。
その際には、音声変換する音声ファイルを短くすると、処理が完了するようでした。

 

 

RVC WebUI – 音声変換した音声をダウンロードをするドット3つのボタンが見当たりません

 

 

【対応例:2024年8月1日時点】

Macユーザーの方でMac標準アプリの「Safari」のブラウザを使用している時には

・音声をダウンロードをするドット3つのボタンがない

状態でしたが、

・Google Chrome

のブラウザに変更したところ無事に音声ファイルをダウンロードできるようになったとのことでした。

 

 

RVC WebUI – 音声変換すると声が掠れる(かすれる)

 

 

– 2024年6月29日時点 –

コメントで教えていただいた方の個人的な経験談では、RVC v1モデル対応のRVC WebUI

RVC v1モデル対応のRVC WebUIのチュートリアルコード:
RVC-WebUI-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

と、RVC v2モデル対応のRVC WebUI

RVC v2モデル対応のRVC WebUIのチュートリアルコード:
v2-RVC-WebUI-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

で、同じ条件で学習させて音声変換する場合には、

・RVC v2モデル対応のRVC WebUI変換後の声が少し掠れる(かすれる)傾向がある

とのことでした。
また、2024年6月29日時点では、RVC v1モデル対応のRVC WebUIのチュートリアルコードで学習・推論できたとのことでした。
(注:2024年6月時点ではGoogle Colaboratoryに課金する必要があります)

 

 

RVC WebUIで一括音声変換がしたい(Batch conversion:バッチ変換)

 

 

– 2023年7月23日時点 –

【①RVC v1モデル対応版の場合】

v1モデル対応版

RVC-WebUI-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

の場合には、Model Inferenceの設定で

・Inferencing timbre
*学習モデルの指定

・Please select a speaker id
*識別IDの指定

を設定後に、ページ下部の

・For batch conversion, input the audio folder to be converted, or upload multiple audio files, and output the converted audio in the specified folder (opt by default).
(一括変換の場合、変換する音声フォルダを入力するか、複数の音声ファイルをアップロードし、変換された音声を指定したフォルダに出力します 。デフォルトで「opt」)

の設定で

・Specify output folder
*デフォルトでは「opt」フォルダを作成し、ボイスチェンジ後の音声ファイルの出力先のディレクトリを指定しているようです。必要に応じて作成するフォルダの名前を変更します。

・Feature search database file path:
*インデックスファイル(.index)の指定。

・Enter the path of the audio folder to be processed:
(just go to the address bar of the file manager and copy it)
*変換したい音声ファイルを入れているフォルダのパスを指定。

を設定後に、同エリアにある「Convert」を実行すると、Google Colaboratory上で変換されたファイルを確認できると思います。

RVC WebUIで一括音声変換がしたい(Batch conversion:バッチ変換)- RVC v1モデル対応版
*画像をクリックすると拡大されます。

 

【②RVC v2モデル対応版の場合】

v2モデル対応版

v2-RVC-WebUI-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

の場合にも、Model Inferenceの設定で

・Inferencing timbre
*学習モデルの指定

・Please select a speaker id
*識別IDの指定

を設定後に、ページ下部の

・Batch conversion.
(一括変換)

以下の設定を行います。

・Specify output folder:
*デフォルトでは「opt」フォルダを作成し、ボイスチェンジ後の音声ファイルの出力先のディレクトリを指定しているようです。必要に応じて作成するフォルダの名前を変更します。

などを指定します。また、v2モデル対応版では、

・Export file format
(出力ファイルの形式)

で、お好きな音声ファイルの形式を選べるようでした。
各種設定後に、同エリアにある「Convert」を実行すると、Google Colaboratory上で変換されたファイルを確認できると思います。

RVC WebUIで一括音声変換がしたい(Batch conversion:バッチ変換)- RVC v2モデル対応版
*画像をクリックすると拡大されます。

 

 

RVC WebUIで歌声を変換した際に高音だけうまく出ない
(推論で歌声の変換がうまくいかない)

 

 

現状で個人で分かる範囲ではありますが

・【①データセットの規模と学習回数に関して】
・【②RVC WebUIの仕組みから考えるデータセットについて】
・【③数値設定に関して:だだっこぱんださん版のRVC WebUI】
・【④数値設定に関して:RVC v2モデル対応のオリジナル版RVC WebUI】

についてまとめておきます。

 

【①データセットの規模と学習回数に関して】

データセットの考え方に関しては、RVC公式のQ&Aでは、

・データセットの音声の時間は
:10〜50分程度が推奨
:高品質のデータセットの場合には、5〜10分程度が推奨

のようです。
また

・学習回数は、
:低品質でノイズの入った音声の場合には、20〜30エポック(学習回数)が推奨
(低品質の音声で学習回数を増やしても音声の品質は向上しないとのことです。)
:高品質の音声では、学習回数の許容範囲としては200エポック

とのことです。
そのため、ノイズの少ない音声を準備していただくといいかもしれません。

 

【②RVC WebUIの仕組みから考えるデータセットについて】

音声変換が苦手な部分に関しては、以下の記事

参考情報①:
【図解】超高性能AIボイスチェンジャー「RVC」のしくみ・コツ – mossan_hoshi | Zenn
*2023年6月13日利用

参考情報②:
RVCの声質を音程によって変化させる研究をしてみた – Nero | note
*2023年6月13日利用

が参考になりそうです。
要点としては、

・歌声を変換したい場合には、歌のデータを利用する(といいかもしれない)
・音声変換したい音域を意識してデータセットを作成する(といいかもしれない)

ということのようです。
そのため、歌声で高音が出にくいことへ対応させる場合には、

・歌声の音声を利用し、低音と高音(裏声)の両方入ったデータセットを作成

するといいかもしれません。

 

【③数値設定に関して:だだっこぱんださん版のRVC WebUI】

基本的に、【①データセットの規模と学習回数に関して】を参考に学習回数を決定してみてください。
だだっこぱんださん版のRVC WebUI

だだっこぱんださん版のRVC WebUIのチュートリアルコード:
RVC-WebUI-ddPn08-Version-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

の場合には、学習(Train)の設定での注意点は

・f0 Model
(f0モデルの設定)
:yes

・Pitch extraction algorithm
(ピッチ抽出アルゴリズム)
:harvest

・Augment
(データオーグメンテーション機能の有効化の設定)
:チェックを入れる

に設定することぐらいかもしれません。
また、日本語の音声変換をする場合には

・Using phone embedder
(phone embedderの設定)
hubert-base-japanese

にします。
推論(Inference)の際には

・Pitch extraction algorithm
(ピッチ抽出アルゴリズム)
harvest

にします。
必要に応じて

・Transpose
(変調)

を微調整してみてください。

注:設定例は2023年6月13日時点の情報です

 

【④数値設定に関して:RVC v2モデル対応のオリジナル版RVC WebUI】

だだっこぱんださん版と同様に【①データセットの規模と学習回数に関して】を参考に学習回数を決定してみてください。
RVC v2モデル対応のオリジナル版のRVC WebUI

RVC v2モデル対応のRVC WebUIのチュートリアルコード:
v2-RVC-WebUI-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

の場合には、学習(Train)の設定での注意点は

・Target sample rate
(サンプリングレート・サンプル周波数)
40k

・Whether the model has pitch guidance (required for singing, optional for speech)
(ピッチガイダンスの設定 – ピッチガイダンスの有無:歌唱時は必須、話し声時は任意)
true

・Version (currently only v2 is supported for 40k sample rate)
(RVCの事前学習モデルのバージョン設定 – 現在、RVC v2は、40kHzのサンプル周波数のみ対応)
v2

・Select the pitch extraction algorithm (‘pm’: faster extraction but lower-quality speech; ‘dio’: improved speech but slower extraction; ‘harvest’: better quality but slower extraction)
(ピッチ抽出アルゴリズムの設定:歌声の処理を高速化するには「pm」を使用。高品質の音声を処理するには「dio」を使用(低速)。最高の品質で処理をするには「harvest」を使用。ただ最も処理が遅くなります。)
harvest

に設定してみてください。
推論(Inference)の際には

・Select the pitch extraction algorithm (‘pm’: faster extraction but lower-quality speech; ‘harvest’: better bass but extremely slow; ‘crepe’: better quality but GPU intensive)
(ピッチ抽出のアルゴリズムを選択する – ‘pm’: 抽出が最速だが音声の品質は低い。’harvest’: 品質は向上するが、抽出が最も遅い。”crepe”:品質は最高だが、GPUに負荷がかかります)
crepe

にします。
必要に応じて

・Transpose (integer, number of semitones, raise by an octave: 12, lower by an octave: -12)
(変調:入力は整数で半音数を表します。1オクターブ分上げる:12・1オクターブ下げる:-12))

を微調整してみてください。

注:設定例は2023年6月13日時点の情報です

 

 

RVC WebUIで音声変換させた歌声の音域が1オクターブ上の音で出力される音階が出てしまう

 

 

【症状】

一部の音階が、1オクターブ上の音域になってしまう現象が現れてしまう。

【解決例】

学習データの量と学習回数を減らす。

詳細は、以下の動画のコメント欄、「@akrworld_unoffcial」さんのコメントが、参考になるかと思いますので、リンク先でご確認ください。
【改訂版】RVC WebUIで過去の学習モデルで推論する方法 by RehabC – デジタルで、遊ぶ。| YouTube動画

学習データと学習回数を増やすと、音質が向上する一方で、音階に対しては不具合が出やすい印象を受けているとのことでした。

注:解決例は、2023年11月17日時点の情報です

 

 

RVC WebUIでモデル推論する際のキーの変更について(女性の声から男性の声へのボイスチェンジの場合)

 

 

キーを変更するには、モデル推論(Model inference)のところの設定の

・男转女推荐+12key, 女转男推荐-12key, 如果音域爆炸导致音色失真也可以自己调整到合适音域.
(男性から女性への推奨は+12key、女性から男性への推奨は-12key、もしレンジ爆発で歪みが発生する場合は、自分で正しいレンジに音色を調整することもできます)

を変更するとキーを変更できます。
例として、女性の声(音程が高い声)から男性の声(音程が低い声)にボイスチェンジする場合には、推奨設定は

・−12

の設定になるようです。
ただ、色々と試した範囲では、「-12」でもまだ高いと感じる場合もありました。その場合には、さらに下げると低い声になってくるようでした。

・一例:−36

仮に「-36」でもまだキーが高いと感じる場合には、さらに下げて、実現したいキーに近づくか?試行錯誤してみてください。

 

 

RVC WebUIで、過去に作成した学習モデル(pthファイル)で、もう一度モデル推論を行う方法

 

 

【手順①:以前完成して保存した学習モデル(〜.pth)の準備】

以前完成して保存した学習モデルを

・weights
*(/content/Retrieval-based-Voice-Conversion-WebUI/weights)

フォルダ内に移動させます。
(学習モデルはGoogleDriveにアップロードしたものを移動させてもいいですし、直接Google Colaboratoryにアップロードさせてもどちらでもいいです)

 

【手順②:新たな学習モデルの作成】

とりあえず何でもいいので、オリジナルのデータセットで学習モデルを作成します。

・logsフォルダ内
(/content/Retrieval-based-Voice-Conversion-WebUI/logs)

に今回作製した名前のフォルダ(動画の場合は「amitaro」という名前のフォルダ)が作成された状態にします。

 

【手順③:推論の実施】

以下の手順などを実施します。
・「Inferencing timbre」のところに以前作製した学習モデルを選択
・「ID」は新たな学習モデルのIDを指定
・「Feature search database file path」のところに、とりあえず作成した学習モデル関連のファイル「added_〜.index」を指定

その他の設定後、「Model inference」を実行します。

 

手順の要点としては、

・新しく学習させた学習モデル関連のファイル(pthファイル・indexファイル)

を使いつつ、

・以前作成した学習モデルのファイルを指定

する対応をすると、とりあえず動かせる可能性を秘めているようでした。
視聴者の方からリクエストいただきましたので、動画で手順例をまとめておきました。

対応例のチュートリアル動画
【RVC WebUIの使い方】過去に作成した学習モデルで、もう一度モデル推論を行う方法 – Reuse of previously trained models from RVC WebUI by RehabC – デジタルで、遊ぶ。(YouTube動画)

 

【追記 – 2023年7月5日:改訂版のチュートリアル動画を公開】

過去に作成した「added〜.index」・「pth」ファイルを再利用する方法をまとめておきました。

【改訂版】対応例のチュートリアル動画
【改訂版】RVC WebUIで過去の学習モデルで推論する方法 – Revised edition:Reuse of previously trained models from RVC WebUI by RehabC – デジタルで、遊ぶ。(YouTube動画)
*2023年7月5日の初回投稿時に「手順1」の音声が反映されていませんでしたので修正し、2023年7月6日に再投稿させていただきました。
*2024年2月26日時点でRVC WebUI公式のコード

weights – RVC-Project/Retrieval-based-Voice-Conversion-WebUI | GitHub

を見てみると、「weights」フォルダは

・「Retrieval-based-Voice-Conversion-WebUI」フォルダの「assets」フォルダ内に「weights」フォルダ

が配置されているようでした。
そのため、RVC v2モデル対応のRVC WebUIのチュートリアルコードをお使い中の方は注意してください。

 

 

RVC WebUIで、他の方の作った学習モデル(pthファイル)を読み込む方法

 

 

色々と試してみましたが、とりあえず動かせましたので簡単ですが方法をまとめておきます。
(注:RVC WebUIで作成した学習モデル間での検証です)

方法論としては、

 

【手順①:他の方が作成した学習モデル(〜.pth)の準備】

他の方が作成した学習モデルを

・weights
*(/content/Retrieval-based-Voice-Conversion-WebUI/weights)

フォルダ内に移動させます。
(学習モデルはGoogleDriveにアップロードしたものを移動させてもいいですし、直接Google Colaboratoryにアップロードさせてもどちらでもいいです)

 

【手順②:オリジナル学習モデルの作成】

とりあえず何でもいいので、オリジナルのデータセットで学習モデルを作成します。

・logsフォルダ内
(/content/Retrieval-based-Voice-Conversion-WebUI/logs)

に今回作成した名前のフォルダ(動画の場合は「amitaro」という名前のフォルダ)が作成された状態にします。

 

【手順③:推論の実施】

以下の手順などを実施します。

・「Inferencing timbre」のところに他の方が作成した学習モデルを選択
・「ID」はオリジナルの学習モデルのIDを指定
・「Feature search database file path」のところに、とりあえず作成した学習モデル関連のファイル「added_〜.index」を指定
・「Feature file path」のところに、とりあえず作成した学習モデル関連のファイル「total_fea.npy」を指定

その他の設定後、「Model inference」を実行します。

 

要点としては、

✔︎ オリジナルの学習モデル関連のファイルを使いつつ
✔︎ 学習モデル(.pth)ファイルだけ他の方が作成したファイルを指定する

対応をすると、とりあえず動かせる可能性が秘めているようでした。

 

 

【RVC WebUIのQ&A集:リアルタイムボイスチェンジ編 – VC Client・Discord】

 

 

VC Clientでリアルタイムボイスチェンジを試みる際のRVC WebUIで学習の際の注意点

 

 

RVC WebUIで学習(Train)の際に

模型是否带音高指导(唱歌一定要, 语音可以不要)

の設定を「」に設定すると「ピッチレス」モデルとなり、リアルタイム音声変換をする際に、音声変換精度がやや劣るようです。音声変換精度を向上させたい場合には、「」を選択してみてください。ただし、VC Clientを利用する際に、お使いのパソコンの負荷を減らしたい場合には、「ピッチレス」モデルが候補の1つとなるようです。お使いのパソコンのスペックに応じて調整してみてください。
尚、「ピッチレス」モデルへの対応は、VC Client v.1.5.2.5(2023年4月26日)からのようです。VC Clientでリアルタイム音声変換をしたい方は、リアルタイムボイスチェンジを試す時点の最新版のVC Clientをダウンロードするようにしてみてください。

参考情報:
VC Client開発者によるアップデート情報
VCClient v.1.5.2.5のアップデート情報(1/2)ピッチレスモデル・RVC-WEBUIモデルをサポート – 2023年4月26日 | wok! @DannadoriYellow(Twitter)

 

 

RVC WebUIで作成した学習モデル(pthファイル)をonnxファイルに変換する方法

 

 

RVC WebUIで作成した学習モデル(pthファイル)を基にして、onnxファイルを作成し

w-okada/voice-changer(The MIT Licence)| GitHub

をローカル環境(自分のパソコン)でリアルタイムボイスチェンジを実行したい場合には、

VC Client 1.5.2.2以降のバージョンで、

・pthファイルをアップロード後に「export onnx」をクリック

すると、pthファイルを入れているフォルダにonnxファイルが生成されるようです。

 

 

VC Clientでのリアルタイムボイスチェンジ時のみ、RVC WebUIの学習モデルで変な声になる・声がかすれるなどへの対応案

 

 

RVC WebUI上で音声ファイルを変換した際には、上手くボイスチェンジできるが、VC Clientでのリアルタイムボイスチェンジ時には、上手くいかないという方もいるようでした。
他の方が作成された学習モデルを利用すると、上手くボイスチェンジできるものの、自分でRVC WebUIで作成した学習モデルでは

ほぼ聴き取れないレベルのかすれた声が出たり出なかったりという状態

で、上手くいかないとのことでした。

 

開発者の方の情報を見てみると、今後、VC Client(for RVC)は

✔︎ ピッチレスにも対応

される予定のようです。
*現時点では、対応済み
 

参考:
ピッチレスにも対応開始予定 – 2023年4月24日 | wok!(Twitter)

 

また、

✔︎ RVC WebUIの768次元埋め込み?

に対応されるようです。
*現時点では、おそらく対応済み

 

参考:
rvc-webuiの768次元埋め込みに対応開始予定 – 2023年4月24日 | wok!(Twitter)

 

ローカル環境で実行するVC Clientを、RVCの設定で使っている方は、もしかしたら上記の対応と関係があるかもしれませんので、現在、同じような不具合事象に遭遇している方は、今後(2023年4月24日以降)リリースされるVC Client(for RVC)の最新版で、リアルタイムボイスチェンジに再挑戦してみてください。

 

【追記情報:2023年4月28日時点】

とりあえずリアルタイムボイスチェンジはできたものの、RVC WebUI上で変換できた音声には劣る結果だった…
という方向けに以下に改善案を2つ掲載しておきます。

 

– 改善案① –

現時点(2023年4月28日)での情報では、リアルタイムボイスチェンジに関しては、バグや相性問題なども考えられているようです。
その中でもヒントをくださっている方もいましたので、リンクを掲載しておきます。

VC Client for RVC を使っても「ノイズが多い、変な声しか出ない」人向けのトラブルシューティング(仮)- 2023年 4月26日 | ライナ・リシェルド(Twitter)

いくつか対処方法例を提示してくださっていますので、一度参考にしてみてください。

他参考情報:
VCClientでRVCモデルのバグと対応について – 2023年4月28日 | ちると(Twitter)

 

– 改善案② –

改善案①で、うまくいかなかった場合、もう1つ候補があります。
それは、だだっこぱんださんが、liujing04/Retrieval-based-Voice-Conversion-WebUI の再構築プロジェクトとして、独自に公開してくださっているRVC-WebUIを使うことです。

プログラムのリンク:
ddPn08/rvc-webui

こちらのプログラムの場合、自分のパソコン環境(ローカル環境)で、だだっこぱんださんのRVC-WebUIを実行することになります。
また、最高品質のトレーニングモデルを作るための案もまとめてくださっています。

RVCのモデルを最高品質トレーニング案- 2023年 4月26日 | だだっこぱんだ🍞(Twitter)

だだっこぱんださんのRVC-WebUIで作成した学習モデルを使う場合にも、試す時点での最新版のVC Clientをダウンロードして試してみてください。

起動方法の参考
だだっこぱんださんによるチュートリアル記事:
RVCのWebUIを1から作り直した話 – 2023年4月13日 | pixivFANBOX
*「git clone〜」のところは、上述のプログラムのリンクで圧縮ファイルをダウンロードしてから、自分のパソコン環境で解凍することで代用できます。
*「error: Microsoft Visual C++ 14.0 or greater is required.」への対応例
ddPn08/rvc-webui/README-ja.md | GitHub(トラブルシューティングを参照)
2023年4月28日時点

【追記:2023年4月29日】
だだっこぱんださん版のRVC-WebUIをGoogle Colaboratoryで試せるコードも公開してくださっているようでした。

プログラムのリンク:
ddPn08/rvc-webui-colab

【追記:2023年5月26日】
だだっこぱんださん版のRVC WebUIのRVC v2モデルをサポート開始

参考:
RVC 対応リアルタイムボイスチェンジャー VC Client v.1.5.3.3アップデート – 2023年5月26日 | Twitter

【追記:2023年5月】
VC Clientの「Issues」(問題報告)
モデルを読み込んでも声は出るが変な感じに変換される #259 – w-okada/voice-changer | GitHub

 

 

Discordで使うと音が悪くなるのですが、対応方法はありますか?

 

 

リアルタイムボイスチェンジは試せていないので、現在出回っている情報を調査してみたところ

・オーディオインターフェイスの設定でサンプリングレートを変更したらノイズが改善した

参考:
周期的にブツッブツッと切れた音声が出力される #154 – w-okada/voice-changer | GitHub
*改善報告「ページ下部のnukoraさん(Apr 11)」のコメント」を参照ください

RVC+VC Clientでリアルタイム音声変換してDiscordに参加する話(SoXを使った素材集めの話も) | 圧倒的成長記録
*設定方法「ノイズが乗ったりresが無限に伸びて困ってる人向け」を参照ください

という報告もあるようでした。

その他にも、

・ビットレート
・サーバーの地域の変更

参考:
discord(ディスコード)の通話について音質が悪いのですが対処法ありますでしょうか? | Yahoo!知恵袋
*サーバーの地域設定に対する言及

discordの音質が悪いのですが、何をどうしても改善しません。| Yahoo!知恵袋
*ビットレートに対する言及

【Discord】サーバーのVC関連の設定について簡単に解説!通知や音質設定もできるぞ! #5 | 蜂ノコのブログ
*ビットレート・サーバーの地域などの設定についてなど

も音質に影響する可能性があるようです。

ざっと調べた感じでは、

・基本的に、discordでは音質が悪いもの

と思っていた方が無難そうです…

 

【補足】

Discord で Voicemod を設定する方法 | Voicemod
*違うボイスチェンジャーについての情報ですが、RVCでリアルタイムボイスチェンジする際の設定を考える上で共通する部分もあるのではないかと思います。

Discordで快適な会話をするための設定【2022年】| UCPIA
*快適な会話をするための設定例のようです。

 

 

by 子供プログラマー | プログラミング入門ウェブ教室

 

 

 

【音声認識】

【Python入門】日本語の文字起こしのやり方(音声認識:音声ファイル編)サンプルコード 

 

【音声合成】

RVC WebUIで作成したオリジナル学習モデルを使ってテキスト音声合成に挑戦!
VG WebUIの使い方:AIボイスチェンジャー(RVC WebUI)の学習モデルでテキスト音声合成(テキストの音声読み上げ:TTS – Text to Speach)入門 

【PyTorch入門】日本語のテキスト音声合成(E2E-TTS)- ESPnet・Tacotron 2版