Retrieval-based-Voice-Conversion-WebUI README

The project's README from github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI. As one markdown file: README.md.

Retrieval-based-Voice-Conversion-WebUI

简单易用的 语音音色转换/变声器 框架

madewithlove


Licence Huggingface

更新日志 | 常见问题解答 | AutoDL·5毛钱训练AI歌手 | 对照实验记录 | 在线演示

English | 中文简体 | 日本語 | 한국어 (韓國語) | Français | Türkçe | Português

底模使用接近50小时的开源高质量VCTK训练集训练,无版权方面的顾虑,请大家放心使用

请期待RVCv3的底模,参数更大,数据更大,效果更好,基本持平的推理速度,需要训练数据量更少。

训练推理界面 实时变声界面
go-webui.bat go-realtime_gui.bat
可以自由选择想要执行的操作。 我们已经实现端到端170ms延迟。如使用ASIO输入输出设备,已能实现端到端90ms延迟,但非常依赖硬件驱动支持。

简介

本仓库具有以下特点

点此查看我们的演示视频 !

环境配置

本分支面向 Python 3.12 x64,请先进入仓库根目录。Ubuntu 推荐使用 Ubuntu 24.04 x86_64。

Ubuntu 24.04

sudo apt update
sudo apt install -y python3.12 python3.12-venv python3.12-dev ffmpeg unzip libsndfile1 libportaudio2

python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip setuptools wheel

Windows

安装 Python 3.12 x64 后创建虚拟环境:

py -3.12 -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip setuptools wheel

按硬件选择依赖

硬件 安装方式
CPU、AMD、Intel 使用 requirments_cpu_py312.txt;Windows 可使用 DirectML,Linux 使用 CPU
NVIDIA RTX 50 系 先安装 CUDA 12.8 版 Torch,再安装 requirments_cu128_py312.txt
NVIDIA RTX 50 系以前 先安装 CUDA 11.8 版 Torch,再安装 requirments_cu118_py312.txt

CPU、AMD、Intel

python -m pip install -r requirments_cpu_py312.txt

NVIDIA RTX 50 系:两阶段安装

python -m pip install torch==2.7.1+cu128 torchaudio==2.7.1+cu128 \
  --index-url https://download.pytorch.org/whl/cu128 \
  --extra-index-url https://pypi.org/simple
python -m pip install -r requirments_cu128_py312.txt

NVIDIA RTX 50 系以前:两阶段安装

python -m pip install torch==2.7.1+cu118 torchaudio==2.7.1+cu118 \
  --index-url https://download.pytorch.org/whl/cu118 \
  --extra-index-url https://pypi.org/simple
python -m pip install -r requirments_cu118_py312.txt

检查 Torch 与 CUDA 状态:

python -c "import torch; print('torch:', torch.__version__); print('cuda:', torch.version.cuda); print('cuda available:', torch.cuda.is_available())"

修改下载源

三个 requirments_*.txt 顶部已经包含下载源。中国大陆用户可保留默认镜像;需要使用官方源时,只替换 --index-url 和 --extra-index-url,保留包版本、CUDA 后缀和两阶段顺序。

Default mirror Official source
https://mirrors.pku.edu.cn/pypi/simple https://pypi.org/simple
https://mirrors.nju.edu.cn/pytorch/whl/cpu https://download.pytorch.org/whl/cpu
https://mirrors.nju.edu.cn/pytorch/whl/cu118 https://download.pytorch.org/whl/cu118
https://mirrors.nju.edu.cn/pytorch/whl/cu128 https://download.pytorch.org/whl/cu128

模型与运行目录

WebUI 会自动创建运行目录。模型请从 Hugging Face 模型仓库 下载,并保持以下路径:

assets/
├── hubert_base/
│   ├── config.json
│   ├── preprocessor_config.json
│   └── pytorch_model.bin
├── rmvpe/rmvpe.pt
├── pretrained/
├── pretrained_v2/
├── pymss_weights/
├── weights/        # user RVC .pth models
└── indices/        # user .index files
logs/
└── mute/           # training silence samples

