Retrieval-based-Voice-Conversion-WebUI
VITSに基づく使いやすい音声変換(voice changer)framework
よくある質問 | AutoDLで推論(中国語のみ) | 対照実験記録 | オンラインデモ(中国語のみ)
English | 中文简体 | 日本語 | 한국어 (韓國語) | Français | Türkçe | Português
著作権侵害を心配することなく使用できるよう、約 50 時間の高品質なオープンソースデータセットを使用し、基底モデルを学習し出しました。
RVCv3 の基底モデルをご期待ください。より大きなパラメータ、より大きなデータ、より良い効果を提供し、基本的に同様の推論速度を維持しながら学習に必要なデータ量はより少なくなります。
モデルや統合パッケージをダウンロードしやすいRVC-Models-Downloaderのご利用がお勧めです。
はじめに
本リポジトリには下記の特徴があります。
- Top1 検索を用いることで、生の特徴量を学習用データセット特徴量に変換し、トーンリーケージを削減します。
- 比較的貧弱な GPU でも、高速かつ簡単に学習できます。
- 少量のデータセットからでも、比較的良い結果を得ることができます。(10 分以上のノイズの少ない音声を推奨します。)
- モデルを融合することで、音声を混ぜることができます。(ckpt processing タブの、ckpt merge を使用します。)
- 使いやすい WebUI。
- UVR5 Model も含んでいるため、人の声と BGM を素早く分離できます。
- 最先端の人間の声のピッチ抽出アルゴリズム InterSpeech2023-RMVPEを使用して無声音問題を解決します。効果は最高(著しく)で、crepe_full よりも速く、リソース使用が少ないです。
- AMD GPU と Intel GPU の加速サポート
デモ動画はこちらでご覧ください。
環境構築
Python バージョン制限
conda で Python 環境を管理することがお勧めです
バージョン制限の原因はこの bug を参照してください。
python --version # 3.8 <= Python < 3.11
Linux/MacOS ワンクリック依存関係インストール・起動するスクリプト
プロジェクトのルートディレクトリでrun.sh
を実行するだけで、venv
仮想環境を一括設定し、必要な依存関係を自動的にインストールし、メインプログラムを起動できます。
sh ./run.sh
依存関係のマニュアルインストレーション
pytorch
とそのコア依存関係をインストールします。すでにインストールされている場合は見送りできます。参考: https://pytorch.org/get-started/locally/pip install torch torchvision torchaudio
- もし、Windows + Nvidia Ampere (RTX30xx)の場合、#21 の経験に基づき、pytorchの対応する CUDA バージョンを指定する必要があります。
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
- 自分の GPU に対応する依存関係をインストールします。
- Nvidia GPU
pip install -r requirements/main.txt
- AMD/Intel GPU
pip install -r requirements/dml.txt
- AMD ROCM (Linux)
pip install -r requirements/amd.txt
- Intel IPEX (Linux)
pip install -r requirements/ipex.txt
その他のデータを準備
1. アセット
RVCは、
assets
フォルダにある幾つかのモデルリソースで推論・学習することが必要です。
リソースの自動チェック/ダウンロード(デフォルト)
デフォルトでは、RVC は主プログラムの起動時に必要なリソースの完全性を自動的にチェックしできます。
リソースが不完全でも、プログラムは起動し続けます。
- すべてのリソースをダウンロードしたい場合は、
--update
パラメータを追加してください。 - 起動時のリソース完全性チェックを不要の場合は、
--nocheck
パラメータを追加してください。
リソースのマニュアルダウンロード
すべてのリソースファイルはHugging Face spaceにあります。
tools
フォルダでそれらをダウンロードするスクリプトを見つけることができます。
モデル/統合パッケージ/ツールの一括ダウンローダー、RVC-Models-Downloaderも使用できます。
以下は、RVCが必要とするすべての事前モデルデータやその他のファイルの名前を含むリストです。
./assets/hubert/hubert_base.pt
rvcmd assets/hubert # RVC-Models-Downloader command
./assets/pretrained
rvcmd assets/v1 # RVC-Models-Downloader command
./assets/uvr5_weights
rvcmd assets/uvr5 # RVC-Models-Downloader command
v2バージョンのモデルを使用したい場合は、追加ダウンロードが必要です。
./assets/pretrained_v2
rvcmd assets/v2 # RVC-Models-Downloader command
2. RMVPE人声音高抽出アルゴリズムに必要なファイルのダウンロード
最新のRMVPE人声音高抽出アルゴリズムを使用したい場合は、音高抽出モデルをダウンロードし、assets/rmvpe
に配置する必要があります。
- rmvpe.pt
rvcmd assets/rmvpe # RVC-Models-Downloader command
RMVPE(dml環境)のダウンロード(オプション、AMD/Intel GPU ユーザー)
- rmvpe.onnx
rvcmd assets/rmvpe # RVC-Models-Downloader command
3. AMD ROCM(オプション、Linuxのみ)
AMDのRocm技術を基にLinuxシステムでRVCを実行したい場合は、まずここで必要なドライバをインストールしてください。
Arch Linuxを使用している場合は、pacmanを使用して必要なドライバをインストールできます。
pacman -S rocm-hip-sdk rocm-opencl-sdk
一部のグラフィックカードモデルでは、以下のような環境変数を追加で設定する必要があるかもしれません(例:RX6700XT)。
export ROCM_PATH=/opt/rocm
export HSA_OVERRIDE_GFX_VERSION=10.3.0
また、現在のユーザーがrender
およびvideo
ユーザーグループに所属していることを確認してください。
sudo usermod -aG render $USERNAME
sudo usermod -aG video $USERNAME
利用開始
直接起動
以下のコマンドで WebUI を起動します
python web.py
Linux/MacOS
./run.sh
IPEX 技術が必要な Intel GPU ユーザー向け(Linux のみ)
source /opt/intel/oneapi/setvars.sh
./run.sh
統合パッケージの使用 (Windowsのみ)
RVC-beta.7z
をダウンロードして解凍し、go-web.bat
をダブルクリック。
rvcmd packs/general/latest # RVC-Models-Downloader command