首页
/ GPT-SoVITS 版本演进全解读:从 Changelog 看 V1 到 V2Pro 的能力里程碑与源码落点

GPT-SoVITS 版本演进全解读:从 Changelog 看 V1 到 V2Pro 的能力里程碑与源码落点

2026-09-04 20:39:45作者:滑思眉Philip

本文基于仓库内的更新日志 Changelog_TR.md(土耳其语版更新日志,与 docs/cn/Changelog_CN.mddocs/en/Changelog_EN.md 等多语言版本互为镜像),完整梳理 GPT-SoVITS 从 2024.01 到 2026.04 的全部关键变更记录,并结合当前仓库源码(config.pyTTS_infer_pack/TTS.pyapi.py 等)标注每项能力的实际落点。读完本文,你可以掌握:GPT-SoVITS V1/V2/V3/V4/V2Pro/V2ProPlus 各版本的演进脉络、每个里程碑对应仓库中的具体模块与配置项,以及如何依据更新日志判断自己使用的功能处于哪个版本线。

一、更新日志的结构与阅读方法

Changelog_TR.md 按“月份”组织章节(## 202401## 202604,并在大版本发布处标注 V2 SürümüV3 SürümüV4 SürümüV2Pro Serisi),每条记录固定包含四个字段:

  • 日期(如 2025.02.23);
  • 变更引用:对应的 Commit 短哈希(形如 Commit#ed207c4b)与 PR 编号,同一功能可能跨多个提交区间(用 ~ 连接);
  • İçerik(内容):变更描述;
  • Tür(类型)Özellik / Yeni Özellik(新功能)、Düzeltme / Hata Düzeltme(修复)、Optimizasyon / Performans Optimizasyonu(性能优化)、Dokümantasyon(文档)、Chore(杂项)、Stil(代码风格)、Yeniden Yapılandırma(重构);
  • Katkıda Bulunan(贡献者):提交者或 PR 作者。

此外,日志在关键条目处会附“İlgili(关联 Issue)”与警告性提示(例如 2024.06.06 的 BERT 特征修复条目明确要求“若此前用大量数据微调过,建议重新微调模型”)。这类提示对存量用户直接决定是否需要重训,阅读时应优先关注。

二、2024.01 奠基期:稳定性、多语言支持与推理体验

这是日志中最密集的一个月,核心主题是把训练/推理管线从“能跑”打磨到“好用”:

日期 变更 类型 仓库落点
2024.01.21 WebUI 增加英语界面翻译支持 文档 tools/i18n/locale/en_US.json
2024.01.21 SoVITS 训练 ZeroDivisionError 修复尝试(关联 Issue#79) 修复 GPT_SoVITS/s2_train.py
2024.01.21 合成音频“复现参考音频尾部”的问题大幅减轻 优化 训练数据截断逻辑
2024.01.21 cmd-asr.py 自动检测 FunASR 默认目录,缺失时自动从 ModelScope 下载 功能 tools/asr/funasr_asr.py
2024.01.21 Config.py 新增 is_share 参数,True 时 WebUI 可被外网访问 功能 config.py(现由环境变量 is_share 读取,见下文)
2024.01.22 极短输出文件“复读参考音频”的问题修复 修复 推理管线
2024.01.22 音频路径不存在时给出明确报错,替代 ffmpeg 原始错误 优化 路径校验逻辑
2024.01.23 解决 Hubert 特征 NaN 引发的训练 ZeroDivisionError 根因 修复 GPT_SoVITS/feature_extractor/cnhubert.py
2024.01.23 中文分词由 jieba 换为 jieba_fast 优化 GPT_SoVITS/text/cleaner.py
2024.01.23 模型文件排序逻辑优化 优化 config.py 中的 custom_sort_key
2024.01.23 推理 WebUI 支持快速切换模型 功能 WebUI 下拉框刷新机制
2024.01.25 增加 Mac 训练与推理支持(PR#183、PR#200,Lion-Wu) 功能 平台适配
2024.01.26 支持中英、日英混合文本输出(PR#204,Kakaru Hayate) 功能 GPT_SoVITS/text/ 前端
2024.01.26 增加“可选切分模式”开关 功能 文本切分参数
2024.01.26 多行结尾符导致推理失败的问题修复 修复 输入清洗
2024.01.26 不支持半精度的 GPU 自动强制单精度;CPU 推理强制单精度 优化 精度自动判定逻辑(见第五节)
2024.01.28 Dockerfile 中模型下载流程补全(PR#238) 修复 DockerfileGPT_SoVITS/download.py
2024.01.28 数字发音被误转为汉字的问题修复(PR#257) 修复 中文前端
2024.01.28 GPT 训练 checkpoint 不保存的问题修复 修复 GPT_SoVITS/s1_train.py
2024.01.28 通过长度约束过滤不合理的参考音频 修复 数据校验
2024.01.28 句首字符被吞的问题修复 修复 推理管线
2024.01.29 16 系等半精度有问题的 GPU,训练配置改为单精度 修复 训练 yaml
2024.01.29 FunASR 升级至 1.0 并修复接口不兼容(PR#135) 修复 tools/asr/funasr_asr.py
2024.01.30 中英标点切分问题修复,句首句尾补标点 修复 前端
2024.01.30 增加按标点切分的支持 功能 前端
2024.01.30 自动去除路径输入中的双引号,避免新手复制报错 修复 输入清洗

源码佐证:2024.01.23 的“模型文件排序逻辑优化”对应 config.py 中的 custom_sort_key——用正则把文件名拆成数字/非数字段再排序,保证 s2G488k.pth 这类命名按数值序而非字典序排列;2024.01.21 的 is_share 参数在 config.py 中体现为从环境变量 is_share 解析布尔值,True 时 WebUI 映射到局域网。

三、2024.02 多语言与 DPO 训练:能力横向扩展

本月的两条主线是多语言自动处理训练增强

  • 2024.02.03:中文-日文-英文混合文本自动切分与语言识别(Commit#3ebff70b),这是后续多语言推理能力的底座;
  • 2024.02.03:集成 PaddleSpeech Normalizer(PR#377),修复 xx.xx%元/吨(应读“元每吨”)及下划线类文本的朗读错误;
  • 2024.02.07:集成 Faster Whisper 作为日/英 ASR(PR#400),与已有 FunASR(中文/粤语)形成双引擎,对应 tools/asr/fasterwhisper_asr.pytools/asr/funasr_asr.py;同月日志提到“为规避 HuggingFace 连接问题改用镜像下载”;
  • 2024.02.12新增 DPO Loss 训练选项,用于抑制 GPT 的复读与跳字现象,推理 WebUI 同步增加新参数(PR#457);
  • 2024.02.15:DPO 训练由强制改为可选,启用时 batch size 自动减半;训练实验名支持中文;
  • 2024.02.16:支持“不输入参考文本”的推理入口(PR#499,关联 Issue#475),显著降低无参考文本场景的使用门槛;
  • 2024.02.21:数据预处理增加去噪选项(仅保留 16kHz,建议仅在高背景噪声时使用);Mac CPU 推理弃用 MPS 改走 CPU 以提升性能(PR#557);
  • 2024.02.28:Mac CPU 推理的 is_half 检查修复(PR#573)、UVR5 混响模型参数颠倒修复(PR#610)。

此外还有 ASR 路径以 / 结尾导致的保存错误(2024.02.01)、UVR5 格式解析失败(2024.02.03)、librosa 新版本兼容(PR#403)、is_half 未做布尔转换导致的 UVR5 inf 问题(2024.02.07,16 系 GPU 高发)、Gradio 依赖问题(2024.02.07)、Windows 10 1909 + 繁体系统下 GPT 训练卡死(2024.02.08)等修复。

四、2024.03–06 推理提速与训练正确性

  • 2024.03.06:无 CUDA 时 Faster Whisper 自动回退 CPU 推理(PR#675);非中文 ASR 不再预下载 FunASR 中文模型;
  • 2024.03.09推理速度提升约 50%(PR#672,测试环境 RTX3090 + PyTorch 2.2.1 + CU11.8 + Win10 + Py39)——这是“fast_inference”工作的起点;
  • 2024.03.10:快速推理分支 fast_inference 建立(PR#721);
  • 2024.03.13支持 CPU 训练,Mac 可用 CPU 训练(PR#761);
  • 2024.03.19 / 03.30:英文前端多轮改进(PR#804/812/821)、API 格式改进(PR#894),对应 api.py
  • 2024.05.02:修复 SoVITS 训练中 VQ 未冻结导致的音质下降(PR#953,关联 Issue#747)——对训练质量是硬修复;
  • 2024.05.19 / 05.27:不支持的语言在数据处理阶段给出明确报错;Hubert 推理错误修复;
  • 2024.06.06关键警告条目——修复“GPT 微调时中文 BERT 特征未读取”导致的推理不一致与质量下降,日志明确提示:若之前已用大量数据微调过,建议重新微调模型
  • 2024.06.10:纯标点 / 连续标点输入的处理逻辑改进(PR#1168/1169);
  • 2024.06.13 / 06.28 / 06.29:CPU 推理默认 batch 的小数问题、去噪/ASR 异常时后续音频全部失败的问题、多卡训练多进程注册逻辑(PR#1258/1265/1267、Commit#a208698e)相继修复;
  • 2024.07.06:按标点切分时小数点被误切的修复(PR#1253)。

五、2024.07 快速推理并入主线与语速控制

  • 2024.07.06Commit#b0786f29):加速推理代码经过验证后合并进主分支,日志保证“与基础版本推理效果一致”,且无参考文本模式下同样支持加速推理;
  • 2024.07.13:i18n 扫描重排、多语言配置文件更新(PR#1294/1298);路径末尾斜杠引发的命令行报错修复(PR#1299);
  • 2024.07.19:GPT 训练使用自定义 bucket_sampler 时训练步数不一致的修复(PR#756),对应 GPT_SoVITS/AR/data/bucket_sampler.py
  • 2024.07.23语速调节功能加入Commit#9588a3c5、PR#1340):合成时可调语速,并支持“固定随机种子、仅控制语速”。该能力落在 api.py 中——请求参数与默认配置均含 speed 字段(api.py),底层实现见 TTS_infer_pack/TTS.pyspeed_change:把 PCM 写入 ffmpeg 管道,用 atempo 滤镜变速后再解码回 NumPy 数组,即“先正常合成、后无损变速”的流水线;
  • 2024.07.27:新增 BS-RoFormer 人声分离模型(PR#1306/1356),落在 tools/uvr5/bs_roformer/;中文前端继续改进(PR#1351)。

六、2024.08:V2 版本正式官宣

这是第一个大版本节点(2024.08.21 GPT-SoVITS V2 正式发布):

  • 2024.08.02Commit#ff6c193f~Commit#de7ee7c7):GPT-SoVITS V2 模型加入——更大的预训练底模;
  • 2024.08.03:基于 FunASR 的粤语 ASR 支持(Commit#8a101474),补全粤语数据处理链路;
  • 2024.08.06:多说话人(多角色)文本处理逻辑优化,仅 V2(PR#1404/987/488);
  • 2024.08.01:BS-Roformer 开启 FP16 推理;GPU 识别逻辑优化,能正确处理用户手输的 GPU 序号;
  • 2024.08.13:修复“只能上传一个参考音频”的 bug,并为缺失文件增加数据集校验弹窗(PR#1422);
  • 2024.08.20:上游 LangSegment 库改用 SSML 标签优化数字、电话、日期、时间朗读(Issue#1508);fast_inference 分支并入主干(PR#1490);API 修复与优化(PR#1503)。

源码佐证:V2 权重目录映射已固化在 config.pypretrained_sovits_name / pretrained_gpt_name 中(v2 对应 gsv-v2final-pretrained 底模),用户权重目录为 SoVITS_weights_v2 / GPT_weights_v2(见 config.py)。

七、2025.02:V3 版本与低显存训练(14GB → 12GB → 8GB)

V3 是日志中工程密度最高的版本线(2025.02.28 V3 正式发布):

  • 2025.02.11GPT-SoVITS V3 模型加入,微调需 14GB VRAMCommit#ed207c4b~Commit#6e2b4918);
  • 2025.02.12梯度检查点支持,微调降至 12GB VRAM(PR#2040);注意力计算优化(PR#2010);
  • 2025.02.23V3 支持 LoRA 训练,8GB 显存即可微调Commit#56509a17~Commit#514fb692),对应仓库中的 GPT_SoVITS/s2_train_v3_lora.pyGPT_SoVITS/s2_train_v3.py 双训练入口;
  • 2025.02.23:人声/乐器分离新增 Mel Band Roformer 模型(PR#2078),落在 tools/uvr5/bs_roformer/mel_band_roformer.py
  • 2025.02.14:切换新语言切分工具,多语言混合切分策略、数字与英文处理逻辑优化(PR#2047/2062/2073);
  • 2025.02.27新增 24kHz→48kHz 音频超分模型,缓解 V3 24K 输出的“闷”的问题(关联 Issue#2085、#2117),对应 tools/AP_BWE_main/(内含 24kto48k 权重目录);
  • 2025.02.28语速控制参数正式进入合成链路(Commit#c38b1690Commit#a32a2b89);短 CJK 字符的基于规则的语言识别兜底(PR#2122)。

源码佐证:V3 底模 s1v3.ckpt / s2Gv3.pth 与 v2Pro 系列底模均登记在 config.py;V3/V4 的 mel 配置(32kHz 采样率、hop 320)见 TTS_infer_pack/TTS.pymel_fn_v4

八、2025.03–04:V3 并行推理与 V4 发布

  • 2025.03.31:依赖版本问题批量修复(PyOpenJTalk、ONNX、Pydantic、PyTorch-Lightning 各自关联多个 Issue,PR#2236);SoVITS v3 并行推理启用(PR#2241);ONNX 运行时 GPU 推理集成修复——G2PW 的 ONNX 模型从 CPU 搬到 GPU 以消除 CPU 瓶颈,降噪模型同步支持 GPU 推理;
  • 2025.04.01:v3 并行推理“解锁”+ 异步模型加载修复(Commit#6a60e5ed);
  • 2025.04.15:文档清理、Python 3.11 支持、安装脚本更新(PR#2290);
  • 2025.04.20GPT-SoVITS V4 模型加入Commit#e0c452f0~Commit#9d481da6);
  • 2025.04.21V4 并行推理启用Commit#8b394a15~Commit#bc2fe5ec、PR#2307);
  • 2025.04.22:模型版本参数传递修复(PR#2309)、NumPy/Numba 版本冲突与 librosa 版本修复(PR#2310)、Gradio 参数更新(PR#2311);当日 V4 正式发布

源码佐证:并行推理与流式推理的开关集中在 TTS_infer_pack/TTS.pyparallel_infer(默认 True)、streaming_modeoverlap_lengthmin_chunk_lengthfixed_length_chunk 等参数在此统一解析,并处理“并行 + 流式 + 声码器”等组合下的互斥降级逻辑;V4 权重目录 SoVITS_weights_v4 / GPT_weights_v4config.py

九、2025.05–06:V2Pro 系列(V2Pro / V2ProPlus)

  • 2025.05.26:SoVITS V3/V4 推理速度再提升约 10% 的缓存策略(PR#2377);
  • 2025.06.04TorchScript 导出 V4 支持(PR#2417),对应 GPT_SoVITS/export_torch_script_v3v4.py;同日 V2Pro 系列模型加入(V2Pro、V2ProPlus)Commit#b7c0c5ca~Commit#298ebb03);
  • 2025.06.05精度自动检测逻辑优化(PR#2427)——当前实现即 config.pyget_device_dtype_sm:读取每张卡的 SM 版本与显存,<4GBSM<5.3 回退 CPU,SM==6.1 或 16 系(SM 7.5)强制 float32,SM>6.1 才启用 float16;模块加载时据此自动计算全局 is_halfconfig.py);同批还有 WebUI 折叠面板、多音字 X一X 模式检测修复(PR#2426);
  • 2025.06.09 / 06.11ge.sum 引发的数值爆炸(静默输出)与 v2pro 下 ge 推理溢出两连修;v2pro 并行推理识别错误修复(PR#2450);
  • 2025.06.17 / 06.27install.sh 逻辑优化(PR#2464/2482)、onnxruntime 安装时按 GPU/CPU 自动选包(PR#2489)、语言切分与格式化再优化(PR#2488)。

十、2025.07–2026.04:流式推理与长期维护

日志最后一段记录了最近的持续演进:

  • 2025.07.10:提升推理进程优先级(缓解 Win11 下 GPU 占用受限);
  • 2025.07.16:修复 TTS.py 版本识别不认 v2pro/v2proPlus 的问题并更新默认配置(PR#2490)——对应 GPT_SoVITS/TTS_infer_pack/TTS.pyTTS_Config 默认配置表;
  • 2025.07.17–18:Whisper ASR 支持更省资源的蒸馏模型(PR#2531)、TTS_Config 逻辑优化(PR#2536)、GPT loss 计算修复(PR#2537);
  • 2025.08.02:WSL + ROCm 环境修复(PR#2561);
  • 2025.11.28(集中一批重要变更):流式推理(streaming inference) 合入(PR#2671/2678、PR#2469),仓库中配套 GPT_SoVITS/stream_v2pro.py 演示入口与 TTS.py 中的 decode_streaming 分块解码路径;数学表达式文本前端优化(PR#2636);VQ 分布式训练支持(PR#2577);ASR 模型下载逻辑优化(PR#2627/2679);默认 batch size 错误修复(PR#2662);
  • 2025.12.30:采样(sampling)错误修复(PR#2703/2704);
  • 2026.02.08–09:Conda 条款导致的构建错误修复(PR#2727)、自动环境安装优化(PR#2732),对应 Docker/miniforge_install.shinstall.sh
  • 2026.04.18:G2PW 推理输入构造与多音字处理优化(长句减负,PR#2763)、Windows 单卡 v3 LoRA 训练流程改进(PR#2767)、并行推理若干错误修复(PR#2753)、DPO 训练缺失词模拟支持(PR#2733)、数据集处理报错提示增强(PR#2758)、ONNX 脚本缺失 import 修复(Commit#02425ea)。

十一、如何把更新日志对照到当前仓库

结合日志与仓库结构,读者可以用下面三条线索快速定位“某项能力现在在哪里”:

  1. 版本 → 权重目录config.pypretrained_sovits_name / pretrained_gpt_nameconfig.py)给出 v1–v4、v2Pro、v2ProPlus 的底模路径,SoVITS_weight_version2root / GPT_weight_version2root 给出用户权重目录命名(SoVITS_weights_v3GPT_weights_v2Pro 等),与日志中各版本发布条目一一对应;
  2. 能力 → 入口文件:语速控制看 api.pyspeed 参数与 TTS.pyspeed_change(ffmpeg atempo 实现);并行/流式推理看 TTS.pyparallel_infer / streaming_mode 参数组;流式演示看 GPT_SoVITS/stream_v2pro.py;ASR 双引擎看 tools/asr/funasr_asr.pytools/asr/fasterwhisper_asr.py;人声分离看 tools/uvr5/(BS-RoFormer、Mel Band Roformer);24K→48K 超分看 tools/AP_BWE_main/;LoRA 训练看 GPT_SoVITS/s2_train_v3_lora.py
  3. 环境 → 自动判定:精度(is_half)、GPU 选择、WebUI 端口(主 WebUI 9874、UVR5 9873、推理 9872、附属工具 9871、API 9880)均由 config.py 统一计算,与日志中 2024.01/2024.08/2025.06 关于“半精度强制、GPU 索引处理、精度自动检测”的条目直接对应。

适用前提与限制:以上版本与参数均以当前仓库实际内容为准——例如 V3 微调 14GB / 检查点 12GB / LoRA 8GB 的显存门槛来自日志条目描述,实际占用随数据与 batch 配置浮动;speed 语速调节依赖系统 ffmpeg;粤语 ASR 依赖 FunASR 模型下载成功。若你在升级模型版本(v1→v2→v3→v4)时遇到行为差异,可优先回到 Changelog_TR.md(或同目录其他语言的对应版本)按日期检索相关条目,并对照 config.py 中登记的权重路径确认底模版本是否匹配。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.12 K
2.72 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
527
590
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
904
1.82 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
854
1.34 K
docsdocs
暂无描述
Markdown
889
5.78 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.52 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.33 K
1.45 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
982
502
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
540
384