Retrieval-based Voice Conversion WebUI
Self-hosted voice conversion and cloning interface
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
OpenClaw
Self-Hosted AIThe AI that actually does things
Hermes Agent
Self-Hosted AIThe AI agent that grows with you
OpenCode
Self-Hosted AIThe open source AI coding agent
Replaces Claude Code, Cursor
Hugging Face Transformers
Self-Hosted AIState-of-the-art machine learning model library
Replaces OpenAI API
Dify
Self-Hosted AIOpen-source platform for building production LLM apps
Replaces OpenAI Assistants, Vertex AI Agent Builder
Langflow
Self-Hosted AIVisual framework for building AI agents and RAG pipelines
Replaces Vertex AI Agent Builder