RVCのバージョンアップ作業 RVC単体でリアルタイム音声変換をしてみる話

スポンサーリンク

RVCのバージョンアップを行う作業メモ。

急いでなければrvc-betaのバージョンアップを待ちましょう。

これができるようになるとtotal_epochの最大制限 100 が 1000 にロック解除されます。

このヤバさは使ってみたことがある人じゃないと分からないと思いますがさらにクオリティが上がるということです。さらにbetaよりも圧倒的に早い学習速度になっています。

RVC-betaで6時間かかっていた100回の学習作業が30分立たずに1000回終わるくらいに爆速です。

あとVC Clientで出来たことがRVCだけでできるようになっています。まだドキュメント類がないので探り探りです。間違ってることもあるかもしれません。

イキりながらまとめたものの…リアルタイム音声は動いたんですが、学習後のindexと.npyが生成されていなかったのでたぶんどこかが間違ってます。pthは出来たのでVC clientでは使えると思うのですが…私は無力です。

 

RVC-beta+ VC Clientより圧倒的に環境構築の難易度が高いですが、やってみましょう。

 

変更点

RVCのバージョンアップ

とりあえず新しいRVCをダウンロードして適当なディレクトリに配置します。

何かと足りないファイルがあるので、もしRVC-betaのフォルダがあるならバックアップとってから上書きしたほうがいいかもしれません。

Huggingfaceのこちらのファイルと合体させます。

 

 

次にpythonのバージョンを確認します。

Powershellを立ち上げてこのコマンドを打ちます。

python --version

バージョン3.8以上ならいいそうです。そもそも入ってない場合はpythonのホームページからインストーラダウンロードして入れてください。

次に依存関係を解決します。WindowsでグラボがRTX30xxの人は以下コマンドです。

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

それ以外は以下コマンドです。

pip install torch torchvision torchaudio

 

続いてPowershellでこのコマンドを入れます。poetryがインストールされます。

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

To get started you need Poetry's bin directory~とある通り、パスを通さないと動かないのでWindowのシステムのプロパティから環境変数の設定に入り、PoetryのPathを貼り付けます。


Powershellを開き、以下コマンドでパスが正常に通っているかチェックします。パスを通してもエラー吐く場合は一度Powershellを閉じて開き直したり、再起動したりしてください。

poetry --version

 

うまくバージョンチェックできたらRVCが入ったディレクトリに移動して以下コマンドでインストールします。

poetry install

インストールしてみたら エラー吐いてMicrosoft Visual C++ 14.0以上入れろカスって言われたのでBuild Toolsを入れます。


インストール後に再チャレンジ。

poetry install

今度はfaiss-gpu 1.7.2ねえよカスって言われましたけどwindowsにfaiss-gpuは無いので無視します。

 

readmeに書いてある以下コマンドを打ちます。

pip install -r requirements-win.txt

特にエラー出なかったので今度は以下リポジトリURLからhubert_base.ptをダウンロードして、「TEMP」フォルダ直下に入れます。

uvr5_weightsとpretrainedにも入れろ的なことが書いてあるように見えたのでついでにそこにも突っ込みます。

あと書いてないですがpretrainedにはRVC-betaに入ってたこいつらを移植する必要がありました。

Windowsの場合はffmpeg.exeいるかもとかreadmeに書いてたので入れときます。

 

WebUIを以下コマンドで起動します。

python infer-web.py

うまく動くとRVC-betaと同じようなUIが開かれます。こっちでできることはRVC-betaと同じです。学習速度が爆速。

 

デフォルト値。なに学習させようとしてんですかね…

 

GPU負荷もかなり改善されています。100%付近を維持することがなくなりました。

 

リアルタイム音声変換の導入

ここからはドキュメントがないのでコードを読みながら追いつく必要がある未知のエリアです。gui.pyを動かす必要があるみたいです。

python gui.py

そしてGUIが現れました。.pthと.indexと.npyを指定する必要があります。

まだ記憶してくれないので起動するたびに設定しないといけません。

これらは学習させたときに自動で作られるファイルたちなので探してください。

.indexと.npyはRVC-betaだとlogsファイルに入ってたやつらです。

 

 

なんとなく分かりますがスライドゲージの設定値は以下の通りです。

そのうち言語選択できるようになるっぽいです。

响应阈值/Silence Threhold

音调设置/Pitch Offset

采样长度/Sample Length

淡入淡出长度/Crossfade Length

额外推理时长/Extra Length

 

左下のボタンを押すと音声変換が始まります…がサンプルレートのエラーが出ました。

sounddevice.PortAudioError: Error opening Stream: Illegal combination of I/O devices [PaErrorCode -9993]

sounddevice.PortAudioError: Error opening Stream: Invalid sample rate [PaErrorCode -9997]

このへんは入出力デバイスの設定がおかしいときに出るみたいです。WASAPIとかではなくWindows DirectSoundとかにすると動きました。動かなかったらこのへん弄ってください。

 

停止ボタンを押すまで変換が自動的に続きます。

遅延とかはVC Clientとあんま変わらない感じでした。

なんかすりこぎ棒ぐりぐりしてるときみたいな音するけど気の所為…?

 

以上

圧倒的成長。