Mac 上 3 步跑通 GPT-SoVITS: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 是一个开源的少样本声音克隆 TTS 工具,1 分钟语音样本就能训练出专属音色模型。这篇教程覆盖 macOS 上 3 步装好并启动推理 WebUI 的完整流程,M4 CPU 上 v2ProPlus 的 RTF 为 0.526。
先看效果——完成后你能得到什么
全部完成后,你会得到一个本地可访问的 GPT-SoVITS-WebUI:5 秒参考音频即可零样本合成,1 分钟数据还能微调出专属音色模型。
| 项目 | 效果 |
|---|---|
| 零样本 TTS | 5 秒参考音频直接合成,不需要训练 |
| 少样本微调 | 1 分钟训练数据,音色相似度更高 |
| 推理速度(官方实测) | v2ProPlus RTF:4090 为 0.014,4060Ti 为 0.028,M4 CPU 为 0.526 |
| 入口 | WebUI 开在 127.0.0.1:9874,支持中、英、日、韩、粤 5 种语言 |
推理界面在 1C-inference 标签页:上传参考音频、输入文本,就能得到音频文件。数据集准备也在 WebUI 里,内置人声分离、自动切片、ASR 转写和文本校对工具。表中数字全部来自项目 README 的官方测试。
3 步跑通
总共 3 段命令,每步都带验证点,对得上就继续下一步。
第 1 步:拿到代码和 Python 环境
git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS conda create -n GPTSoVits python=3.10 -y conda activate GPTSoVits验证点:终端提示符前缀变成(GPTSoVits)。官方安装命令推荐 python=3.10,Apple Silicon 在 Python 3.9 / 3.11 加 PyTorch 2.5.1 / 2.7.0 下都经过测试。
第 2 步:一条命令装依赖和预训练模型
brew install ffmpeg bash install.sh --device MPS --source HF脚本一次装完:CPU 优化的 PyTorch 环境、全部底模(下载到GPT_SoVITS/pretrained_models/)、中文前端的 G2PW 模型。国内网络可以把--source HF换成--source ModelScope。注意 macOS 上--device MPS实际安装的是官方 CPU 优化推理路径,这是项目的设计,原因见下一节。
验证点:脚本跑完没有红色Error输出,GPT_SoVITS/pretrained_models/目录里能看到s2G2333k.pth、s1v3.ckpt等模型文件。
第 3 步:启动 WebUI
python webui.py验证点:终端打印出包含127.0.0.1:9874的地址,浏览器打开后能看到 GPT-SoVITS-WebUI 页面。命令后可选加语言参数,例如python webui.py zh。进入 1C-inference 标签页,上传一段 5 秒参考音频,输入一句话,合成后能直接试听、下载音频。
它为什么能更快
在 Apple Silicon 上,官方实测最快的推理路径不是 GPU,而是 CPU 优化链路。GPT-SoVITS 由 GPT 和 SoVITS 两个模型串联:GPT 把文字转成语义 token,SoVITS 再把 token 变成波形。这像餐厅的两道工序,前菜间(GPT)定配方,灶台(SoVITS)负责出菜。2024 年 2 月项目实测 Mac 上 MPS 路径比 CPU 更慢,于是把推理设备改为 CPU,install.sh 里的--device MPS装的就是这套 CPU 优化环境。Apple Silicon 的 CPU 单核性能足够高,官方实测 v2ProPlus 在 4060Ti 上 RTF 0.028(1400 字约 4 分钟音频,推理 3.36 秒),M4 CPU 上 0.526,都属于可用水平。
踩坑速查
遇到报错先对照这张表,多数是环境问题,不是代码问题。
| 现象 | 原因 | 一句话解法 |
|---|---|---|
| 出现 install.sh 开头卡住不动 | Xcode 命令行工具没装 | 先xcode-select --install再重跑,脚本会自动等待 |
| 出现 ffmpeg 缺失、音频切片报错 | macOS 不自带 ffmpeg | brew install ffmpeg即可 |
| 出现端口 9874 页面打不开 | 旧 WebUI 进程还占着端口 | lsof -i:9874找到 PID 杀掉再启动 |
| 出现中文合成读错字、音素异常 | G2PW 中文前端模型缺失 | 重跑安装脚本,或把 G2PWModel.zip 放到GPT_SoVITS/text/ |
| 出现 tts_infer.yaml 里 is_half 改 true 后报错 | Mac 的 CPU 路径不支持 fp16 半精度 | 改回默认is_half: false,不要动这一项 |
需要更深的时候
基础推理跑通后,项目里有 3 条现成路径可以直接扩展。
- 少样本微调:用 1 分钟数据训练专属音色,GPT 侧对应
GPT_SoVITS/s1_train.py,SoVITS 侧对应GPT_SoVITS/s2_train.py,WebUI 里有完整按钮,不用手写命令。 - API 服务:把合成能力以 HTTP 接口暴露给你自己的应用,启动
api_v2.py,默认端口 9880,不经过 WebUI。 - 流式推理:v2Pro 流式输出,首句出声的等待感更短,实现看
GPT_SoVITS/stream_v2pro.py。
更多细节可以翻 中文文档 和 更新日志。
建议你先按 3 步装完,在 1C-inference 标签页合成一条 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考