# Exact paths used by the code
assets/hubert_base/config.json
assets/hubert_base/preprocessor_config.json
assets/hubert_base/pytorch_model.bin
assets/rmvpe/rmvpe.pt
assets/pretrained/*.pth
assets/pretrained_v2/*.pth
assets/pymss_weights/*
assets/weights/*.pth
assets/indices/*.index
logs/mute/*

下载模型

python -m pip install --upgrade huggingface_hub

# Required for inference and feature extraction
hf download lj1995/VoiceConversionWebUI --revision main \
  --include "hubert_base/*" --local-dir assets
hf download lj1995/VoiceConversionWebUI rmvpe.pt --revision main \
  --local-dir assets/rmvpe

# Required for v1/v2 training
hf download lj1995/VoiceConversionWebUI --revision main \
  --include "pretrained/*" "pretrained_v2/*" --local-dir assets
hf download lj1995/VoiceConversionWebUI mute.zip --revision main \
  --local-dir .model-downloads
python -m zipfile -e .model-downloads/mute.zip logs

# Required only for pymss/MSST vocal separation
hf download lj1995/VoiceConversionWebUI --revision main \
  --include "pymss_weights/*" --local-dir assets

仅 Windows AMD/Intel DirectML 环境还需要:

hf download lj1995/VoiceConversionWebUI rmvpe.onnx --revision main \
  --local-dir assets/rmvpe

FFmpeg

Ubuntu 已在前面的系统依赖命令中安装 FFmpeg。Windows 用户可把下面两个文件放到项目根目录:

开始使用

启动 WebUI:

python webui.py

无桌面的 Ubuntu 服务器:

python webui.py --noautoopen

默认服务监听端口为 7865。用户自己的 .pth 模型放入 assets/weights/,.index 文件放入 assets/indices/。

参考项目

感谢所有贡献者作出的努力

Retrieval-based-Voice-Conversion-WebUI (RVC-Project/Retrieval-based-Voice-Conversion-WebUI)

voice-conversion
Searching Database…

What is this?RVC WebUI is a web-based tool for training and running voice conversion (voice-changing) models, letting you clone a target voice's timbre using as little as about 10 minutes of audio.
Is this a desktop app or something I open in a browser?It is a self-hosted Gradio web app: you launch it locally and it serves a WebUI (training/inference tab and a separate real-time voice-changing tab) that you open in a browser, listening on port 7865 by default.
How do I get it running?Install Python 3.12 x64 and create a virtual environment, install the requirements file matching your hardware, download the pretrained models from Hugging Face into the project folders, then launch with go-webui.bat on Windows or the equivalent command on Linux; models load from assets/weights and assets/indices.
Do I need an NVIDIA GPU to use it?Not strictly: NVIDIA GPUs use CUDA 12.8 (RTX 50-series) or 11.8 (older RTX) Torch builds, but AMD/Intel hardware is supported via DirectML on Windows or plain CPU on Linux.
How fast is the real-time voice changing?End-to-end latency is about 170ms by default, dropping to roughly 90ms with ASIO input/output audio devices, though the lower figure depends heavily on your hardware's driver support.
How does it avoid the source speaker's voice leaking through into the output?It uses top-1 feature retrieval that swaps the input speaker's features for matched features from the training set, which prevents timbre leakage.
What pitch extraction method does it use?It uses RMVPE, an InterSpeech2023 algorithm chosen for being fast, low-resource, and resistant to the 'mute note' artifacts that plague earlier pitch trackers.
Can I combine two trained voice models?Yes, the checkpoint-processing tab includes a ckpt-merge option that fuses two models to blend their timbres.
Can it pull just the vocals out of a song before conversion?Yes, it can call pymss/MSST models to quickly separate vocals from accompaniment music.
Size
15.1 MB
Stars
38.8K
Age
3y
Commits · 90 Days