fumiama / Retrieval-based-Voice-Conversion-WebUI

Easily train a good VC model with voice data <= 10 mins!
GNU Affero General Public License v3.0
119 stars 17 forks source link
audio-analysis audio-processing conversion converter rmvpe rvc rvc-project vc voice voice-changer voice-conversion voicechanger voicecloning voiceconversion
# Retrieval-based-Voice-Conversion-WebUI An easy-to-use voice conversion framework based on VITS. [![madewithlove](https://img.shields.io/badge/made_with-%E2%9D%A4-red?style=for-the-badge&labelColor=orange )](https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI) ![moe](https://counter.seku.su/cmoe?name=rvc&theme=r34) [![Licence](https://img.shields.io/github/license/fumiama/Retrieval-based-Voice-Conversion-WebUI?style=for-the-badge)](https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI/blob/main/LICENSE) [![Huggingface](https://img.shields.io/badge/🤗%20-Spaces-yellow.svg?style=for-the-badge)](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/) [![Discord](https://img.shields.io/badge/RVC%20Developers-Discord-7289DA?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/HcsmBBGyVk) [**FAQ (Frequently Asked Questions)**](https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI/wiki/FAQ-(Frequently-Asked-Questions)) [**English**](./README.md) | [**中文简体**](./docs/cn/README.cn.md) | [**日本語**](./docs/jp/README.ja.md) | [**한국어**](./docs/kr/README.ko.md) ([**韓國語**](./docs/kr/README.ko.han.md)) | [**Français**](./docs/fr/README.fr.md) | [**Türkçe**](./docs/tr/README.tr.md) | [**Português**](./docs/pt/README.pt.md)

The base model is trained using nearly 50 hours of high-quality open-source VCTK training set. Therefore, there are no copyright concerns, please feel free to use.

Please look forward to the base model of RVCv3 with larger parameters, larger dataset, better effects, basically flat inference speed, and less training data required.

There's a one-click downloader for models/integration packages/tools. Welcome to try.

Training and inference Webui
web
Real-time voice changing GUI
realtime-gui

Features:

Check out our Demo Video here!

Environment Configuration

Python Version Limitation

It is recommended to use venv to manage the Python environment.

For the reason of the version limitation, please refer to this bug.

python --version # 3.8 <= Python < 3.11

Linux/MacOS One-click Dependency Installation & Startup Script

By executing run.sh in the project root directory, you can configure the venv virtual environment, automatically install the required dependencies, and start the main program with one click.

sh ./run.sh

Manual Installation of Dependencies

  1. Install pytorch and its core dependencies, skip if already installed. Refer to: https://pytorch.org/get-started/locally/
    pip install torch torchvision torchaudio
  2. If you are using Nvidia Ampere architecture (RTX30xx) in Windows, according to the experience of #21, you need to specify the cuda version corresponding to pytorch.
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
  3. Install the corresponding dependencies according to your own graphics card.
    • 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

Preparation of Other Files

1. Assets

RVC requires some models located in the assets folder for inference and training.

Check/Download Automatically (Default)

By default, RVC can automatically check the integrity of the required resources when the main program starts.

Even if the resources are not complete, the program will continue to start.

Download Manually

All resource files are located in Hugging Face space

You can find some scripts to download them in the tools folder

You can also use the one-click downloader for models/integration packages/tools

Below is a list that includes the names of all pre-models and other files required by RVC.

2. Download the required files for the rmvpe vocal pitch extraction algorithm

If you want to use the latest RMVPE vocal pitch extraction algorithm, you need to download the pitch extraction model parameters and place them in assets/rmvpe.

Download DML environment of RMVPE (optional, for AMD/Intel GPU)

3. AMD ROCM (optional, Linux only)

If you want to run RVC on a Linux system based on AMD's ROCM technology, please first install the required drivers here.

If you are using Arch Linux, you can use pacman to install the required drivers.

pacman -S rocm-hip-sdk rocm-opencl-sdk

For some models of graphics cards, you may need to configure the following environment variables (such as: RX6700XT).

export ROCM_PATH=/opt/rocm
export HSA_OVERRIDE_GFX_VERSION=10.3.0

Also, make sure your current user is in the render and video user groups.

sudo usermod -aG render $USERNAME
sudo usermod -aG video $USERNAME

Getting Started

Direct Launch

Use the following command to start the WebUI.

python web.py

Linux/MacOS

./run.sh

For I-card users who need to use IPEX technology (Linux only)

source /opt/intel/oneapi/setvars.sh
./run.sh

Using the Integration Package (Windows Users)

Download and unzip RVC-beta.7z. After unzipping, double-click go-web.bat to start the program with one click.

rvcmd packs/general/latest # RVC-Models-Downloader command

Credits

Thanks to all contributors for their efforts

contributors