GPT-SoVITS:1 分钟音频克隆音色、5 秒参考音频直接出中文 TTS 的完整上手指南
【免费下载链接】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 是一个开源的少样本语音克隆与文本合成工具:丢给它 1 分钟目标人声,微调后即可用这个音色朗读任意文本;甚至不训练,用 5 秒参考音频就能零样本合成。它带 WebUI、内置数据集制作工具链(切分、降噪、ASR 自动标注、校对),并支持中、英、日、韩、粤五种语言。
最短路径:从克隆仓库到第一次合成
结论先说:在装有 NVIDIA 显卡的机器上,从git clone到在浏览器里合成出第一句中文,按下面 5 步走即可(Windows 用户也可下载官方整合包,解压后双击go-webui.bat直接跳过 1–3 步)。
克隆仓库并创建环境
git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS conda create -n GPTSoVits python=3.10 conda activate GPTSoVits预期结果:一个名为
GPTSoVits的 Python 3.10 虚拟环境被激活。一键安装依赖并下载预训练模型
# Linux / macOS bash install.sh --device CU128 --source HF # Windows pwsh -F install.ps1 --Device CU128 --Source HF--source可选HF、HF-Mirror、ModelScope,按你的网络环境选择。预期结果:脚本结束时,预训练模型已放入GPT_SoVITS/pretrained_models,无需手动下载。确保系统里有 FFmpeg(手动安装时才需要单独处理):conda 用户执行
conda install ffmpeg,Ubuntu/Debian 执行sudo apt install ffmpeg libsox-dev,macOS 执行brew install ffmpeg。Windows 需将ffmpeg.exe、ffprobe.exe放到项目根目录,并安装 Visual Studio 2017 运行库。预期结果:终端能正常执行ffmpeg -version。启动 WebUI
python webui.py预期结果:浏览器自动打开 Gradio 界面,顶部出现
1-GPT-SoVITS-TTS、2-GPT-SOVITS-TTS、0-前置数据集获取工具等标签页。零样本试听:进入
1-GPT-SoVITS-TTS→1C-inference,上传一段 5 秒人声作为参考,粘贴文本,点击合成。预期结果:几秒内得到用该音色朗读的音频文件。
💡 各平台测试通过的环境组合见仓库 README:Python 3.10/3.11 配 CUDA 12.4 或 12.8,Apple 芯片、纯 CPU 也有对应组合。
核心能力拆解:它能做什么
5 秒零样本合成——不训练也能用。上传任意 5 秒人声当参考,直接输入文本合成,适合快速验证"这个音色适不适合我的内容"。零样本相似度有限,但足以判断值不值得继续投入。
1 分钟微调——把音色"焊"住。只要 1 分钟目标人声训练数据,微调后音色相似度和真实感会明显提升,这是项目 README 里明确写出的能力定位("1 min voice data can also be used to train a good TTS model")。训练集制作有完整工具链兜底:音频自动切分、可选降噪、ASR 自动转写(Fun-ASR-Nano / SenseVoice / FunASR)、文本校对,都集成在 WebUI 的0-前置数据集获取工具标签页里,不需要自己写脚本。
五语种合成与跨语言推理。支持中文、英文、日语、韩语、粤语的训练与推理,且能用 A 语言的训练集推 B 语言的文本。v2 之后还优化了文本前端,预训练数据从 2k 小时扩展到 5k 小时,低质量参考音频的合成效果也做了专门改进。
推理速度有实测数字。官方 README 给出 v2ProPlus 的 RTF:RTX 4090 上 0.014,RTX 4060Ti 上 0.028,Apple M4 纯 CPU 上 0.526——换算过来,4090 上合成约 4 分钟、1400 词左右的音频只需 3.36 秒,日常配音场景够用。
原理速览:为什么两段式能做到"像"
GPT-SoVITS 的推理管线是分两段的,代码里对应 GPT_SoVITS/AR/(GPT 段)和 GPT_SoVITS/module/(SoVITS 段)。
第一段负责"说什么":文本先经各语言文本前端(中文用 G2PW 处理多音字,见 GPT_SoVITS/text/)规整成音素序列,再由预训练 GPT 模型(文件名里的s1bert25hz即基于 BERT 的文本编码器)逐帧生成 25Hz 的语义 token。语义 token 是抽象的"内容单位",和具体音色解耦,所以 5 秒参考音频也能引导它说出像样的内容。
第二段负责"谁来读":SoVITS 模型以 GPT 产出的语义 token 为输入,参考音频提供音色条件,生成声学特征,最后由 BigVGAN 声码器(GPT_SoVITS/BigVGAN/,来自 NVIDIA)重建波形。v3/v4 系列对声码器做了升级,v4 还修复了 v3 因非整数倍上采样带来的金属质感 artifacts,并原生输出 48kHz 音频——v3 只原生输出 24kHz,高音容易发闷。这也是 v4 被官方视为 v3 直接替代品的原因。
正因为"内容"与"音色"分属两段、各自可单独微调,项目才支持零样本(参考音频直接进第二段)、LoRA 微调(只训练小权重,见 GPT_SoVITS/s2_train_v3_lora.py)这类玩法,数据需求才压得这么低。
场景与玩法:三个可复现的用法
玩法一:给自己做一条播客旁白(零样本起步)
- 录一段自己 5–10 秒的干净人声,存成 wav。
- 打开
1C-inference,上传参考音频,粘贴旁白稿,勾选对应语言。 - 试听后调语速/语气参数重合成,导出用。
效果:不需要任何训练,几分钟拿到成片;如果觉得音色还不够贴,再走玩法二。
玩法二:用 1 分钟素材微调专属音色(少样本全流程)
0-前置数据集获取工具:填音频路径 → 一键切分 →(人声混背景音乐就先 UVR5 分离)→ ASR 自动生成文本。- 在
1B-ASR批量打标校对转写文本(错字会直接进训练集,值得过一遍)。 - 标签页 1/2 分别微调 GPT 和 SoVITS 两段模型。
- 回到
1C-inference,选中新训出的权重合成。
效果:训练完成后同一文本的音色贴合度明显高于零样本;仓库 README 的 v3 版本说明也指出,v3/v4 合成音色更贴近参考音频本身。
玩法三:接到自己的应用里(API 调用)
仓库提供 api_v2.py 与 api.py 两个 HTTP 接口入口,参数化调用模型进行合成,适合把 TTS 嵌进 Web 服务、游戏、有声内容流水线。配合config.py中的路径配置即可指定模型与输出目录;需要批量生产时,参考 GPT_SoVITS/prepare_datasets/ 下的脚本化流程管理素材。
⚠️ 跨语言提示:粤语和中文在 ASR 侧走不同后端(粤语走经典 FunASR),训练集语言标注(zh/en/ja/ko/yue)要写对,否则合成效果会打折扣。标注格式是音频路径|说话人|语言|文本,见 README 的 Dataset Format 一节。
排错手册:高频报错与解法
| 现象 | 常见原因 | 解法 |
|---|---|---|
| Windows 启动即报 ffmpeg 相关错误 | 缺少 ffmpeg | 将ffmpeg.exe/ffprobe.exe放到项目根目录,并安装 Visual Studio 2017 C++ 运行库 |
| 推理时提示找不到模型/权重 | 预训练模型没放到GPT_SoVITS/pretrained_models,或版本不匹配 | 用install.sh/install.ps1重装;手动下载时核对 config.py 里各版本对应的权重文件名(v4 需gsv-v4-pretrained/s2Gv4.pth等) |
| 中文合成报文本前端错误 | 缺 G2PW 中文前端模型 | 下载 G2PWModel 解压改名放到GPT_SoVITS/text(仅中文 TTS 需要) |
| 显存不足/训练中断 | 模型与批处理占用过高 | 启用半精度(Docker 环境变量is_half=true或启动参数),或换小样本训练 |
| Docker 容器行为异常 | Windows Docker Desktop 默认共享内存过小 | 在 docker-compose.yaml 中把shm_size调大(如16g) |
| ASR 首次使用卡住或失败 | 模型需联网自动下载 | 首次使用让程序自动下载;离线环境需手动把 FunASR 模型放入tools/asr/models(README 有各模型对应下载地址) |
| Mac 上训练出的模型明显差 | Apple 芯片 GPU 训练效果低于其他设备 | 官方建议 Mac 上训练用 CPU(--device MPS/CPU安装时选 CPU 训练) |
| 合成音频带金属声/高音发闷 | 在用 v3 或其声码器 | 升级到 v4 权重(原生 48kHz 输出),版本差异详见 README 的 V4 Release Notes |
收尾
GPT-SoVITS 的价值很直接:5 秒参考就能出活,1 分钟素材就能微调出可用的专属音色,配套工具链让新手不必离开 WebUI 就能完成全流程。
下一步建议:先跑通零样本合成,再用 1 分钟素材完整走一遍"切分→ASR→校对→微调"流程,把 docs/cn/ 的中文文档翻一遍对照操作,基本就能覆盖日常使用。
【免费下载链接】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),仅供参考