Favicon of RVC WebUI

RVC WebUI

Open-source WebUI for training and running retrieval-based voice conversion (RVC) models, with real-time voice changing support.

RVC WebUI website screenshot
RVC WebUI GitHub repository preview

Retrieval-based-Voice-Conversion-WebUI (RVC) is a Gradio-based tool for training and running voice conversion (voice cloning/voice changer) models. It's built for people who want to swap the timbre of a voice in audio, such as making a singer's voice sound like a different person, without needing a research background in speech synthesis. It targets hobbyists, AI singer/cover creators, and developers building voice tools on top of a local, self-hosted pipeline.

The project wraps pitch extraction, feature retrieval, and vocal/instrument separation into one interface, and it works on modest GPUs or CPU-only setups.

Key features

  • Low data requirement: usable results from as little as 10 minutes of clean voice data, with better quality as you add more.
  • Top-1 retrieval matching: replaces input source features with training-set features to reduce timbre leakage between source and target voice.
  • Fast training on modest hardware: designed to train reasonably quickly even on weaker GPUs.
  • Model fusion: merge multiple checkpoints via the ckpt-merge tab to blend or adjust timbre.
  • Built-in vocal separation: calls pymss/MSST models to split vocals from instrumentals before conversion.
  • RMVPE pitch extraction: uses the InterSpeech2023 RMVPE algorithm for fast, low-resource pitch detection that reduces mute/breathy artifacts.
  • Real-time voice changing GUI: a separate realtime interface (go-realtime_gui) targets end-to-end latency around 170ms, down to ~90ms with ASIO audio devices.
  • Non-NVIDIA hardware paths: DirectML support on Windows and CPU fallback on Linux for AMD/Intel cards.
  • Web UI for the full workflow: preprocessing, training, inference, and checkpoint management all live in one Gradio app (webui.py).

Ideal use cases

RVC fits well if you want to build an AI "cover singer" voice, convert a voice actor's line reads into another character's timbre, or experiment with real-time voice changing for streaming or calls. It also works for research and hobby projects around voice conversion where you control your own training data and want a self-hosted, no-cloud pipeline.

It's not the right choice if you need cloud-hosted infrastructure, an API-first product, or multi-speaker text-to-speech (RVC converts existing audio, it doesn't generate speech from text). It also assumes you can supply clean, low-noise recordings of the target voice; results degrade quickly with noisy or very short source clips, and legal/ethical use of someone's voice is on you, not the tool.

Installation

The project targets Python 3.12 x64 (Ubuntu 24.04 x86_64 or Windows).

On Ubuntu:

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

On Windows, install Python 3.12 x64, then:

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

Install hardware-specific dependencies. For CPU/AMD/Intel:

python -m pip install -r requirments_cpu_py312.txt

For NVIDIA RTX 50-series (CUDA 12.8):

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

For older NVIDIA cards (CUDA 11.8), swap the URLs and use requirments_cu118_py312.txt.

Download required models via huggingface_hub:

python -m pip install --upgrade huggingface_hub

hf download lj1995/VoiceConversionWebUI --revision main \
  --include "hubert_base/*" --local-dir assets
hf download lj1995/VoiceConversionWebUI rmvpe.pt --revision main \
  --local-dir assets/rmvpe

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

FFmpeg is installed via apt on Ubuntu; Windows users drop ffmpeg.exe and ffprobe.exe into the project root.

Launch the WebUI:

python webui.py

On a headless server, use python webui.py --noautoopen. The UI listens on port 7865 by default. Put your own .pth models in assets/weights/ and .index files in assets/indices/.

Frequently asked questions

Share:

Stars
37.8K
Forks
5.2K
Last commit
23 days ago
Repository age
3 years
License
MIT
Self-hosted
No
Activity score
85/100
View Repository
Ad
Favicon

 

  
 

Similar to RVC WebUI

Favicon

 

  
 
Favicon

 

  
 
Favicon