← All reportsPublic report

rvc-boss/gpt-sovits

1 min voice data can also be used to train a good TTS model! (few shot voice cloning)

61k stars Python View on GitHubprofiled 11d ago
Try GitZoid
2PRs this week
2Contributors
1Deps scanned
0Issues found
01 · Repo overview

How gpt-sovits is put together

GPT-SoVITS is a Python/PyTorch few-shot voice cloning and text-to-speech system built around a GPT-based semantic model (AR/t2s) paired with SoVITS vocoder variants (v1-v4, v2Pro/Plus), plus vendored BigVGAN and HiFi-GAN vocoders. It ships multiple entry points: a Gradio WebUI (webui.py), two FastAPI HTTP inference servers (api.py legacy, api_v2.py TTS_infer_pack-based), a CLI/GUI inference path, and training pipelines (s1_train/s2_train*). Data flow: input text is language-segmented, normalized, and phonemized (g2pw/pypinyin/jieba etc.), reference audio is encoded via Chinese HuBERT and speaker-verification models, then the AR model predicts semantic tokens that the SoVITS/BigVGAN decoder renders to wav/ogg/aac streamed over HTTP. Model checkpoints are loaded from local GPT_SoVITS/pretrained_models directories or user-supplied paths, with some assets downloaded at runtime.

Languages

PythonCUDA C++ (vendored BigVGAN kernels)ShellPowerShellBatchfile

Frameworks

PyTorchFastAPIuvicornGradio (<5)pytorch-lightningHugging Face TransformersONNX RuntimeFunASRCTranslate2

Infrastructure

Docker (Dockerfile, docker-compose.yaml, docker_build.sh)NVIDIA CUDA GPU runtime (nvcc/ninja kernel build)Colab notebooksinstall.sh/install.ps1 installers

Major components

api.py (legacy WebAPI)

FastAPI server exposing single-endpoint TTS inference, default-reference management (/change_refer), and process control (/control) on port 9880.

api_v2.py + TTS_infer_pack

Second-generation FastAPI TTS service with batched/streaming synthesis, text segmentation methods, media packing (wav/ogg/aac via ffmpeg), and hot-swapping of GPT/SoVITS weights.

GPT_SoVITS/AR

Autoregressive text-to-semantic-token transformer (t2s_model, lightning training module, CUDA-graph and ONNX variants).

GPT_SoVITS/module

Core SoVITS/VITS neural modules: Generator/SynthesizerTrn(SynthesizerTrnV3), attention, quantization, mel processing, losses, data utils.

GPT_SoVITS/text

Multilingual text frontend: cleaners for zh/en/ja/ko/yue, LangSegmenter, zh_normalization, and g2pw polyphonic ONNX pronunciation prediction.

Training pipelines

s1_train.py, s2_train*.py and prepare_datasets scripts for dataset prep (HuBERT features, semantic extraction, ASR labels) and fine-tuning GPT/SoVITS including LoRA v3.

tools/

Utilities: ASR dataset labeling (FunASR/faster-whisper), UVR5 vocal separation, audio super-resolution (AP_BWE), slicing/denoising, i18n, subfix webui.

config.py

Central configuration: pretrained model paths per version, weight roots, device/half-precision detection via CUDA capability probing, WebUI/API ports, env-var overrides.

02 · Weekly changes

A single fix corrected the software requirements needed to run the Fun-ASR-Nano speech recognition feature.

2 weeksWeek of 2026-08-17

The past few weeks saw light but steady maintenance on the GPT-SoVITS project, with just one change shipping each week. The most recent work fixed a dependency requirement for the Fun-ASR-Nano speech recognition component, while the earlier week focused on tidying up the codebase by removing redundant code.

Week by week

2026-08-17A single fix corrected the software requirements needed to run the Fun-ASR-Nano speech recognition feature.latest1 change

Fix

Fix Fun-ASR-Nano Transformers requirement

Updated the required version of the Transformers library so that the Fun-ASR-Nano speech-to-text feature installs and runs correctly.

2026-07-20A small cleanup pass removed leftover code that was no longer needed.1 change

Refactor

Remove redundant code

Deleted duplicate or unused code from the project, making it cleaner and easier to maintain without changing how it behaves.

03 · Security check

Dependencies and code review

1 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 1 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

warningauthzGET/POST /control (api_v2.py)

GET/POST /control (api_v2.py)

Unauthenticated remote denial of service against the TTS API process.

Fix: Require a shared secret token (header or query parameter compared against a value supplied at startup) on /control, and bind to loopback unless exposure is explicitly requested.

warningauthzGET/POST /set_gpt_weights and /set_sovits_weights (api_v2.py)

GET/POST /set_gpt_weights and /set_sovits_weights (api_v2.py)

Unauthenticated arbitrary checkpoint loading leading to remote code execution whenever the attacker can place a file on the host, and unauthenticated model swapping plus filesystem probing otherwise.

Fix: Require authentication on both endpoints and restrict weights_path to an allowlisted model directory (resolve and verify the realpath is under it) before loading.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required