GPT-SoVITS 更新日志全景解析:V1 到 V4、V2Pro 版本演进与技术脉络的源码级解读
本文基于仓库内的官方中文更新日志 Changelog_CN.md,完整梳理 GPT-SoVITS 从 2024 年初到 2026 年的全部变更条目,并逐条结合当前仓库源码(如 config.py、TTS.py、api_v2.py、s2_train_v3_lora.py)验证条目中提到的模型版本、训练选项与推理参数在代码中的真实落点。读完后,你将掌握 GPT-SoVITS 各版本模型(V1/V2/V3/V4/V2Pro/V2ProPlus)的发布脉络、训练显存要求、设备适配逻辑(16 系显卡、macOS、CPU)、流式推理参数与排查问题的方法,并能直接把更新日志当作"特性考古"与版本选型的第一手依据。
一、这份更新日志的定位与阅读方法
Changelog_CN.md 是 GPT-SoVITS 项目的官方变更清单,按"年月"分节(如 202401、202408 (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.py 中 SoVITS_weight_root 与 GPT_weight_root 分别维护了 SoVITS_weights/GPT_weights 以及 _v2、_v3、_v4、_v2Pro、_v2ProPlus 六个权重根目录,get_weights_names() 用 custom_sort_key(config.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.py 为 v2ProPlus 单独维护了模型配置(如 vits_weights_path、特征帧率 486 等)。V2Pro 系列的推理配置也可在 s2v2Pro.json 与 s2v2ProPlus.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.py、chinese2.py、english.py、japanese.py、korean.py、cantonese.py、cleaner.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.py 的 get_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.py 中 streaming_mode 支持 0/1/2/3(int)与 true/false(bool)两种写法,并在流式响应中使用 StreamingResponse 分块返回音频。
语速调节。 2024.07.23 "支持合成语速调节" 与 2025.02.28 "增加语速传参" 两条记录对应 TTS.py 的 speed_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.py:
if 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 的
LoraConfig(r=lora_rank、lora_alpha=lora_rank、init_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.py 与 tools/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.py、mel_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 链路对应 Dockerfile、docker_build.sh、docker-compose.yaml 与 Docker/ 下的安装脚本(2026.02.08 "修复 Conda 条款未同意导致的构建失败"、2026.02.09 "环境自动构建优化" 修改的就是这条链路);Colab/Kaggle Notebook 对应 Colab-Inference.ipynb 与 Colab-WebUI.ipynb(2025.04.25 PR#2322 完善脚本);多语言支持由 tools/i18n/ 承载(i18n.py + locale/ 下 13 种语言的 JSON,config.py 通过 I18nAuto 按 language 环境变量自动选择);模型导出链路对应 onnx_export.py(2026.04.18 修复其未导入 Optional 的问题)与 export_torch_script_v3v4.py(2025.06.04 "支持 torchscript 导出 V4 模型");2025.04.15 "支持 Python 3.11" 的依赖基线见 requirements.txt 与 extra-req.txt。
五、实战速查:从更新日志提炼的设备与版本决策
以下结论均可在上文章节找到日志与源码双重依据:
- 显存与训练方式选型(V3 场景):完整微调约 14G 显存(2025.02.11 条目);开启梯度检查点后约 12G(2025.02.12 PR#2040);LoRA 训练约 8G(2025.02.23 条目,实现见 s2_train_v3_lora.py)。显存不足时优先选 LoRA 或梯度检查点,而不是降低学习率硬扛。
- 设备精度规则: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)。 - 版本选择:当前推理端支持
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)。 - 服务化部署:低延迟场景开启
streaming_mode(取值 0-3,质量/延迟档位递减,api_v2.py),配合overlap_length(默认 2)与min_chunk_length(默认 16)调节分块行为;Colab 场景用is_share=true环境变量暴露公网 URL(config.py)。 - 语速控制:推理入参
speed_factor(默认 1.0)可只调语速而不重采样随机性(2024.07.23 条目,TTS.py),API 侧同名参数已随 2024.07.23 条目更新到 api.py。
六、如何把这份日志当作问题排查工具
当遇到合成/训练异常时,建议按以下顺序利用 Changelog_CN.md:
- 按现象关键词检索条目:如
ZeroDivisionError(2024.01.21/2024.01.23,HuBERT 提取 NaN 链路)、inf everywhere(2024.02.07,半精度问题)、"句首吞字"(2024.01.28)、"小数被切分"(2024.07.06,按标点切分时的小数误切); - 看"关联 Issue"字段:条目附带的 Issue 编号(如 Issue#79、Issue#2085)指向社区确认过的复现讨论,比 PR 标题更能反映问题边界;
- 对照当前源码验证是否已修复:本文"四、核心技术脉络"给出了每条关键能力对应的仓库文件,确认当前检出的代码已包含该修复后,再判断问题是否属于新场景。
需要注意两点适用前提:其一,日志中显存、加速比等数据均为原作者在特定环境下的实测陈述(如"加速推理 50%"标注了 RTX3090 + PyTorch2.2.1 + Cuda11.8 + Win10 + Py39 环境),迁移到其他硬件时不应直接当作承诺值;其二,fast_inference_ 分支于 2024.07.06 验证一致后合并、2024.08.20 完成 fast_inference 分支合并(PR#1490),因此当前 main 已包含快速推理改动,无需再单独切分支。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0622
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00