Install Mainline RVC
Mainline is the upstream Retrieval-based Voice Conversion WebUI. Use its browser interface for file conversion and training. For microphone conversion, use the separate desktop interface described in the real-time guide.
Pick one installation route
Windows archive
- Open the Mainline Windows package and asset downloads and choose the archive matching your GPU. For the current package family, look for the
20260718NVIDIA, NVIDIA 50-series, or AMD/Intel variant. If you already have an older release that works, leave it in its own directory. - Extract the entire archive to a writable local folder such as
C:\RVC\Mainline. Allow space for both the download and the extracted files. In File Explorer, open the resulting folder and look for the launcher,assets, and the Python runtime. If you see one more enclosing directory, open it. - Run
go-webui.batif present. Older archives may call itgo-web.bat. Keep the command window open and wait for the local address. If the browser does not start, open the address shown in the terminal. A common default ishttp://127.0.0.1:7865. - Confirm that the page opens and that the terminal remains running. Keep the archive intact until the first conversion succeeds.
Current source branch
Download and extract the Mainline source ZIP. Open a terminal in the directory containing webui.py and the requirements files. The source setup below applies to the Python 3.12 branch. Run each snippet from that directory using a 64-bit Python 3.12 interpreter.
Windows PowerShell
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip setuptools wheel
If PowerShell blocks the activation script, open Command Prompt in the same directory and run .venv\Scripts\activate.bat. On Windows, put ffmpeg.exe and ffprobe.exe beside webui.py.
Ubuntu 24.04
sudo apt update
sudo apt install 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
Choose one dependency set. The filenames contain requirments as spelled in the repository. Run the matching block from top to bottom.
CPU, AMD, or Intel
python -m pip install -r requirments_cpu_py312.txt
NVIDIA RTX 50 series
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
Supported older NVIDIA cards
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
Check which interpreter and Torch build the terminal is using:
python -c "import sys, torch; print(sys.executable); print(torch.__version__); print(torch.cuda.is_available())"
Expect the interpreter path to contain .venv. CUDA availability should be True for working NVIDIA CUDA inference. CPU and DirectML installations can show False in this CUDA check.
Install the shared feature and pitch models before your first conversion:
python -m pip install huggingface_hub
hf download lj1995/VoiceConversionWebUI --include "hubert_base/*" --local-dir assets
hf download lj1995/VoiceConversionWebUI rmvpe.pt --local-dir assets/rmvpe
Generic HuBERT checkpoints are not recommended as the default encoder for voice conversion. Their speech prediction training does not explicitly remove speaker identity, so the features can carry source timbre into the output. For RVC, use the encoder expected by the model, such as ContentVec when the voice was trained with it.
Windows DirectML setups that use the ONNX pitch model also need hf download lj1995/VoiceConversionWebUI rmvpe.onnx --local-dir assets/rmvpe. The training guide lists the additional training assets.
Run python webui.py from the same directory. The feature encoder should be a folder named assets/hubert_base containing the config, preprocessing config and weight file. If you installed a legacy archive, keep its bundled files and naming conventions together.
If the WebUI will not open
When the interface opens, continue with your first file conversion.