news 2026/8/30 9:11:36

GPT-SoVITS 语音合成在 Mac 上跑满速:MPS 加速配置与调优实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GPT-SoVITS 语音合成在 Mac 上跑满速:MPS 加速配置与调优实战

GPT-SoVITS 语音合成在 Mac 上跑满速:MPS 加速配置与调优实战

【免费下载链接】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 模型。它默认在 CPU 上推理,合成速度慢是 macOS 用户绕不开的痛点;借助 Apple Silicon 芯片的 MPS(Metal Performance Shaders)加速,推理速度可以提升 3~5 倍。这篇指南覆盖从系统检查、一键安装到参数调优和批量合成的完整流程,照着做即可。

起飞前检查清单

开始前花一分钟确认硬件满足条件,能避免后面大部分装不上的问题:

  • macOS 版本:≥ 12.0(Monterey)
  • 芯片类型:Apple Silicon(M 系列芯片)
  • Xcode 命令行工具:必须已安装,编译和 MPS 运行时都依赖它

两条命令可以快速核对:

sw_vers -productVersion # 查看 macOS 版本 sysctl -n machdep.cpu.brand_string # 查看芯片型号

如果第二条命令输出的是 M 系列芯片型号,就可以走 MPS 路线。

快速上手:四步跑通 MPS 推理

整个流程是线性的,从克隆仓库到 WebUI 出声,不超过 4 步。

第 1 步,克隆代码

git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS

第 2 步,一键安装:仓库自带的 install.sh 支持设备参数,MPS 走 CPU 版 PyTorch 加 Metal 后端,模型源选 ModelScope 在国内下载更稳:

bash install.sh --device MPS --source ModelScope

脚本会自动识别 Apple Silicon 架构、装好匹配的 PyTorch 与依赖,并把预训练模型下载到 GPT_SoVITS/pretrained_models/ 目录,这一步不需要手动干预。

第 3 步,做两处关键修改:配置文件和环境变量各改一处,具体见下一节。

第 4 步,启动并验证

python webui.py

启动后终端和 WebUI 界面会显示当前设备为mps;打开活动监视器,推理时 GPU 占用率上升即说明加速生效,速度相比 CPU 模式有明显提升。

MPS 加速只需改这两处

配置层面真正必须动的只有两个地方,改完即可上 GPU。

其一,推理配置文件。打开 GPT_SoVITS/configs/tts_infer.yaml,把对应版本段(如v2)的设备从cpu改为mps,同时打开半精度:

v2: device: mps # 由 cpu 改为 mps is_half: true # 启用半精度

原因很简单:这份配置默认就是 CPU 模式,不改的话模型根本不会加载到 Metal 后端,后面怎么调都白搭。

其二,两个环境变量。启动 WebUI 前先执行:

export PYTORCH_ENABLE_MPS_FALLBACK=1 # MPS 缺失算子时回退 CPU export KMP_DUPLICATE_LIB_OK=TRUE # 规避 OpenMP 库重复加载

前者是保险丝:部分算子在 Metal 上没有原生内核,开了回退就不会直接报错中断;后者解决系统级库冲突导致的崩溃。

速度与内存调优:三个可动旋钮

跑通之后想再榨一点性能,可以按内存余量逐个调整。

