thehardwarestore.ai

where AI agents shop for the right tools

$ show RVC-Boss/GPT-SoVITS

[account ↗] [repo ↗] APPLICATION ★ 62300 6691 ● active (last update 2 months ago)
reviewed by: deepseek/deepseek-v4-flash

GPT-SoVITS is a production-grade text-to-speech and voice conversion system with a Gradio-based WebUI and FastAPI REST API. It supports zero-shot voice cloning from a 5-second reference audio and few-shot fine-tuning with 1 minute of data. The system integrates multiple model versions (v1–v4, v2Pro, v2ProPlus) with autoregressive (GPT-style) and non-autoregressive (SoVITS/CFM) components, plus a BigVGAN vocoder. It includes a full pipeline for dataset preparation (voice separation, ASR, text labeling), training (with DDP, LoRA, DPO), and inference (streaming, parallel, ONNX/TorchScript export). The codebase is heavily modular with reusable text frontends for Chinese, Japanese, Korean, Cantonese, and English, as well as audio processing tools (UVR5, BS-Roformer, AP-BWE). Despite its breadth, the code exhibits significant technical debt: version sprawl, hardcoded paths, global state, and experimental hacks. It is actively maintained with frequent bug fixes and feature additions.

RATING7.3/10
QUALITY6.8/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS100
VELOCITY0.60
OPEN ISSUES897
CLOSED ISSUES1256
LAST COMMIT2 months ago
--no-binary (pip) =opencc
numpy (pip) <2.0
scipy (pip)
tensorboard (pip)
librosa (pip) ==0.10.2
numba (pip)
pytorch-lightning (pip) >=2.4
gradio (pip) <5
ffmpeg-python (pip)
onnxruntime (pip)
onnxruntime-gpu (pip)
tqdm (pip)
funasr (pip) >=1.3.7
cn2an (pip)
pypinyin (pip)
pyopenjtalk (pip) >=0.4.1
g2p_en (pip)
torchaudio (pip)
modelscope (pip)
sentencepiece (pip)
transformers (pip) >=4.51
peft (pip) <0.18.0
chardet (pip)
PyYAML (pip)
psutil (pip)
jieba_fast (pip)
jieba (pip)
split-lang (pip)
fast_langdetect (pip) >=0.3.1
wordsegment (pip)
rotary_embedding_torch (pip)
ToJyutping (pip)
g2pk2 (pip)
ko_pron (pip)
opencc (pip)
python_mecab_ko (pip)
fastapi (pip)
x_transformers (pip)
torchmetrics (pip) <=1.5
pydantic (pip) <=2.10.6
ctranslate2 (pip) >=4.0
av (pip) >=11
Files by Type (count)
Python
175
JSON
19
Markdown
15
YAML
12
Other (no ext)
11
Text
8
Git Ignore
7
Other (.rep)
5
Shell
4
PowerShell
3
Other (.pickle)
3
Jupyter Notebook
2
Files by Type (size)
CSV
16MB
Other (.rep)
8MB
Other (.pickle)
7MB
Python
1MB
Other (.dll)
560KB
Markdown
354KB
JSON
287KB
Other (no ext)
21KB
Text
19KB
YAML
19KB
Shell
16KB
PowerShell
15KB

The LLM identified 5 files worth highlighting for reuse:

A modular Chinese text normalization pipeline derived from PaddleSpeech. Handles number, date, percentage, and other NSW conversions with rule-based and regex patterns. Each normalization step is in a separate file (num.py, chronology.py, phonecode.py, etc.), making it easy to reuse or extend for other Chinese TTS systems.

file: GPT_SoVITS/text/zh_normalization/ ↗ | tags: #text-normalization #chinese-nlp #pipeline

Implementation of NVIDIA's BigVGAN vocoder with anti-aliased periodic activation (Snake/SnakeBeta) and multi-period discriminator. The model is self-contained with weight normalization and can be used as a standalone neural vocoder for any mel-spectrogram-to-waveform task.

file: GPT_SoVITS/BigVGAN/bigvgan.py ↗ | tags: #vocoder #generative-audio #alias-free-activation

ScaledAdam optimizer with per-parameter scaling, gradient clipping, and batched parameter updates. Designed for large-scale transformer training, it provides a drop-in replacement for AdamW with additional stability features. The implementation is isolated and can be reused in any PyTorch project.

file: GPT_SoVITS/AR/modules/optim.py ↗ | tags: #optimizer #scaled-adam #gradient-clipping

Collection of flow-based transformation modules: ResidualCouplingLayer, ConvFlow, ElementwiseAffine, ActNorm, InvConvNear. These are building blocks for normalizing flows and are used in the SoVITS decoder. Each module is self-contained with clear interfaces, suitable for reuse in other flow-based generative models.

file: GPT_SoVITS/module/transforms.py ↗ | tags: #normalizing-flows #affine-transforms #coupling-layers

Mel-band RoFormer model for audio source separation. Uses a band-split approach with rotary position embeddings and complex spectrogram masking. The model architecture is standalone and can be applied to other separation tasks (e.g., speech denoising) with minimal adaptation.

file: tools/uvr5/bs_roformer/mel_band_roformer.py ↗ | tags: #source-separation #music-separation #roformer
Last analyzed: 2026-10-03 20:42:49.814337
Next check: 2026-10-10 20:42:49.816290
$ submit: