跳到主要内容

语音合成 / 声音克隆

GPT-SoVITS 本地部署:5 秒零样本、1 分钟微调,克隆一个会说五种语言的声音

RVC-Boss/GPT-SoVITS 已经在 GitHub 拿到 6.1 万星,MIT 协议,从 V2 一路更新到 V4 与 V2Pro/V2ProPlus。这一页把每个版本真实的显存账算清楚,再告诉你该在 NexGPU 上开哪张卡。

GPT-SoVITS 是目前中文社区里落地最快的少样本 TTS 方案:给它 5 秒参考音频就能做零样本合成,给它 1 分钟标注素材微调,音色相似度就能压过一大票商业接口。它同时覆盖中文、英文、日文、韩文、粤语(语言代码 zh / en / ja / ko / yue),并且支持跨语种推理——用中文素材训出来的音色,可以直接念英文台词。

版本线要先分清楚:V1/V2/V2Pro/V2ProPlus 是一条线,V3/V4 是另一条线。V3(2025 年 2 月)把音色相似度和 GPT 稳定性拉高,但非整数倍上采样带来了金属音;V4(2025 年 4 月)直接原生输出 48kHz 修掉了这个问题,官方定位是「对 V3 的直接替代」。V2Pro / V2ProPlus(2025 年 6 月,发布标签 20250606v2pro)走的是另一条路:在 V2 的硬件开销上引入 ERes2NetV2 说话人验证嵌入(sv/pretrained_eres2netv2w24s4ep4.ckpt,108MB),官方说法是「相比 V2 占用稍高显存,性能超过 V4」。到今天为止,V2ProPlus 仍是这个项目的性能天花板,没有 V5。

