Guide · Open source
How to use GPT-SoVITS: install, run the WebUI and clone a voice
Updated · written with AI from the project's own documentation and checked against our catalogue data
GPT-SoVITS is an open-source Python project with a browser-based WebUI for text-to-speech and voice cloning. This guide explains what it does, how to set up the Python environment on Linux, Windows, macOS or Docker, and how to use its main tools. By the end you will know which setup path fits your hardware and what the built-in helpers are for.
Quick start
- 1Create a Conda environment. Create an environment named GPTSoVits with Python 3.10 and activate it.
- 2Clone the repository. Download the RVC-Boss/GPT-SoVITS source from GitHub into a folder.
- 3Install FFmpeg. Install FFmpeg for your platform, using Conda, apt, brew or the Windows files described in the README.
- 4Run the installer. Run install.sh (or install.ps1 on Windows) with the device and source options that match your hardware.
- 5Start the WebUI. Launch the WebUI from the project folder, or double-click go-webui.bat in the Windows package.
- 6Prepare your data. Use the built-in tools to separate vocals, segment audio, run ASR and label text.
- 7Test zero-shot, then fine-tune. Try zero-shot speech first, then fine-tune on about one minute of recorded data for a closer voice match.
What GPT-SoVITS does
GPT-SoVITS offers zero-shot text-to-speech, where you supply a short vocal sample (the README gives 5 seconds as an example) and get speech in that voice straight away. It also offers few-shot fine-tuning, where you train a model on about one minute of recorded data for a closer match to the speaker.
The README also lists cross-lingual inference, meaning you can generate speech in a language different from the training data. The listed languages are English, Japanese, Korean, Cantonese and Chinese.
- Zero-shot TTS: instant speech from a short sample
- Few-shot TTS: fine-tune on roughly one minute of data
- Cross-lingual inference: English, Japanese, Korean, Cantonese, Chinese
- WebUI tools for vocal separation, training set segmentation, Chinese ASR and text labeling
Check your requirements before installing
The README lists Conda, Python 3.10 (versions 3.10 to 3.12 are supported), and FFmpeg as prerequisites. A CUDA-capable GPU is recommended. Apple silicon and CPU are also listed as options, and the README notes that Mac GPU training gives significantly lower quality, so CPUs are used there for now.
The tested environments table in the README includes combinations such as Python 3.10 with PyTorch 2.5.1 on CUDA 12.4, and Python 3.11 with PyTorch 2.7.0 on CUDA 12.8. Check that table if you need a known-good combination.
- Conda
- Python 3.10 to 3.12
- FFmpeg
- A CUDA-capable GPU (recommended)
Install GPT-SoVITS on Linux
Clone the repository, create a Conda environment and run the installer from the project folder. Replace the device and source options with the ones that match your machine. The README lists CU126, CU128, ROCM or CPU for device, and HF, HF-Mirror or ModelScope for source.
- --device accepts CU126, CU128, ROCM or CPU
- --source accepts HF, HF-Mirror or ModelScope
- --download-uvr5 is optional
git clone https://github.com/RVC-Boss/GPT-SoVITS
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
bash install.sh --device <CU126|CU128|ROCM|CPU> --source <HF|HF-Mirror|ModelScope> [--download-uvr5]Install on Windows or macOS
On Windows, the README offers an integrated package: download it and double-click go-webui.bat to start the WebUI. Alternatively, create the same Conda environment and run install.ps1 with PowerShell. On macOS, the same Conda setup is used with install.sh and the MPS or CPU device option.
FFmpeg must be installed separately on each platform. The README gives Conda, apt, brew and manual options, and for Windows asks you to place ffmpeg.exe and ffprobe.exe in the GPT-SoVITS root.
- Windows: use go-webui.bat from the integrated package, or install.ps1 with PowerShell
- macOS: bash install.sh --device <MPS|CPU> --source <HF|HF-Mirror|ModelScope> [--download-uvr5]
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
pwsh -F install.ps1 --Device <CU126|CU128|CPU> --Source <HF|HF-Mirror|ModelScope> [--DownloadUVR5]Run GPT-SoVITS with Docker
The README provides Docker Compose services in full and Lite versions. Lite images do not include ASR models or UVR5 models. Set shm_size (the README suggests 16g as an example) in Docker Compose on Windows Docker Desktop, and switch to the project root and pull the latest code before running.
To run a service, use docker compose with the service name. The README also documents building the image locally with docker_build.sh.
- Full and Lite services exist for CU126 and CU128
- is_half enables fp16 if your GPU supports it, reducing memory use
- Check Docker Hub for the latest image tags
docker compose run --service-ports <GPT-SoVITS-CU126-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU126|GPT-SoVITS-CU128>Download pretrained models and use the WebUI
If install.sh runs successfully, the README says you may skip the first three manual model download steps. Otherwise, download the pretrained models from the links in the README. Users in China can use the mirror listed there.
The WebUI bundles tools for beginners building training data: separate vocals from accompaniment, split long audio into training segments, run Chinese speech recognition, and label text. Use these to prepare a dataset, then train the GPT and SoVITS models.
- Use the zero-shot option for a quick test with a short sample
- Use fine-tuning for a closer match, with about one minute of data
- Only clone voices you have permission to use
What people use it for
- Narrating videos or tutorials in a consistent synthetic voice the creator has permission to use
- Experimenting with voice cloning as a hobbyist on a local machine
- Building a self-hosted TTS system with a WebUI for a developer project
- Preparing training datasets with the built-in vocal separation and segmentation tools
Frequently asked questions
Is GPT-SoVITS free to use?
GPT-SoVITS is released under the MIT licence, as shown on the project page. The README does not list any paid tier, so the code is free under that licence. Check the LICENSE file in the repository for the full terms.
What are the requirements for GPT-SoVITS?
The README lists Conda, Python 3.10 (3.10 to 3.12 supported), and FFmpeg. A CUDA-capable GPU is recommended, and Apple silicon and CPU are also listed as options.
How much audio do I need to clone a voice?
For zero-shot speech the README gives a 5-second vocal sample as an example. For few-shot fine-tuning it says about one minute of training data.
Can GPT-SoVITS run without a GPU?
The README lists CPU as a device option for the installer and Docker. It does not give CPU speed guarantees, and its speed figures come from high-end GPUs.
Does GPT-SoVITS work in languages other than the training data?
Yes, the README describes cross-lingual inference and lists English, Japanese, Korean, Cantonese and Chinese as supported languages.
What are alternatives to GPT-SoVITS?
Comparable projects named in this directory include RVC, Coqui TTS, Bark and XTTS. Pick based on your hardware, the languages you need and whether you want a WebUI.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
GPT-SoVITS suits hobbyists, creators and developers who are comfortable with Conda and Python setup and who have permission to clone the voice they use. It is a poor fit for anyone who needs a zero-install tool, guaranteed real-time speed on modest hardware, or a clone of a voice without the speaker's consent.
Install options & downloads