批处理大小:修改 config.py 中的default_batch_size,把它压到max(1, minmem // 4)附近,内存紧张时直接设 1;同时可在 GPT_SoVITS/configs/tts_infer.yaml 的custom段按内存大小把batch_size调到 2。批处理开太大是最常见的爆内存来源。

半精度推理:确认is_half: true生效。FP16 相比 FP32 显存压力减半,速度也更快,语音质量无明显损失。

模型预加载:把常用底模路径写死进 webui.py 的环境变量,省去每次启动的重复加载:

os.environ["gpt_path"] = "GPT_SoVITS/pretrained_models/s1v3.ckpt" os.environ["sovits_path"] = "GPT_SoVITS/pretrained_models/v2Pro/s2Gv2Pro.pth"

训练场景:如果后续要微调,可设置if_grad_ckpt: true开启梯度检查点,用少量计算换显存空间。

两种使用方式:WebUI 单条、CLI 批量

单条合成走 WebUIpython webui.py启动后访问http://localhost:9874,GPT_SoVITS/inference_webui.py 提供的图形界面里选择底模、粘贴参考音频和目标文本,即可实时试听生成结果,适合日常创作和效果对比。

批量任务走命令行。准备一个每行一句的文本文件,用 GPT_SoVITS/inference_cli.py 一次跑完:

python GPT_SoVITS/inference_cli.py --text "批量处理文本.txt" --output_dir ./output --device mps

无界面、可脚本化,适合夜里挂任务。

避坑 FAQ

现象:报aten::_linalg_svd之类的算子不支持错误。原因:该算子在 MPS 上没有内核,且回退开关没开。 解决:启动前执行export PYTORCH_ENABLE_MPS_FALLBACK=1,让它自动走 CPU 兜底。

现象:16GB 内存机器频繁卡死或触发 swap。原因:模型权重加批处理缓冲超出了统一内存余量。 解决:先关掉其他内存大户,再把 config.py 里is_half保持true、批处理大小降到 1,两项一起做通常就能稳住。

现象:预训练模型下载极慢甚至超时。原因:默认模型源在国内访问速度不理想。 解决:编辑 install.sh 中第 246~253 行附近的下载 URL,换成 ModelScope 国内镜像地址:

PRETRINED_URL="https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/pretrained_models.zip"

现象:启动时报 OpenMP 相关的库加载冲突。原因:conda 环境里重复链接了 OpenMP 运行时。 解决:export KMP_DUPLICATE_LIB_OK=TRUE后重启进程即可。

性能数据与进阶方向

M1 Pro(16GB)上的实测数据,三种模式的平均耗时与内存占用:

  • CPU 模式:约 0.8 秒/句,占用 4.2GB,质量正常
  • MPS + FP32:约 0.3 秒/句,占用 5.8GB,质量正常
  • MPS + FP16:约 0.2 秒/句,占用 3.5GB,质量最佳

FP16 路线速度提升约 300%,内存还比 FP32 省了四成,是 Mac 上的默认选择。

想继续深入,有三个方向值得尝试:一是用 GPT_SoVITS/export_torch_script.py 导出 INT8 量化模型进一步压缩体积;二是通过 GPT_SoVITS/s2_train.py 微调自己的专属音色;三是调整 webui.py 里的default_max_batch_size,让服务扛住更多并发请求。

配置中遇到报错或有优化建议,欢迎直接到项目仓库提 Issue,社区响应很快。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 9:10:46

机战UX超清重绘:十万图AI抽卡打造高清游戏素材

这一次我们来看一个机战主题的重绘资源项目:《机战UX》超清重绘版。项目作者是大灰鹅,标题里最抓眼球的数字是“耗费十万图抽卡”,可以把它理解为一次大规模的AI素材重绘工程,目的是把原本在3DS上运行的《超级机器人大战UX》游戏素…

作者头像 李华
网站建设 2026/8/30 9:09:12

可逆不可学习样本:深度学习版权保护的新思路

这次我们来看一个深度学习版权保护方向的研究题目: Reversible Unlearnable Examples: Towards the Copyright Protection in Deep Learning Era 。一句话概括,它解决的是“数据集公开了,但又没完全公开”的问题——数据所有者希望数据可以…

作者头像 李华
网站建设 2026/8/30 9:05:32

十分钟上手 Fooocus AI 绘图工具:从下载到出图的完整教程

十分钟上手 Fooocus AI 绘图工具:从下载到出图的完整教程 【免费下载链接】Fooocus Focus on prompting and generating 项目地址: https://gitcode.com/GitHub_Trending/fo/Fooocus 第一次接触 AI 绘图,最怕的不是不会画,而是一堆看不…

作者头像 李华
网站建设 2026/8/30 8:59:42

免费自托管的可视化数据库:NocoDB 快速上手指南

免费自托管的可视化数据库:NocoDB 快速上手指南 【免费下载链接】nocodb 🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative 项目地址: https://gitcode.com/GitHub_Trending/no/nocodb Excel 里做不了下拉枚举、…

作者头像 李华
网站建设 2026/8/30 8:54:09

C语言校招笔试核心考点解析:指针、内存与工程思维

1. 这套C卷的出题逻辑与备战价值 看到"欢聚时代2017校招笔试题目(C 基础类)C卷"这个标题,估计不少准备校招的同学第一反应是:这都几年前的老题了,还有翻出来的必要吗? 我的答案是:太…

作者头像 李华
网站建设 2026/8/30 8:54:04

Muse登陆Runway:掩码生成Transformer如何改变图像生成工作流

最近圈子里在聊一件事:Meta 的图像模型 Muse 登陆 Runway。我的第一反应不是“又多了一个能画图的模型”,而是“终于有人把非扩散模型这条技术路线真正放进创作工具链了”。这件事如果真的发生,比某张生成图有多好看更值得研究。 为什么&…

作者头像 李华