# GPT-SoVITS

> Few-shot voice cloning and TTS WebUI from one minute of audio

- Category: Multimodal Generation / Audio, Music & Voice
- Language: Python
- Licence: MIT
- Repository: https://github.com/RVC-Boss/GPT-SoVITS
- Canonical page: https://ai-tldr.dev/tools/gpt-sovits/

## In short

GPT-SoVITS is a voice cloning and text-to-speech tool with a built-in WebUI. With zero-shot mode you feed it a 5-second vocal sample and it instantly speaks new text in that voice. It sits in the Audio, Music & Voice category of the Multimodal Generation tools and is open-source, written in Python and licensed MIT.

## Overview

GPT-SoVITS is a voice cloning and text-to-speech tool with a built-in WebUI. With zero-shot mode you feed it a 5-second vocal sample and it instantly speaks new text in that voice. With few-shot mode you fine-tune the model on about one minute of audio to get closer voice similarity and more natural results.

It also handles cross-lingual speech, so a voice trained on one language can read text in another. The project currently supports English, Japanese, Korean, Cantonese, and Chinese. The WebUI bundles helper tools for preparing training data, which makes it approachable for people who are not machine-learning experts.

## What it does

- Zero-shot TTS: generate speech in a new voice from just a 5-second sample
- Few-shot fine-tuning: train on roughly one minute of audio for better voice similarity
- Cross-lingual inference across English, Japanese, Korean, Cantonese, and Chinese
- WebUI dataset tools: vocal/accompaniment separation, automatic segmentation, Chinese ASR, and text labeling
- Runs on NVIDIA CUDA, AMD ROCm, Apple silicon (MPS), or plain CPU
- Windows integrated package and Docker images for quick setup

## Getting started

GPT-SoVITS runs in a conda environment with Python 3.10. Windows users can grab the integrated package, while Linux and macOS users install via the provided script. After setup, you launch the WebUI to clone voices and generate speech.

1. Create the conda environment

   Set up a fresh Python 3.10 environment and activate it before installing.

```bash
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
```

2. Install on Linux

   Run the install script, choosing your device and the source to download models from. Add --download-uvr5 if you want the vocal-separation models.

```bash
bash install.sh --device <CU126|CU128|ROCM|CPU> --source <HF|HF-Mirror|ModelScope> [--download-uvr5]
```

3. Start on Windows with the integrated package

   Windows users (tested on Windows 10 and newer) can download the integrated package and double-click go-webui.bat to launch the GPT-SoVITS WebUI without manual setup.

## When to use it

- Clone a voice from a short sample to narrate scripts, videos, or audiobooks
- Fine-tune a custom voice on about a minute of audio for a personal TTS model
- Produce cross-lingual voiceovers, reading text in a language the voice was not trained on
- Build a labeled training dataset using the WebUI's separation, segmentation, and ASR tools
