GPT-SoVITS:5 秒音频零样本推理,1 分钟数据微调克隆专属音色
【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS
GPT-SoVITS 是一个开源的少样本语音克隆项目:用 5 秒音频即可做零样本推理,用 1 分钟训练数据可微调出高相似度音色,支持中、英、日、韩、粤 5 种语言,并内置从数据切割、自动标注到推理的完整 WebUI 流程。
一眼看懂:GPT-SoVITS 是什么
GPT-SoVITS 把"文本转语音"拆成两段:先用 GPT 结构的自回归模型把文本转成语音离散特征(可以理解为先写出"发音草稿"),再由 SoVITS 声学模型把这些特征还原成波形。它的特点是把语音克隆的门槛压得很低——不训练也能用,训练一分钟就能显著拉近音色。
关键指标一览(数据均取自仓库文档):
| 项目 | 说明 |
|---|---|
| 最少样本量 | 零样本推理只需 5 秒参考音频 |
| 最少微调数据 | 1 分钟训练音频 |
| 支持语言 | 中文、英语、日语、韩语、粤语,共 5 种 |
| 推理速度 | v2ProPlus 实测 RTF 0.028(4060 Ti)、0.014(4090)、0.526(M4 纯 CPU) |
| 运行环境 | Python 3.10/3.11,PyTorch 2.5.1/2.7.0,CUDA 12.4 或 12.8,也支持 Apple 芯片与纯 CPU |
| WebUI 端口 | 主界面 9874,推理界面 9872,见 config.py |
🚀 跑通第一次:安装并启动 WebUI
安装脚本会自动拉取依赖和预训练模型,成功执行后无需再手动放置模型文件。以 Linux 为例:
git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS conda create -n GPTSoVits python=3.10 && conda activate GPTSoVits bash install.sh --device CU128 --source HFWindows 用户可以直接下载文档中给出的整合包,解压后双击 go-webui.bat 启动,免去环境搭建;国内网络建议把--source换成HF-Mirror或ModelScope。CUDA 版本对不上时,把--device改为CU126或CPU即可。
激活环境后执行下面这条命令,浏览器访问 9874 端口,打开的就是主 WebUI:
python webui.py首次加载模型会慢一些,加载完成后即可在"1-GPT-SoVITS-TTS"页签进入推理界面,不训练直接选底模、上传参考音频就能出第一段合成音频。硬件方面不用太高规格:config.py 会自动检测显卡,显存低于 4GB 或不支持的架构会自动回退到 CPU 与单精度,只是速度变慢,不会报错。
实操:从录音到第一次完整合成
数据准备要点:
- 训练集清单用
.list文件描述,每行格式为音频路径|说话人名|语言|文本,语言代码取zh、en、ja、ko、yue之一。 - 背景有伴奏或噪音的录音,先用内置 UVR5 工具做人声分离,模型放在 tools/uvr5/uvr5_weights。
- 长音频先切割成短句片段,WebUI 内置切割页,也可用 tools/slicer2.py 命令行完成。
- 文本标注交给 ASR 自动转写(Fun-ASR-Nano / SenseVoice,首次使用自动下载),人工校对后再训练,标注准确率直接影响合成质量。
操作步骤(全部在主 WebUI 内完成):
- 在"0-前置数据集处理工具"页填入训练音频目录路径。
- 点击切割,把长音频切成小片段。
- 按需执行降噪(可选)。
- 运行 ASR,生成转写文本。
- 在标注校对页逐条检查并修正文本。
- 切到训练页,先训练 GPT(s1),再训练 SoVITS(s2),产出权重存到
logs目录。 - 打开推理界面,选择刚训练出的 GPT 与 SoVITS 权重,上传参考音频(约 5–10 秒、干净无噪),粘贴目标文本,点击合成。
独立运行推理界面的方式是执行python GPT_SoVITS/inference_webui.py,默认端口 9872,适合训练和推理解耦使用。
进阶与调参:版本怎么选
项目在 config.py 中维护了 v1 到 v4、v2Pro/v2ProPlus 共六个系列的预训练权重,训练和推理时按版本选择即可:
| 版本 | 一句话说明与适用场景 |
|---|---|
| v2 | 底模扩充至 5k 小时数据,新增韩语、粤语支持,对低音质参考音频合成效果更稳,适合入门 |
| v3 | 音色相似度更高、重复漏字更少,情感更丰富,但原生输出 24kHz 音频 |
| v4 | 修复 v3 的金属音问题并原生输出 48kHz,文档定位是 v3 的直接替代,适合追求高解析度 |
| v2Pro / v2ProPlus | 音质超过 v4,显存占用比 v2 稍高,保留 v2 的速度,适合训练集音质一般的场景 |
文档同时提示:v3/v4 的合成音色更贴近参考音频本身,而 v1/v2/v2Pro 更贴近整个训练集的风格,选版本前先想清楚你要哪种效果。
常见坑:高频问题排查
Mac 上为什么建议用 CPU 训练?文档明确说明,在 Mac 上用 GPU 训练出的模型质量显著低于其他设备,因此暂时统一使用 CPU 训练。
Docker 在 Windows 上运行异常?Docker Desktop 默认共享内存偏小,按 docker-compose.yaml 的说明把shm_size调大(例如16g)即可。
合成音频里混进了参考音频的尾部?这是早期已知问题,更新日志显示已"大幅削弱";遇到时先确认代码与模型都更新到了最新版再复测。
合成出来的声音发闷?v3 原生输出 24kHz,文档给出两条路:换 v4 原生 48kHz,或用 tools/AP_BWE_main 里的音频超分工具做 24k 到 48k 的补带宽。
依赖安装失败或 CUDA 不匹配?按文档重建环境:删除 conda 环境后用 Python 3.10 重建,再执行install.sh并指定正确的--device(CU126/CU128/CPU);FFmpeg 缺失时单独安装(conda 用户conda install ffmpeg)。
延伸与资源:文档和核心代码
- 完整中文文档见 docs/cn/README.md,更新记录见 docs/cn/Changelog_CN.md。
- GPT 自回归模型在 GPT_SoVITS/AR/models/,SoVITS 声学模型在 GPT_SoVITS/module/models.py。
- 多语言文本前端(拼音、假名、声调处理)集中在 GPT_SoVITS/text/,中文拼音转换依赖 G2PW 模型。
- 推理入口是 GPT_SoVITS/inference_webui.py,服务化部署可看 api.py 与 api_v2.py。
- 遇到问题优先查项目仓库的 Issues 区,同类问题大多已有现成结论。
先用 v2 底模跑通零样本推理,确认参考音频质量达标后,再录 1–3 分钟干净音频走一遍微调流程,这是成本最低的上手路径;如果合成音色偏差较大,优先回到录音质量而不是训练参数。
【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考