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.
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.
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/.