自己部署的坑主要有三个:一是参考音频硬性卡在 3~10 秒,超了直接抛「参考音频在3~10秒范围外,请更换!」;二是 Pascal 架构(SM 6.1,比如 Tesla P40、GTX 1080)和 GTX 16 系会被 config.py 强制降到 float32,速度和显存都吃亏,低于 4GB 显存干脆回落 CPU;三是长文本批量合成存在显存不释放的老问题(issue #2458 从 2G 涨到 7G,#1519 从 2G 涨到 29G),常驻 API 服务要留足余量。这三条决定了你该租哪张卡。

01 —

版本与权重:到底该下哪一套

权重全部托管在 HuggingFace 的 lj1995/GPT-SoVITS,整仓约 5.3GB

版本参数量显存上下文说明
V2ProPlus(20250606v2pro)s2Gv2ProPlus.pth 200MB + s1 GPT ckpt 155MB + SV 108MB推理 6GB 起步;微调按 WebUI 默认 batch = 显存GB ÷ 224kHz 原生输出,参考音频 3~10 秒当前性能上限。官方公布的 RTF 为 4090 上 0.014、4060Ti 上 0.028,约 1400 字输出 3.36 秒完成。素材质量一般时也是它最稳。
V2Pro(20250606v2pro)s2Gv2Pro.pth 162MB + s1 GPT ckpt 155MB + SV 108MB推理 6GB 起步;显存开销略高于 V2,远低于 V3/V424kHz 原生输出,参考音频 3~10 秒性价比最高的一档:保持 V2 的硬件成本和推理速度,音质超过 V4。想在 24GB 卡上跑多路并发就选它。
V4(20250422v4)s2Gv4.pth 769MB + vocoder.pth 57.8MB + s1v3.ckpt 155MB全量微调 14GB;开梯度检查点 12GB;LoRA 微调 8GB48kHz 原生输出,参考音频 3~10 秒修掉了 V3 的金属音,是 V3 的直接替代。只有 48kHz 母带级素材才发挥得出来,素材一般反而不如 V2Pro。
V3(20250228v3)s2Gv3.pth 769MB + BigVGAN v2 24kHz 声码器 + s1v3.ckpt 155MB全量微调 14GB;梯度检查点 12GB;LoRA 8GB24kHz 输出,另配 24k→48k 超分模型音色相似度高、逼近本人所需素材少,但非整数倍上采样会带金属音。除非有历史模型要兼容,新项目直接上 V4。
V2(20240821v2)s2G2333k.pth 约 106MB + s1bert25hz-5kh ckpt 155MB推理 6GB 以内;微调 batch = 显存GB ÷ 2,24GB 卡默认给到 1224kHz 输出底模从 2k 小时扩到 5k 小时,新增韩语和粤语,文本前端重写。素材偏脏、想让模型「取训练集平均」时,V2 系比 V3/V4 更合适。

02 —

GPU 选型:按你要做的事对号入座

NexGPU 全部按秒计量、按小时计价,无最低消费、无开通费、无配额申请

  • 零样本试音 + V2Pro/V2ProPlus 常规推理

    RTX 3090 24GB$0.193/卡·时

    V2Pro 一整套权重不到 500MB,24GB 显存能同时挂几路模型热切换,而 3090 是我们这里最便宜的 24GB Ampere 卡——注意别贪便宜去选 Tesla P40,SM 6.1 会被 config.py 强制 float32。

  • 1 分钟素材少样本微调(V2Pro / V2ProPlus 两阶段训练)

    RTX 4090 24GB$0.540/卡·时

    官方 RTF 0.014 就是在 4090 上实测的,24GB 显存对应 WebUI 默认 batch size 12,UVR5 分离、切片、FunASR 打标到 SoVITS+GPT 微调一条龙跑完通常一小时以内。

  • V3 / V4 全量微调(文档要求 14GB,梯度检查点 12GB)

    RTX 5090 32GB$0.723/卡·时

    V3/V4 的 WebUI 默认 batch 是「显存GB ÷ 8」,24GB 只能给到 3;换成 32GB 就是 4,再叠加 14GB 的全量微调基线才有余量,不用被迫退到 LoRA。

  • 长文本批量合成 / api_v2 常驻服务

    RTX A6000 48GB$0.817/卡·时

    长文本推理的显存不释放是这个项目的已知问题(#1519 实测从 2G 涨到 29G),48GB 能让服务扛过一整批任务再重启,而不是跑到一半 OOM。

03 —

在 NexGPU 上把 GPT-SoVITS 跑起来

从空实例到 api_v2 出声,四步

  1. 01

    开实例并装环境

    在控制台选一台 RTX 4090 或 RTX 3090,用 PyTorch 预置镜像开机(我们有 2000+ 预置镜像,PyTorch、vLLM、ComfyUI 都在内)。SSH 进去克隆仓库,跑官方安装脚本;国内节点把 --source 换成 HF-Mirror 或 ModelScope 会快很多。别忘了 ffmpeg。

    git clone https://github.com/RVC-Boss/GPT-SoVITS.git && cd GPT-SoVITS && bash install.sh --device CU128 --source HF-Mirror
  2. 02

    拉预训练权重

    全部权重放在 HuggingFace 的 lj1995/GPT-SoVITS,整仓约 5.3GB,落到 GPT_SoVITS/pretrained_models 下。跑 V2Pro/V2ProPlus 必须额外确认 sv/pretrained_eres2netv2w24s4ep4.ckpt(108MB)在位;跑 V3 还要 BigVGAN v2 24kHz 声码器,跑 V4 要 gsv-v4-pretrained/vocoder.pth(57.8MB)——缺哪个都要到推理那一步才报错。

    huggingface-cli download lj1995/GPT-SoVITS --local-dir GPT_SoVITS/pretrained_models
  3. 03

    WebUI 做数据流水线并微调

    启动整合 WebUI(默认 9874,UVR5 人声分离在 9873)。流程是:UVR5 去伴奏与混响 → 音频切分 → FunASR(中文)或 faster-whisper(其他语种)打标 → 校对 .list 标注,格式是 vocal_path|speaker_name|language|text,语言代码只认 zh / ja / en / ko / yue → 先训 SoVITS 再训 GPT。产出的权重会落在 SoVITS_weights_v2Pro 和 GPT_weights_v2Pro 目录。本地用 SSH 端口转发把 9874 映射回来即可,不必暴露公网。

    python webui.py zh_CN
  4. 04

    起 API 或直接 Docker 上线

    对外服务用 api_v2.py,默认端口 9880,提供 /tts、/control、/set_gpt_weights、/set_sovits_weights、/set_refer_audio 五个接口,可以在不重启进程的前提下热切音色。2025 年 11 月合入的流式推理让首包延迟大幅下降,做实时对话可以直接用。嫌装环境麻烦就走官方镜像 xxxxrt666/gpt-sovits:latest-cu128,共享内存记得给到 16GB。

    python api_v2.py -a 0.0.0.0 -p 9880 -c GPT_SoVITS/configs/tts_infer.yaml

一次完整声音克隆到底花多少钱

用 RTX 4090 24GB($0.540/卡·时)算一笔实账:装环境加拉 5.3GB 权重约 0.3 小时 = $0.16;UVR5 分离、切片、FunASR 打标 1 分钟素材约 0.2 小时 = $0.11;SoVITS 与 GPT 两阶段微调约 0.5 小时 = $0.27。合计 1.0 小时封顶,$0.54——一杯咖啡能训四个音色。推理端更夸张:按官方在 4090 上实测的 V2ProPlus RTF 0.014,合成 1 小时成品音频只消耗 3600 × 0.014 = 50.4 秒 GPU 时间,折合 $0.0076,不到一分钱。想省到极致就换 RTX 3090 24GB($0.193/卡·时),同一套流程整轮只要 $0.19。权重加数据集留 8GB 常驻存储是 $0.414/GB·月 × 8 = $3.31/月,导出 1GB 成品 wav 的出网流量是 $0.0081。记住计费规则:实例一停计算就停止计费,存储要销毁才停。

04 —

常见问题

GPT-SoVITS 本地部署到底需要多大显存?

分两条线看。V1/V2/V2Pro/V2ProPlus 很轻,一整套权重不到 500MB,6GB 显存就能推理,WebUI 微调时默认 batch size 是「显存GB ÷ 2」,24GB 卡给到 12。V3/V4 重得多:官方文档写明全量微调需要 14GB 显存,开梯度检查点降到 12GB,走 LoRA 只要 8GB,而它们的默认 batch 是「显存GB ÷ 8」。另外 config.py 有硬门槛,显存低于 4GB 会直接回落 CPU。在 NexGPU 上,前一条线选 RTX 3090 24GB($0.193/卡·时),后一条线选 RTX 5090 32GB($0.723/卡·时)就都够用。

为什么一上传参考音频就报「参考音频在3~10秒范围外,请更换!」?

这不是 bug,是硬校验。代码在 16kHz 采样下判断 wav16k.shape[0] > 160000 或 < 48000 直接抛错,也就是参考音频必须落在 3 到 10 秒之间。素材太长就用 WebUI 里的切分工具裁一段情绪平稳、没有背景音的出来。这类反复试错的活最适合按秒计费的机器——NexGPU 每秒计量,试到满意为止也花不了几毛。

V2Pro 和 V4 该选哪个?

看你的素材质量。V4 原生 48kHz、修掉了 V3 的金属音,但 V3/V4 这条线更「忠于参考音频」,素材一脏缺点会被放大,而且微调基线是 14GB 显存。V2Pro/V2ProPlus 官方定位是「相比 V2 占用稍高显存,性能超过 V4」,保持 V2 的硬件成本和推理速度。素材是录音棚级就上 V4,是网络切片就上 V2ProPlus。想两个都试一遍,在 NexGPU 上开两台机并行跑,一小时内就有结论。

Tesla P40、GTX 1080 或者 16 系显卡能跑 GPT-SoVITS 吗?

能跑,但会被强制降精度。config.py 里的 get_device_dtype_sm() 明确把 SM 6.1(Pascal,包括 Tesla P40、GTX 1080)和 GTX 16 系(SM 7.5 且型号匹配 16xx)判为 float32,拿不到 fp16 加速,同样显存能开的 batch 也小一半。P40 24GB 在我们这里是 $0.214/卡·时,看着比 RTX 3090 的 $0.193 还贵,还没有 fp16——所以这一页里我们从头到尾都推荐 3090 起步。

长文本批量合成时显存一直涨、最后 OOM,怎么解决?

这是项目的已知问题,不是你环境的错:issue #2458 记录了长文本推理显存从 2G 涨到 7G,#1519 更极端,从 2G 涨到 29G,根因是文本信息缓存没有释放。工程上的解法有两个——按段落切分后分批调用 /tts,或者定期重启 api_v2 进程。真正省事的做法是给服务留足显存余量:NexGPU 的 RTX A6000 48GB 是 $0.817/卡·时,单节点最多可挂 14 张卡、最大节点显存 2,152GB,扛整批任务绰绰有余。

训练数据要准备多少?1 分钟真的够吗?

够。项目的口号就是「1 min voice data can also be used to train a good TTS model」,5 秒素材做零样本、1 分钟素材做少样本微调,是它被叫做 few-shot voice cloning 的原因。关键不在量而在纯度:先用 UVR5 去伴奏和混响,切成 3~10 秒的片段,再用 FunASR 打标并人工校对错别字。整条流水线在 NexGPU 的 RTX 4090($0.540/卡·时)上一小时以内跑完,SSH、Jupyter、Web 终端、REST API、CLI 五种入口任选,Telegram 上有中英双语支持,不用排工单。

开始使用 NexGPU

无论你是企业研发团队还是独立开发者,都可以在几分钟内跑起第一个任务。

注册即可浏览全网实时价格,无需绑定支付方式。