首页
/ GPT-SoVITS 更新日志全景解析:V1 到 V4、V2Pro 版本演进与技术脉络的源码级解读

GPT-SoVITS 更新日志全景解析:V1 到 V4、V2Pro 版本演进与技术脉络的源码级解读

2026-09-04 22:12:50作者:段琳惟

本文基于仓库内的官方中文更新日志 Changelog_CN.md,完整梳理 GPT-SoVITS 从 2024 年初到 2026 年的全部变更条目,并逐条结合当前仓库源码(如 config.pyTTS.pyapi_v2.pys2_train_v3_lora.py)验证条目中提到的模型版本、训练选项与推理参数在代码中的真实落点。读完后,你将掌握 GPT-SoVITS 各版本模型(V1/V2/V3/V4/V2Pro/V2ProPlus)的发布脉络、训练显存要求、设备适配逻辑(16 系显卡、macOS、CPU)、流式推理参数与排查问题的方法,并能直接把更新日志当作"特性考古"与版本选型的第一手依据。

一、这份更新日志的定位与阅读方法

Changelog_CN.md 是 GPT-SoVITS 项目的官方变更清单,按"年月"分节(如 202401202408 (V2 版本)202502 (V3 版本)202506 (V2Pro 系列)202504 (V4 版本)),每条记录固定包含三类字段:

  • 日期与提交标识:精确到某次 PR(如 PR#108)或 Commit(如 Commit#7b89c9ed),便于在版本历史中回溯具体 diff;
  • 内容:一句话描述改动本身(新功能/修复/优化的对象与效果);
  • 类型新功能修复优化性能优化文档重构风格杂项 等标签;
  • 提交:贡献者署名;部分条目还带 关联 字段,指向触发该修复的 Issue 编号(如 Issue#79)。

阅读建议:先读"二、版本里程碑时间线"建立版本坐标,再在"三、逐月变更记录"中按需定位条目,最后用"四、核心技术脉络的源码级印证"把日志条目映射到当前仓库的具体文件与代码行。

二、版本里程碑时间线

更新日志中用加粗标注了几个关键版本节点,汇总如下(显存要求以日志原文为准):

版本 首次新增(Commit) 正式发布 训练显存要求 日志条目时间
V2 2024.08.02 2024.08.21 202408 节
V3 2025.02.11 2025.02.28 微调需 14G 显存;开启梯度检查点后 12G;LoRA 训练 8G 202502 节
V4 2025.04.20 2025.04.22 202504 节
V2Pro 系列 2025.06.04 2025.06 202506 节

与版本配套的能力也在日志中有明确记载:V3 于 2025.02.23 支持 LoRA 训练(8G 显存)、2025.02.27 支持 24KHz 转 48kHz 音频超分模型缓解"闷"的问题、2025.03.31 适配并行推理、2025.04.21 适配 V4 并行推理;V2Pro 于 2025.07.16 修复了 TTS.py 无法识别 v2Pro/v2ProPlus 版本的传参问题,2025.06.11 修复了并行推理对 v2pro 的支持 bug。

三、逐月变更记录(完整继承自更新日志)

以下条目内容、类型、提交者与关联 Issue 均继承自 Changelog_CN.md 原文,仅去除了外部提交链接(可凭 PR/Commit 编号在项目版本历史中检索)。

3.1 202401

  • 2024.01.21 WebUI 增加英文系统英文翻译适配(文档,D3lik,PR#108)。
  • 2024.01.21 尝试修复 SoVITS 训练报错 ZeroDivisionError 的问题(修复,RVC-Boss、Tybost,Commit#7b89c9ed,关联 Issue#79)。
  • 2024.01.21 大幅削弱合成音频包含参考音频结尾的问题(优化,RVC-Boss,Commit#ea62d6e0)。
  • 2024.01.21 cmd-asr.py 添加判断默认目录内是否存在模型,如不存在则从 ModelScope 自动下载(新功能,RVC-Boss,Commit#a87ad522)。
  • 2024.01.21 Config.py 添加 is_share 参数,如 Colab 等场景可以将此改为 True 将 WebUI 映射到公网(新功能,RVC-Boss,Commit#f6147116)。
  • 2024.01.21 清理 TEMP 文件夹内缓存、音频等文件(优化,RVC-Boss,Commit#102d5081)。
  • 2024.01.22 修复过短输出文件返回重复参考音频的问题(修复,RVC-Boss,Commit#872134c8)。
  • 2024.01.22 经测试,英文日文训练原生支持(日文训练需要根目录不含非英文等特殊字符)。
  • 2024.01.22 音频路径检查:尝试读取错误路径时报错"路径不存在",而非 FFmpeg 错误(优化,xmimu,PR#124)。
  • 2024.01.23 解决 HuBERT 提取 NaN 导致 SoVITS/GPT 训练报错 ZeroDivisionError 的问题(修复,RVC-Boss,Commit#93c47cd9)。
  • 2024.01.23 中文分词使用 jieba_fast 代替 jieba(优化,RVC-Boss,Commit#80fffb0a)。
  • 2024.01.23 优化模型文件排序逻辑(优化,RVC-Boss,Commit#63625758)。
  • 2024.01.23 支持推理界面快速切换模型(新功能,RVC-Boss,Commit#0c691191)。
  • 2024.01.25 去除推理界面大量冗余日志(优化,RVC-Boss,Commit#249561e5)。
  • 2024.01.25 支持 MacOS MPS 训练推理(新功能,Lion-Wu,PR#183、PR#200)。
  • 2024.01.26 修复 UVR5 读取到目录自动跳出的问题(修复,RVC-Boss,Commit#813cf96e、Commit#2d1ddeca)。
  • 2024.01.26 支持输出文本中英混合、日英混合(新功能,Kakaru Hayate,PR#204)。
  • 2024.01.26 输出可选切分模式(新功能,RVC-Boss,Commit#f4148cf7)。
  • 2024.01.26 修复多个换行导致推理报错(修复,RVC-Boss,Commit#9fe955c1)。
  • 2024.01.26 自动识别不支持半精度的卡强制单精度,CPU 推理下强制单精度(优化,RVC-Boss,Commit#84ee4719)。
  • 2024.01.28 完善 Dockerfile 下载模型流程(修复,breakstring,PR#238)。
  • 2024.01.28 修复数字转汉字念法问题(修复,duliangang,PR#257)。
  • 2024.01.28 修复 GPT 训练不保存权重文件的问题(修复,RVC-Boss,Commit#f0cfe397)。
  • 2024.01.28 排除不合理的参考音频长度(优化,RVC-Boss,Commit#b8ae5a27)。
  • 2024.01.28 修复句首少量字容易吞字的问题(修复,RVC-Boss,Commit#698e9655)。
  • 2024.01.29 对于 16 系等半精度训练存在问题的显卡,把训练配置改为单精度训练(修复,RVC-Boss,Commit#ff977a5f)。
  • 2024.01.29 测试更新可用的 Colab 版本(新功能,RVC-Boss,Commit#172e139f)。
  • 2024.01.29 更新 FunASR 为 1.0 版本并修复接口不对齐导致的报错问题(修复,LauraGPT,PR#135)。
  • 2024.01.30 修复中文标点切割问题和句首句尾补标点的问题(修复,RVC-Boss,Commit#1c2fa98c)。
  • 2024.01.30 增加按标点符号切分(新功能,RVC-Boss,Commit#74409f35)。
  • 2024.01.30 所有涉及路径的位置自动去除双引号,解决复制路径带双引号时报错的问题(修复,RVC-Boss,Commit#c42eeccf)。

3.2 202402

  • 2024.02.01 修复 ASR 路径尾缀带有 / 时保存文件名报错的问题(修复,RVC-Boss,Commit#45f73519)。
  • 2024.02.03 修复 UVR5 读取格式错误导致分离失败的问题(修复,RVC-Boss,Commit#dba1a74c)。
  • 2024.02.03 支持中日英混合多种语言文本自动切分识别语种(优化,RVC-Boss,Commit#3ebff70b)。
  • 2024.02.03 引入 PaddleSpeech 的文本规范化,修复 xx.xx%(带百分号类)、"元/吨"会读成"元吨"而不是"元每吨"、下划线不再报错等问题(优化,KamioRinn,PR#377)。
  • 2024.02.05 优化英语文本前端(优化,KamioRinn,PR#395)。
  • 2024.02.06 修正语种传参混乱导致中文推理效果下降(修复,RVC-Boss,Commit#65b463a7,关联 Issue#391)。
  • 2024.02.06 UVR5 适配更高版本的 Librosa(修复,StaryLan,PR#403)。
  • 2024.02.07 修复 UVR5 inf everywhere 报错(is_half 传参未转换布尔类型导致恒定半精度推理,16 系显卡会 inf)(修复,RVC-Boss,Commit#14a28510)。
  • 2024.02.07 修复 Gradio 依赖(修复,RVC-Boss,Commit#d74f888e)。
  • 2024.02.07 集成 Faster Whisper 实现对日语英语的语音识别(新功能,Shadow,PR#400)。
  • 2024.02.07 支持三连根目录留空自动读取 .list 全路径(优化,RVC-Boss,Commit#6469048d~Commit#94ee71d9)。
  • 2024.02.08 修复 GPT 训练卡死(win10 1909)和系统语言繁体 GPT 训练报错(修复,RVC-Boss,Commit#59f35ada,关联 Issue#232)。
  • 2024.02.12 添加 DPO 损失实验性训练选项,通过构造负样本训练缓解 GPT 重复漏字问题,推理界面开放数个推理参数(新功能,liufenghua,PR#457)。
  • 2024.02.12 优化语音识别部分逻辑,Faster Whisper 转镜像站下载,规避 HuggingFace 连接不上的问题(优化,RVC-Boss,Commit#2fa74ecb、Commit#d82f6bbb)。
  • 2024.02.15 训练支持中文实验名称(修复,RVC-Boss,Commit#dd2c4d6d)。
  • 2024.02.15 DPO 训练修改为可选项而非必选项,若勾选则 Batch Size 自动减半,修复推理界面新参数不传参的问题(优化,RVC-Boss,Commit#ccb9b08b~Commit#895fde46)。
  • 2024.02.15 修复中文文本前端错误(修复,RVC-Boss,Commit#7b0c3c67)。
  • 2024.02.16 支持无参考文本输入(新功能,Watchtower-Liu,PR#499,关联 Issue#475)。
  • 2024.02.17 优化中文日文前端处理(优化,KamioRinn、v3cun,PR#509、PR#507、PR#532、PR#556、PR#559)。
  • 2024.02.17 修复 Colab 不开启公网 URL 的问题(修复,ChanningWang2018、RVC-Boss,PR#510、PR#511)。
  • 2024.02.21 MacOS 推理设备从 MPS 改为 CPU(CPU 推理更快)(优化,XXXXRT666,PR#557)。
  • 2024.02.21 数据预处理添加语音降噪选项(降噪为只剩 16K 采样率,除非底噪很大否则不急使用)(新功能,RVC-Boss,Commit#6da486c1、Commit#5a171773)。
  • 2024.02.28 修改 is_half 的判断让 MacOS 能正常 CPU 推理(修复,XXXXRT666,PR#573)。
  • 2024.02.28 修复 UVR5 MDXNet 参数顺序错误导致输出文件夹相反(修复,Yuze Wang,PR#610)。

3.3 202403

  • 2024.03.06 Faster Whisper 在没有 CUDA 可用时自动使用 CPU 推理(优化,ShiroDoMain,PR#675)。
  • 2024.03.06 使用 Faster Whisper 进行非中文语音识别时不再需要先下载 FunASR 模型(优化,RVC-Boss,Commit#616be20d)。
  • 2024.03.09 加速推理 50%(RTX3090 + PyTorch2.2.1 + Cuda11.8 + Win10 + Py39 已测试)(优化,GoHomeToMacDonal,PR#672)。
  • 2024.03.10 新增 fast_inference_ 快速推理分支(新功能,ChasonJiang,PR#721)。
  • 2024.03.13 支持 CPU 训练,在 MacOS 上使用 CPU 训练(新功能,Lion-Wu,PR#761)。
  • 2024.03.19 优化英文 G2P 文本前端(优化,KamioRinn,PR#804、PR#812、PR#821)。
  • 2024.03.30 API 格式优化(优化,KamioRinn,PR#894)。

3.4 202404

  • 2024.04.03 修复 UVR5 WebUI 调用 FFmpeg 时字符串格式(修复,StaryLan,PR#917)。

3.5 202405

  • 2024.05.02 修复 SoVITS 训练未冻结 VQ 的问题(可能造成效果下降)(修复,hcwu1993,PR#953,关联 Issue#747)。
  • 2024.05.19 添加训练数据预处理阶段不支持的语言提示(优化,StaryLan,PR#1102)。
  • 2024.05.27 修复提取 HuBERT 特征 NaN 失败自动转 FP32 出现的错误(修复,XXXXRT666,PR#1132)。

3.6 202406

  • 2024.06.06 修复 WebUI 进行 GPT 中文微调时未读取 BERT 特征导致和推理不一致、大量训练可能导致效果变差的问题;若已使用大量数据微调,建议重新微调模型得到质量优化(修复,RVC-Boss,Commit#99f09c8b)。
  • 2024.06.07 修复 S2 训练进度条逻辑(修复,pengzhendong,PR#1159)。
  • 2024.06.10 修复 UVR5 MDXNet 调用 FFmpeg 时字符串格式,兼容带空格路径(修复,RVC-Boss,Commit#501a74ae)。
  • 2024.06.10 完善纯标点、多标点文本输入的判断逻辑(修复,XXXXRT666,PR#1168、PR#1169,关联 Issue#1165)。
  • 2024.06.13 修正 CPU 推理时默认 Batch Size 为小数的问题(修复,RVC-Boss,Commit#db506705)。
  • 2024.06.28 修复降噪、识别时遇到异常跳出所有需处理的音频文件的问题(修复,XXXXRT666,PR#1258、PR#1265、PR#1267)。
  • 2024.06.29 多卡训练多进程保存逻辑修复(修复,RVC-Boss,Commit#a208698e)。
  • 2024.06.29 移除冗余 my_utils.py(优化,aoguai,PR#1251,关联 Issue#1189)。

3.7 202407

  • 2024.07.06 修复按标点符号切分时小数会被切分(修复,aoguai,PR#1253)。
  • 2024.07.06 验证倍速推理代码结果和原本一致,合并到 main 分支,支持无参考文本模式(优化,RVC-Boss、GoHomeToMacDonal,Commit#b0786f29,关联 PR#672);后续逐渐验证快速推理分支的推理改动的一致性。
  • 2024.07.13 重构 i18n 扫描并更新多语言配置文件(文档,StaryLan,PR#1294、PR#1298)。
  • 2024.07.13 修复用户打文件及路径在结尾添加 / 会导致命令行报错的问题(修复,XXXXRT666,PR#1299)。
  • 2024.07.19 修复训练 GPT 时采用自定义 bucket_sampler 导致步数不一致的问题(修复,huangxu1991,PR#756)。
  • 2024.07.23 支持合成语速调节,支持冻结随机性只调节语速,并将其更新到 api.py 上(新功能,RVC-Boss、红血球AE3803,Commit#9588a3c5、PR#1340)。
  • 2024.07.27 增加 BS-Roformer 人声伴奏分离模型支持(新功能,KamioRinn,PR#1306、PR#1356)。
  • 2024.07.27 更好的中文文本前端(新功能,KamioRinn,PR#1351)。

3.8 202408(V2 版本)

  • 2024.08.01 添加自动填充下一步文件路径的功能(杂项,XXXXRT666,PR#1355)。
  • 2024.08.01 支持 BS-Roformer 的 FP16 推理(性能优化,RVC-Boss,Commit#e62e9653)。
  • 2024.08.01 增加用户友好逻辑,对用户随意输入的显卡序号也能正常运行(杂项,RVC-Boss,Commit#bce451a2、Commit#4c8b7612)。
  • 2024.08.02 新增 GPT-SoVITS V2 模型(新功能,RVC-Boss,Commit#ff6c193f~Commit#de7ee7c7)。
  • 2024.08.03 增加粤语 FunASR 支持(新功能,RVC-Boss,Commit#8a101474)。
  • 2024.08.03 优化界面、优化计时逻辑(杂项,XXXXRT666,PR#1387、PR#1388)。
  • 2024.08.06 优化多音字逻辑(V2 版本特供)(修复、新功能,KamioRinn、RVC-Boss,PR#1404、PR#987、PR#488)。
  • 2024.08.13 修复参考音频混合只能上传一条的错误,添加数据集检查、缺失会弹出警告窗口(修复、杂项,XXXXRT666,PR#1422)。
  • 2024.08.20 上游 LangSegment 库支持通过 SSML 标签优化数字、电话、时间日期等(新功能,juntaosun,Issue#1508)。
  • 2024.08.20 修复并优化 API(修复,KamioRinn,PR#1503)。
  • 2024.08.20 合并 fast_inference 分支(重构,ChasonJiang,PR#1490)。
  • 2024.08.21 正式发布 GPT-SoVITS V2 版本。

3.9 202502(V3 版本)

  • 2025.02.11 新增 GPT-SoVITS V3 模型,需要 14G 显存进行微调(新功能,RVC-Boss,Commit#ed207c4b~Commit#6e2b4918;特性参阅项目 Wiki)。
  • 2025.02.12 更新项目多语言文档(文档,StaryLan,PR#2032);同日更新日语文档(文档,Fyphen,PR#2033)。
  • 2025.02.12 优化注意力计算逻辑(性能优化,wzy3650,PR#2010)。
  • 2025.02.12 微调添加梯度检查点支持,需要 12G 显存进行微调(新功能,Kakaru Hayate,PR#2040)。
  • 2025.02.14 切换新的语言分割工具,优化多语种混合文本切分策略,优化文本里的数字和英文处理逻辑(新功能,KamioRinn,PR#2047、PR#2062、PR#2073)。
  • 2025.02.23 GPT-SoVITS V3 模型支持 LoRA 训练,需要 8G 显存进行微调(新功能,RVC-Boss,Commit#56509a17~Commit#514fb692)。
  • 2025.02.23 人声背景音分离增加 Mel Band Roformer 模型支持(新功能,Sucial,PR#2078)。
  • 2025.02.26 修复中文路径下 Mecab 的报错(具体表现为日文韩文、文本混合语种切分可能会遇到的报错)(修复,KamioRinn,PR#2112、PR#2114)。
  • 2025.02.27 支持使用 24KHz 转 48kHz 的音频超分模型,缓解 V3 模型生成音频感觉闷的问题(新功能,RVC-Boss,Commit#92961c3f~Commit#250b1c73,关联 Issue#2085、Issue#2117)。
  • 2025.02.28 更新项目多语言文档(文档,StaryLan,PR#2123);同日对模型无法判断的 CJK 短字符采用规则判断(修复,KamioRinn,PR#2122,关联 Issue#2116)。
  • 2025.02.28 增加语速传参以支持调整合成语速(修复,RVC-Boss,Commit#c38b1690、Commit#a32a2b89)。
  • 2025.02.28 正式发布 GPT-SoVITS V3。

3.10 202503

  • 2025.03.31 修复一批由依赖的库版本不对导致的问题(修复,XXXXRT666,PR#2236;关联 PyOpenJTalk 的 Issue#1131/2231/2233、ONNX 的 Issue#492/671/1192/1819/1841、Pydantic 的 Issue#2230/2239、PyTorch-Lightning 的 Issue#2174)。
  • 2025.03.31 为 SoVITS v3 适配并行推理(新功能,ChasonJiang,PR#2241)。
  • 修复其他若干错误。
  • 2025.03 整合包修复 onnxruntime GPU 推理的支持:G2PW 内的 ONNX 模型由 CPU 推理换为 GPU,显著降低推理的 CPU 瓶颈;去混响模型现在可使用 GPU 推理(修复)。

3.11 202504(V4 版本)

  • 2025.04.01 解锁 SoVITS v3 并行推理,修复模型加载异步逻辑(修复,RVC-Boss,Commit#6a60e5ed)。
  • 2025.04.07 Ruff 格式化代码、更新 G2PW 链接(风格,XXXXRT666,PR#2255)。
  • 2025.04.15 清理文档,支持 Python 3.11,更新安装文件(杂项,XXXXRT666,PR#2290)。
  • 2025.04.20 更新 Colab、安装文件和模型下载(杂项,XXXXRT666,PR#2300)。
  • 2025.04.20 新增 GPT-SoVITS V4 模型(新功能,RVC-Boss,Commit#e0c452f0~Commit#9d481da6)。
  • 2025.04.21 适配 V4 并行推理(新功能,RVC-Boss、ChasonJiang,Commit#8b394a15~Commit#bc2fe5ec、PR#2307)。
  • 2025.04.22 修复模型版本传参(修复,RVC-Boss、ChasonJiang,Commit#7405427a~Commit#590c83d7、PR#2309);同日修复 Numpy 与 Numba 版本不匹配问题、更新 librosa 版本(修复,RVC-Boss、XXXXRT666,Commit#fbdab94e、PR#2310,关联 Issue#2308)。
  • 2025.04.22 正式发布 GPT-SoVITS V4(原文日志此处写作"2024.04.22",结合上下文 Commit 日期应为 2025.04.22)。
  • 2025.04.22 更新 Gradio 参数(杂项,XXXXRT666,PR#2311)。
  • 2025.04.25 完善 Colab/Kaggle Notebook 脚本(杂项,XXXXRT666,PR#2322)。

3.12 202505

  • 2025.05.26 完善 Docker、Windows 自动构建脚本、Pre-Commit 格式化(杂项,XXXXRT666,PR#2351);同日优化混合语种切分识别逻辑(修复,KamioRinn,PR#2408,关联 Issue#2404);同日通过缓存策略使 SoVITS V3/V4 推理提速 10%(性能优化,Kakaru Hayate,PR#2377);同日更新标注界面,增加"标注完每一页都要点击 Submit Text 否则修改无效"的友情提示(修复,RVC-Boss,Commit#4d9d56b1、Commit#8c705784、Commit#fafe4e7f)。
  • 2025.05.29 修复 UVR5 和 ONNX 去混响模型使用 FFmpeg 编码 MP3 和 M4A、原路径带空格时的错误(修复,RVC-Boss,Commit#1934fc1e)。

3.13 202506(V2Pro 系列)

  • 2025.06.03 更新项目多语言文档(文档,StaryLan,PR#2420)。
  • 2025.06.04 支持 torchscript 导出 V4 模型(新功能,L-jasmine,PR#2417);同日新增 GPT-SoVITS V2Pro 系列模型(新功能,RVC-Boss,Commit#b7c0c5ca~Commit#298ebb03)。
  • 2025.06.05 config/inference_webui 初始化错误修复(修复,StaryLan,PR#2426);同日优化精度自动检测逻辑、给 WebUI 前端界面模块增加折叠功能(新功能,XXXXRT666、RVC-Boss,PR#2427、Commit#7d70852a、PR#2434);同日 X一X 型多音字判断修复(修复,wzy3650,PR#2427);同日配置修复、sovits 模型读取修复(修复,wzy3650,PR#2439)。
  • 2025.06.09 修复 ge.sum 数值可能爆炸导致推理无声的问题(修复,RVC-Boss,Commit#8056efe4)。
  • 2025.06.10 修复实验名结尾出现空格在 win 中路径不正确的问题(修复,RVC-Boss,Commit#2c0436b9);同日语种分割优化(优化,KamioRinn,PR#2449)。
  • 2025.06.11 修复并行推理对 v2pro 支持 bug(修复,YYuX-1145,PR#2450);同日 v2pro 对 ge 提取时数值溢出的问题修复(修复,RVC-Boss,Commit#ed89a023)。
  • 2025.06.17 install.sh 逻辑优化(优化,XXXXRT666,PR#2464、PR#2482)。
  • 2025.06.27 onnxruntime 加载逻辑优化(对 gpu/cpu 的判断)(优化,KamioRinn,PR#2489);同日语言分割及格式化优化(优化,KamioRinn,PR#2488)。

3.14 202507

  • 2025.07.10 提升推理进程优先级(修复 win11 下可能 GPU 利用率受限的问题)(优化,XianYue0125,Commit#426e1a2bb)。
  • 2025.07.16 解决 TTS.py 无法识别真正支持版本 v2Pro、v2ProPlus 的问题,同时更新一版默认配置(修复,jiangsier-xyz,PR#2490);同日修复并行推理模式下 v2pro 模型识别问题(修复,RVC-Boss,Commit#4d8ebf85)。
  • 2025.07.17 whisper asr 支持性价比更高的 distill 模型(优化,XXXXRT666,PR#2531)。
  • 2025.07.18 优化 TTS_Config 的代码逻辑(优化,ChasonJiang,PR#2536);同日修复 gpt 的 loss 计算问题(修复,ChasonJiang,PR#2537)。

3.15 202508

  • 2025.08.02 WSL Rocm(修复,XXXXRT666,PR#2561)。

3.16 202509

  • 2025.09.10 修复环境变量可能不为 str 的问题(修复,RVC-Boss,Commit#11aa78bd)。

3.17 202511

  • 2025.11.28 流式推理(新功能,ChasonJiang,PR#2671、PR#2678);同日数学计算文本前端逻辑优化(优化,KamioRinn,PR#2636);同日流式推理(新功能,L-jasmine,PR#2469);同日支持 vq 分布式训练(优化,wzy3650,PR#2577);同日 ASR 模型下载逻辑优化(优化,XXXXRT666,PR#2627、PR#2679);同日 default batch size bug 修复(修复,Spr-Aachen,PR#2662)。

3.18 202512

  • 2025.12.30 修复采样错误(修复,ChasonJiang,PR#2703、PR#2704)。

3.19 202602

  • 2026.02.08 修复 Conda 条款未同意导致的构建失败(修复,Oarora,PR#2727)。
  • 2026.02.09 环境自动构建优化(优化,XXXXRT666,PR#2732)。

3.20 202604

  • 2026.04.18 优化 G2PW 的推理输入构造与多音字处理流程,减少重复计算,降低长句场景下的推理开销(优化,baicai-1145,PR#2763);同日改进 Windows 单卡 v3 LoRA 训练流程(优化,2409324124,PR#2767);同日修复多个模块中的独立 bug(修复,wishhyt,PR#2755);同日添加数据集的错误处理提示(优化,mushroomcowisheggs,PR#2758);同日并行推理部分 bug 修复(修复,wishhyt,PR#2753);同日 bug 修复:DPO 训练不支持漏字模拟(修复,Mr-Neutr0n,PR#2733);同日修复 onnx 脚本未导入 Optional 等的问题(修复,RVC-Boss,Commit#02425ea)。

四、核心技术脉络的源码级印证

上面的日志条目按时间排列,而这一节把其中的关键能力"对号入座"到当前仓库的源码与配置文件,帮助读者验证每条变更记录的真实落点。

4.1 模型版本体系:V1~V4、V2Pro 系列的权重与预训练底模

日志中 202408(V2)、202502(V3)、202504(V4)、202506(V2Pro 系列)四个版本节点,在 config.py 中体现为两套完整的版本化预训练权重映射:

pretrained_sovits_name = {
    "v1": "GPT_SoVITS/pretrained_models/s2G488k.pth",
    "v2": "GPT_SoVITS/pretrained_models/gsv-v2final-pretrained/s2G2333k.pth",
    "v3": "GPT_SoVITS/pretrained_models/s2Gv3.pth",
    "v4": "GPT_SoVITS/pretrained_models/gsv-v4-pretrained/s2Gv4.pth",
    "v2Pro": "GPT_SoVITS/pretrained_models/v2Pro/s2Gv2Pro.pth",
    "v2ProPlus": "GPT_SoVITS/pretrained_models/v2Pro/s2Gv2ProPlus.pth",
}

同时 config.pySoVITS_weight_rootGPT_weight_root 分别维护了 SoVITS_weights/GPT_weights 以及 _v2_v3_v4_v2Pro_v2ProPlus 六个权重根目录,get_weights_names()custom_sort_keyconfig.py)对模型文件做自然排序——这正是 2024.01.23 "优化模型文件排序逻辑" 条目的当前形态。推理端的版本合法性校验见 TTS.py

assert self.version in ["v1", "v2", "v3", "v4", "v2Pro", "v2ProPlus"], "Invalid version!"

这与 2025.07.16 "解决 TTS.py 无法识别真正支持版本 v2Pro、v2ProPlus 的问题" 条目互为印证:当前代码已把 v2Pro/v2ProPlus 纳入合法版本集合,且 TTS.pyv2ProPlus 单独维护了模型配置(如 vits_weights_path、特征帧率 486 等)。V2Pro 系列的推理配置也可在 s2v2Pro.jsons2v2ProPlus.json 中查看。

4.2 文本前端:多语种切分与 G2P 的持续演进

日志中 2024.01.22(英日原生训练)、2024.01.26(中英/日英混合输出)、2024.02.03(中日英混合自动切分)、2025.02.14(切换新的语言分割工具)、2025.02.26(Mecab 中文路径报错修复)、2026.04.18(G2PW 推理输入构造优化)等条目,对应的仓库实现集中在 GPT_SoVITS/text/ 目录:chinese.pychinese2.pyenglish.pyjapanese.pykorean.pycantonese.pycleaner.py(语种分派入口)、tone_sandhi.py(中文变调)、g2pw/(中文 G2P 与 ONNX 推理接口)、LangSegmenter/(多语种混排切分)。其中 g2pw/onnx_api.py 承载了 2025.03.31 "G2PW 内 ONNX 模型由 CPU 推理换为 GPU" 所指向的推理路径;2024.02.03 引入 PaddleSpeech 文本规范化的条目则对应 en_normalization/ 目录(expend.py 扩展了规范化规则)。2025.02.28 "对模型无法判断的 CJK 短字符采用规则判断" 属于语言分割策略层,从源码结构看落在 LangSegmenter/langsegmenter.py 的切分兜底逻辑中。

4.3 推理性能:半精度自适应、并行推理与流式推理

半精度/设备自适应。 2024.01.26 "自动识别不支持半精度的卡强制单精度"、2024.01.29 "16 系显卡改单精度训练" 两条记录,在 config.pyget_device_dtype_sm() 中有完整落地:

is_16_series = bool(re.search(r"16\d{2}", name)) and sm_version == 7.5
if mem_gb < 4 or sm_version < 5.3:
    return cpu, torch.float32, 0.0, 0.0
if sm_version == 6.1 or is_16_series == True:
    return cuda, torch.float32, sm_version, mem_gb
if sm_version > 6.1:
    return cuda, torch.float16, sm_version, mem_gb

即:显存小于 4G、SM 版本低于 5.3 回退 CPU 单精度;6.1(Pascal)与 16 系(Turing,正则 16\d{2} 匹配卡名)强制 CUDA 单精度,其余走 FP16。模块加载时 is_half 还会依据所有设备中被选中的 dtype 再校准一次(config.py),这与 2024.02.28 "修改 is_half 的判断让 MacOS 能正常 CPU 推理" 一致。is_half/is_share 均可通过同名环境变量覆盖(config.py),后者即 2024.01.21 为 Colab 场景加入的公网映射开关。

并行推理。 2025.03.31 "为 SoVITS v3 适配并行推理"、2025.04.01 "解锁 SoVITS v3 并行推理、修复模型加载异步逻辑"、2025.04.21 "适配 V4 并行推理" 三条记录,在 TTS.py 中体现为 parallel_infer 配置项与按版本分派的合成分支(use_vocoder and parallel_infer 等判断,见 TTS.py);2025.05.26 "通过缓存策略使 SoVITS V3/V4 推理提速 10%" 则属于该路径上的进一步性能优化。

流式推理。 2025.11.28 三条流式推理条目(PR#2671、PR#2678、PR#2469)在当前 API 层的形态见 api_v2.py 的请求参数说明:

"streaming_mode": False,      # 0/False: Disabled | 1/True: Best Quality, Slowest
                              # 2: Medium Quality, Slow response speed
                              # 3: Lower Quality, Faster response speed
"overlap_length": 2,          # int. overlap length of semantic tokens for streaming mode.
"min_chunk_length": 16,       # int. The minimum chunk length of semantic tokens
                              # for streaming mode. (affects audio chunk size)

api_v2.pystreaming_mode 支持 0/1/2/3(int)与 true/false(bool)两种写法,并在流式响应中使用 StreamingResponse 分块返回音频。

语速调节。 2024.07.23 "支持合成语速调节" 与 2025.02.28 "增加语速传参" 两条记录对应 TTS.pyspeed_factor 入参(默认 1.0),当 speed_factor != 1.0 时会禁用分桶并调整上采样率(TTS.py),且按 25Hz/非 25Hz 语义帧率走不同的换算分支。

4.4 训练体系:DPO、梯度检查点与 LoRA

  • DPO 损失选项:2024.02.12 引入、2024.02.15 改为可选项(勾选后 Batch Size 自动减半)的 DPO 实验性训练,其开关在当前数据侧的落点是 data_module.pyif self.config["train"].get("if_dpo", False) is True 时启用负样本构造的数据加载分支;2026.04.18 "DPO 训练不支持漏字模拟" 的修复则进一步约束了 DPO 路径下的采样模拟行为。
  • 梯度检查点:2025.02.12 "微调添加梯度检查点支持,需要 12G 显存进行微调" 对应 V3 微调链路 s1_train.py 中保存/裁剪 checkpoint 的自定义回调逻辑(s1_train.py_save_topk_checkpoint / _save_last_checkpoint),与 2024.01.28 "修复 GPT 训练不保存权重文件的问题" 属于同一条训练保存链路。
  • LoRA 训练:2025.02.23 "V3 模型支持 LoRA 训练,需要 8G 显存" 的实现是独立的 s2_train_v3_lora.py,其中使用 peft 的 LoraConfigr=lora_ranklora_alpha=lora_rankinit_lora_weights=True)只作用于 CFM 子模块(net_g.cfm = get_peft_model(net_g.cfm, lora_config)s2_train_v3_lora.py),权重按 logs_s2_{version}_lora_{rank} 目录保存(s2_train_v3_lora.py),即日志中"8G 显存微调"的实际载体;2026.04.18 "改进 Windows 单卡 v3 LoRA 训练流程" 继续针对该脚本做平台适配。
  • 其他训练修复:2024.07.19 bucket_sampler 步数不一致修复对应 AR/data/bucket_sampler.py;2024.05.02 "SoVITS 训练未冻结 VQ" 修复对应 S2 训练主脚本 s2_train_v3.py 的参数组冻结逻辑;2024.06.29 "多卡训练多进程保存逻辑修复" 与 ddp_utils.py 的分布式工具相关。

4.5 ASR、数据预处理与音频分离

  • ASR 双引擎:日志中 2024.02.07 集成 Faster Whisper(日/英)、2024.08.03 增加粤语 FunASR、2025.07.17 whisper 支持 distill 模型,对应仓库 tools/asr/fasterwhisper_asr.pytools/asr/funasr_asr.py 两个实现;2024.01.21 "模型不存在则从 ModelScope 自动下载" 与 2025.11.28 "ASR 模型下载逻辑优化" 均是下载链路的持续修复。
  • 三连预处理:2024.02.07 "三连根目录留空自动读取 .list 全路径" 的"三连"指 prepare_datasets/ 下的三步脚本:1-get-text.py(文本)、2-get-hubert-wav32k.py(HuBERT 特征)、2-get-sv.py(说话人向量)、3-get-semantic.py(语义特征);2024.02.21 的"降噪选项"、2024.06.28 的"降噪/识别异常跳过单个文件而非整体中断" 都作用于这一预处理阶段。
  • 人声分离与音频增强:2024.07.27 增加 BS-Roformer、2025.02.23 增加 Mel Band Roformer,对应 tools/uvr5/bs_roformer/ 下的 bs_roformer.pymel_band_roformer.py;2025.02.27 的 24KHz→48kHz 超分模型落在 tools/AP_BWE_main/(含 24kto48k/ 权重目录、models/model.py),入口封装在 tools/audio_sr.py;UVR5 系列的 FFmpeg 空格路径修复(2024.04.03、2024.06.10、2025.05.29)与 MDXNet 参数顺序修复(2024.02.28)则对应 tools/uvr5/mdxnet.py

4.6 部署与工程化

日志中贯穿的工程类条目,在当前仓库中均有实体:Docker 链路对应 Dockerfiledocker_build.shdocker-compose.yamlDocker/ 下的安装脚本(2026.02.08 "修复 Conda 条款未同意导致的构建失败"、2026.02.09 "环境自动构建优化" 修改的就是这条链路);Colab/Kaggle Notebook 对应 Colab-Inference.ipynbColab-WebUI.ipynb(2025.04.25 PR#2322 完善脚本);多语言支持由 tools/i18n/ 承载(i18n.py + locale/ 下 13 种语言的 JSON,config.py 通过 I18nAutolanguage 环境变量自动选择);模型导出链路对应 onnx_export.py(2026.04.18 修复其未导入 Optional 的问题)与 export_torch_script_v3v4.py(2025.06.04 "支持 torchscript 导出 V4 模型");2025.04.15 "支持 Python 3.11" 的依赖基线见 requirements.txtextra-req.txt

五、实战速查:从更新日志提炼的设备与版本决策

以下结论均可在上文章节找到日志与源码双重依据:

  1. 显存与训练方式选型(V3 场景):完整微调约 14G 显存(2025.02.11 条目);开启梯度检查点后约 12G(2025.02.12 PR#2040);LoRA 训练约 8G(2025.02.23 条目,实现见 s2_train_v3_lora.py)。显存不足时优先选 LoRA 或梯度检查点,而不是降低学习率硬扛。
  2. 设备精度规则:16 系(Turing)显卡与 SM 6.1 显卡会被强制单精度(config.py),半精度训练/推理在这些卡上会出现 inf 等异常——2024.02.07 UVR5 "inf everywhere" 条目即此机理的早期案例;无 CUDA 环境一律回退 CPU FP32,macOS 上推理走 CPU(2024.02.21 PR#557,"CPU 推理更快")、训练可用 CPU(2024.03.13 PR#761)。
  3. 版本选择:当前推理端支持 v1/v2/v3/v4/v2Pro/v2ProPlus 六个版本(TTS.py);V3/V4 支持并行推理(2025.03.31/2025.04.21)并有 10% 缓存加速(2025.05.26),V3 可用 24K→48K 超分模型(tools/AP_BWE_main/)改善高频"闷"的问题(Issue#2085/2117)。
  4. 服务化部署:低延迟场景开启 streaming_mode(取值 0-3,质量/延迟档位递减,api_v2.py),配合 overlap_length(默认 2)与 min_chunk_length(默认 16)调节分块行为;Colab 场景用 is_share=true 环境变量暴露公网 URL(config.py)。
  5. 语速控制:推理入参 speed_factor(默认 1.0)可只调语速而不重采样随机性(2024.07.23 条目,TTS.py),API 侧同名参数已随 2024.07.23 条目更新到 api.py

六、如何把这份日志当作问题排查工具

当遇到合成/训练异常时,建议按以下顺序利用 Changelog_CN.md

  1. 按现象关键词检索条目:如 ZeroDivisionError(2024.01.21/2024.01.23,HuBERT 提取 NaN 链路)、inf everywhere(2024.02.07,半精度问题)、"句首吞字"(2024.01.28)、"小数被切分"(2024.07.06,按标点切分时的小数误切);
  2. 看"关联 Issue"字段:条目附带的 Issue 编号(如 Issue#79、Issue#2085)指向社区确认过的复现讨论,比 PR 标题更能反映问题边界;
  3. 对照当前源码验证是否已修复:本文"四、核心技术脉络"给出了每条关键能力对应的仓库文件,确认当前检出的代码已包含该修复后,再判断问题是否属于新场景。

需要注意两点适用前提:其一,日志中显存、加速比等数据均为原作者在特定环境下的实测陈述(如"加速推理 50%"标注了 RTX3090 + PyTorch2.2.1 + Cuda11.8 + Win10 + Py39 环境),迁移到其他硬件时不应直接当作承诺值;其二,fast_inference_ 分支于 2024.07.06 验证一致后合并、2024.08.20 完成 fast_inference 分支合并(PR#1490),因此当前 main 已包含快速推理改动,无需再单独切分支。

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

项目优选

收起
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