RE

Retrieval-based Voice Conversion WebUI

Self-hosted voice conversion and cloning interface

Self-Hosted AI ★ 38.5k stars Hard setup MIT

RVC WebUI is an open-source web interface for retrieval-based voice conversion, allowing users to train voice models and convert audio between voices. It runs entirely on local hardware.

Key features

  • Voice conversion training
  • Web-based interface
  • Local processing
  • Real-time inference

Pros & cons

Strengths

  • High-quality voice conversion
  • Training built in
  • Runs fully locally

Trade-offs

  • GPU practically required
  • Steep learning curve

Retrieval-based Voice Conversion WebUI replaces

Last reviewed Aug 26, 2026 · 846 words

Budget an NVIDIA card with at least 6 GB of VRAM, 10 minutes of clean recordings of the target voice, and 1 to 2 hours of training before Retrieval-based Voice Conversion WebUI gives you anything you would play to another person. Everything else about it is negotiable. Without a CUDA GPU it technically runs on CPU or Apple Silicon, and inference is tolerable, but training becomes an overnight job at best. RVC converts one voice into another; it does not generate speech from text, and that distinction shapes every decision below.

Conversion, not synthesis

Text-to-speech tools like Coqui TTS take a string and produce audio. RVC takes existing audio, someone singing or speaking, and re-voices it with a trained model while keeping the timing, melody and intonation of the input. The "retrieval" part is an index of the training set's features that the model consults during inference, which is why RVC voices sound like the target rather than an averaged, generic timbre. The 37,819 GitHub stars come mostly from the music community, where converting a performance to another singer is the headline use.

If your goal is "read this article in my voice," you want a TTS engine first and RVC second as a post-processing stage, or a single-model cloner like OpenVoice or GPT-SoVITS that does both from a short sample. The AI category on this site has the full shelf.

Install from source, and expect Python friction

Deployment is source only: clone the repository, create a Python virtual environment (3.10 is the version most reports of a clean install use), install the requirements, download the pretrained base models and the HuBERT feature extractor, then start the Gradio interface:

git clone https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI
cd Retrieval-based-Voice-Conversion-WebUI
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python infer-web.py

The web UI listens on port 7865. The base models are several hundred megabytes and the repository's download script or release page provides them; without them, training refuses to start. Install the PyTorch build that matches your CUDA driver before the rest of the requirements, because a mismatched torch is the single most common failure and the error messages do not say so. The catalogue's 8 GB RAM figure is a real floor; preprocessing loads the whole dataset into memory.

The training settings that decide quality

Dataset first. Ten minutes of dry, un-reverbed, single-speaker audio at a consistent level beats an hour of podcast with music beds. Split it into clips under 10 seconds, strip silence and remove any second voice. Then in the Train tab: 40k sample rate for most uses, pitch guidance on for singing, the rmvpe f0 extraction method (fastest and cleanest on a GPU), batch size as high as VRAM allows, and 200 to 300 epochs as a starting point. Save checkpoints every 25 epochs and listen to them; more epochs past the point where it sounds right only overfit to the training noise.

After training, build the feature index from the same tab. At inference, the index rate slider (0.5 to 0.75 is my range) controls how hard the retrieval pulls the output toward the training set's timbre, and the transpose field shifts pitch in semitones, which you will need whenever the source and target voices differ in range.

Real-time mode and the latency to expect

The repository ships a separate real-time GUI that takes a microphone, runs the model and outputs to a virtual audio device, so the converted voice can feed a call or a stream. On a mid-range NVIDIA card the round trip lands in the 100 to 300 ms range depending on block size: usable for streaming, noticeable in conversation. CPU-only real-time is not practical.

The part that is not a settings question

A trained RVC model of a real person is a working impersonation tool. Train on your own voice, on voices whose owners have consented, or on material whose licence permits it, and label the output when you publish it. Commercial platforms such as ElevenLabs enforce consent checks you will not have here; the responsibility moved to you along with the compute. Several jurisdictions now treat unconsented voice cloning as a distinct offence, and the offline nature of the tool changes nothing about that.

What I'd do

An NVIDIA card with 8 GB or more, Python 3.10 in a venv, torch matched to the CUDA driver before anything else. Record 10 to 15 minutes of your own voice in a quiet room, train at 40k with rmvpe for 250 epochs, and test checkpoints along the way. Use it for music experiments and for re-voicing your own TTS output, keep the models private, and skip it entirely if what you actually want is text-to-speech, where a lighter tool gets you there in an afternoon.

Similar self-hosted ai apps