GPT-SoVITS 版本演进全记录:从 202401 到 V4/V2Pro 的 Changelog 技术解读
GPT-SoVITS 是一个支持少样本(few-shot)语音克隆的零样本 TTS 项目,其韩语版更新日志 docs/ko/Changelog_KO.md 完整记录了项目从 2024 年 1 月到 2026 年 4 月的全部重要变更,覆盖 V1 → V2 → V3 → V4 及 V2Pro 系列模型迭代、ASR/分轨/超分等工具链演进与大量稳定性修复。本文以该更新日志为主体骨架,逐月梳理核心变更脉络,并结合仓库源码(如 config.py、configs/tts_infer.yaml)对关键功能(模型版本管理、自动精度检测、推理加速、V2Pro 系列配置等)给出可验证的落地细节,帮助你在选型、训练与排错时快速定位所需版本能力。
日志的组织方式与阅读方法
韩语更新日志按 YYYYMM 月份分节,每条记录包含四个字段:
- 내용(内容):变更描述;
- 유형(类型):功能 / 修复 / 优化 / 整理 / 文档化 / 性能优化 / 新增功能等;
- 기여자(贡献者):提交者;
- 관련(关联):对应的 Issue 或 PR(原文以 PR/Commit 编号链接形式给出)。
从结构上看,这条时间线恰好与仓库当前的代码形态一一对应。例如日志中 2025.06 新增的 "V2Pro, V2ProPlus" 模型,在 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",
}
推理端各版本使用的 GPT(AR)权重与 SoVITS 权重路径同样在 GPT_SoVITS/configs/tts_infer.yaml 中按 v1 / v2 / v2Pro / v2ProPlus 分组声明,可直接用于 API 或推理 WebUI 的模型指定。
202401:项目启动期的功能奠基与稳定性攻坚
这是条目最密集的一个月,日志记录了 30 余条变更,可归纳为四条主线。
1. 环境与平台扩展。 1 月 25 日 PR 引入 Mac 训练与推理支持;2 月日志中的后续条目(2024.02.21、2024.02.28)继续修复 Mac CPU 推理下的 is_half 判断问题。同期 Dockerfile 完成模型下载流程,Colab 版本经过测试更新。
2. 训练链路修复。 多条记录指向同一个症状——Hubert 特征抽取产生 NaN 导致 GPT/SoVITS 训练报 ZeroDivisionError(1 月 23 日修复);另有 GPT 训练 checkpoint 不保存(1 月 28 日)、16 系 GPU 半精度训练问题(1 月 29 日改为单精度)等。
3. 推理能力增强。
Config.py新增is_share参数,设为True时将 WebUI 映射到公共网络;- 推理 WebUI 支持快速模型切换、可选的分句/分段输出模式、多换行导致的推理错误修复;
- 中文分词由
jieba替换为jieba_fast; - 合成音频包含参考音频尾音的问题大幅降低;过短输出导致参考音频重复的问题修复。
4. 文本前端多语言化。 1 月 22 日测试英语/日语训练(日语训练要求根目录无英文特殊字符);1 月 26 日支持中英、日英混合输出文本;1 月 28 日修复数字被读成汉字的发音问题。这些为 2 月的"中日英三语自动分句与语言识别"打下基础。
202402:ASR 双引擎与 DPO 训练选项
- 2024.02.03:中日英混合文本自动分句与语言识别;引入 PaddleSpeech Normalizer,修复
xx.xx%、"元/吨" 等读法及下划线报错; - 2024.02.07:整合 Faster Whisper 用于日/英语 ASR(与既有 FunASR 形成双引擎)。仓库中对应的实现见 tools/asr/fasterwhisper_asr.py 与 tools/asr/funasr_asr.py;2 月 12 日进一步优化两引擎逻辑并改用镜像下载以规避连接问题;3 月 6 日补充"无 CUDA 时 Faster Whisper 自动回退 CPU"以及"非中文 ASR 无需预下载 FunASR 模型"两项优化;
- 2024.02.12:新增 DPO Loss 训练选项,用于缓解 GPT 重复与漏字问题,同时在推理 WebUI 暴露更多参数;2 月 15 日将 DPO 训练从必选改为可选,并说明勾选后批量大小自动减半;
- 2024.02.16:支持无参考文本的输入(此前推理必须提供参考音频的文本);
- 2024.02.21:数据处理新增降噪选项(仅保留 16kHz 采样率,仅建议背景噪声严重时使用);
- 其他:UVR5 的 librosa 版本适配、
is_half未转布尔导致 UVR5inf报错的修复(16 系 GPU 场景)、Gradio 依赖问题、中文实验名训练支持、UVR5 混响去除模型配置反了的修正(PR)等。
202403–202406:推理提速与训练质量修复
- 2024.03.09:推理速度提升约 50%(日志注明测试环境为 RTX3090 + PyTorch 2.2.1 + CU11.8 + Win10 + Py39,该数据以日志原文为准);
- 2024.03.10:新增
fast_inference_快速推理分支;3 月 13 日新增 CPU 训练支持,使 macOS 可用纯 CPU 训练; - 2024.05.02:修复 SoVITS 训练时不固定 VQ 导致的音质劣化问题;5 月 19 日为训练数据中不支持的语言增加报错提示;5 月 27 日修复 Hubert 抽取 bug;
- 2024.06.06:修复 WebUI GPT 微调时不读取中文输入文本 BERT 特征、导致训练/推理不一致的问题。日志在此条特别加注:若之前已用大量数据微调,建议重新训练模型;
- 6 月还包含:
s2_train.py进度显示修复、UVR5 MDXNet 在 FFmpeg 调用时对含空格路径的兼容、纯/多标点文本输入处理改进、CPU 推理默认批大小出现小数问题、降噪或 ASR 处理异常时不再拖垮整个音频队列、多 GPU 训练的多进程保存逻辑修复、重复的 tools/my_utils.py 清理等。
202407–202408:fast_inference 合入与 V2 正式发布
2024.07 的关键节点:
- 标点分句不再误切小数点;
- 加速推理代码完成验证并合入主分支,日志声明其效果与基础版一致,且"无参考文本"模式同样支持加速推理;
- 新增语速调节功能(含固定随机性与仅控制语速选项),并同步更新到 api.py;
- 新增 BS-RoFormer 人声分离模型支持,仓库中对应实现位于 tools/uvr5/bsroformer.py;
- i18n 扫描重构与多语言配置更新(对应 tools/i18n/ 下的 locale 文件族);GPT 训练自定义
bucket_sampler时的步数不一致修复(对应 GPT_SoVITS/AR/data/bucket_sampler.py)。
2024.08 是 V2 版本的里程碑:
- 2024.08.02 提交区间引入 GPT-SoVITS V2 模型;
- BS-RoFormer 启用 FP16 推理;GPU 识别逻辑优化并新增用户指定 GPU 索引的处理;
- FunASR 增加粤语 ASR 支持;
- V2 专属的多音字处理逻辑优化;
- LangSegment 库层面新增 SSML 标签对数字、电话号码、日期、时间的优化支持(仓库中 LangSegmenter 模块见 GPT_SoVITS/text/LangSegmenter/);
- 2024.08.20
fast_inference分支正式合并入主分支,2024.08.21 V2 版本正式发布。
V2 权重在推理配置中的登记位置见 GPT_SoVITS/configs/tts_infer.yaml(v2 段指向 gsv-v2final-pretrained 目录下的 s1/s2 权重)。
202502–202503:V3 发布与显存策略
V3 阶段日志突出的是不同训练方式的显存档位:
| 能力 | 日志记录的显存需求 |
|---|---|
| V3 全量微调 | 14GB |
| V3 + 梯度检查点(gradient checkpointing) | 12GB |
| V3 LoRA 训练 | 8GB |
同一时期还包括:注意力计算逻辑优化;更换新的语言分段工具并改进多语混合文本分段策略(对应 GPT_SoVITS/text/LangSegmenter/langsegmenter.py);24kHz→48kHz 音频超分模型上线,用于缓解 V3 模型生成 24K 音频"发闷/糊"的问题,仓库中超分主程序在 tools/AP_BWE_main/、音频上采样封装在 tools/audio_sr.py;Mel Band Roformer 模型支持人声/乐器分离(tools/uvr5/bs_roformer/mel_band_roformer.py);针对模型无法识别的短 CJK 字符应用规则检测兜底;新增语速控制参数;2025.02.28 V3 正式发布。
2025.03 的修复围绕依赖版本展开(PyOpenJTalk、ONNX、Pydantic、PyTorch-Lightning 各自关联的 Issue),并启用 SoVITS v3 并行推理;同时 ONNX 运行时 GPU 推理相关包整合:G2PW 内 ONNX 模型从 CPU 转 GPU 推理以消除 CPU 瓶颈,去混响模型支持 GPU。
202504:V4 版本发布
- SoVITS v3 并行推理解锁、异步模型加载逻辑修复;
- Ruff 代码格式化、G2PW 链接更新;
- 文档整理、Python 3.11 支持、安装程序更新;Colab/安装文件/模型下载更新;
- 2025.04.20 引入 GPT-SoVITS V4 模型,随后启用 V4 并行推理、修复模型版本参数传递错误、NumPy/Numba 版本不匹配与 librosa 升级;
- 日志在此处以"GPT-SoVITS V4 正式发布"收尾该月(日志原文日期笔写作 2024.04.22,按上下文应为 2025.04.22)。
V4 权重在 config.py 中登记为 gsv-v4-pretrained/s2Gv4.pth,其 GPT 侧权重复用 s1v3.ckpt。
202505–202509:稳定性与性能收尾
- Docker 与 Windows 自动构建脚本改进,新增 pre-commit 格式化;
- 多语文本分段与识别逻辑优化;
- 缓存策略使 SoVITS V3/V4 推理速度提升约 10%(日志原文数据);
- 标注界面增加"编辑后必须点击 Submit Text 才能保存"的引导提示;
- UVR5 与 ONNX 去混响模型在 FFmpeg 编码含空格路径的 MP3/M4A 时出错修复;
- 2025.07:Win11 下提升推理进程优先级;GPT_SoVITS/TTS_infer_pack/TTS.py 修复对
v2Pro/v2ProPlus版本识别缺失;并行推理模式下的 v2pro 模型识别修复;Whisper ASR 支持更省资源的 distill 模型;TTS_Config逻辑优化;GPT loss 计算问题修复; - 2025.08:WSL 下 ROCm 支持修复。
202506:V2Pro 系列(V2Pro / V2ProPlus)
日志中该节标题写作 "202406 (V2Pro 系列)",但条目日期均为 2025.06,应以条目日期为准:
- V2Pro、V2ProPlus 模型上线,与既有 V2/V3/V4 并行,提供不同音质取向的底座;
- 新增 TorchScript 导出 V4 的支持(仓库中导出脚本为 GPT_SoVITS/export_torch_script.py 及 GPT_SoVITS/export_torch_script_v3v4.py);
- 自动精度检测逻辑优化、WebUI 前端折叠功能;
"X一X"模式多音字误判修复; - 针对 V2Pro 的关键数值稳定性修复:
ge.sum数值爆炸导致推理静音、ge抽取时数值溢出(均为 2025.06.09–11 的修复); - v2pro 并行推理支持 bug 修复;
install.sh逻辑优化;onnxruntime 加载逻辑优化(GPU/CPU 自动检测);语言分段持续优化。
仓库中 V2Pro 系列的训练配置已就位:GPT_SoVITS/configs/s2v2Pro.json 与 GPT_SoVITS/configs/s2v2ProPlus.json,推理侧配置见 GPT_SoVITS/configs/tts_infer.yaml 的 v2Pro/v2ProPlus 段(两者共用 GPT 权重 s1v3.ckpt,区别在 SoVITS 权重)。
202511–202604:流式推理与最新优化
日志最近三段记录了当前仓库的活跃方向:
- 流式推理:2025.11.28 两路 PR 落地(ChasonJiang 与 L-jasmine),仓库中实验性流式实现见 GPT_SoVITS/stream_v2pro.py,其
StreamT2SModel通过process_prompt预计算 KV cache 实现 prompt 阶段复用; - VQ 分布式训练支持(2025.11.28);
- 数学表达式文本的文本前端预处理优化;ASR 模型下载逻辑优化;默认批大小 bug 修复;
- 2025.12:采样错误修复;
- 2026.02:Conda 条款未同意导致的构建失败修复;自动环境配置优化;
- 2026.04(当前最新条目):G2PW 推理输入配置与多音字处理优化,降低长文本的重复计算开销;Windows 单卡下 V3 LoRA 训练流程改进;并行推理 bug 修复;DPO 训练不支持漏字模拟的 bug 修复(呼应 2024.02 引入的 DPO 选项);ONNX 导出脚本缺失
Optional等 import 的修复。
结合源码理解日志中的"自动精度"与"GPU 选择"
日志多次出现 is_half、16 系 GPU 单精度等条目,当前代码中的最终形态是 config.py 的 get_device_dtype_sm 与设备扫描逻辑:
def get_device_dtype_sm(idx: int) -> tuple[torch.device, torch.dtype, float, float]:
...
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
return cpu, torch.float32, 0.0, 0.0
即:显存低于 4GB 或 SM 低于 5.3 的卡回退 CPU;Pascal(6.1)与 16 系笔记本 GPU(SM 7.5 且型号匹配 16xx)强制 float32;其余 GPU 使用 float16。is_half 最终由所有可用设备中是否出现 float16 决定(is_half = any(dtype == torch.float16 ...)),而 infer_device 选取 SM 版本与显存综合最大者。这解释了日志中 2024.01.28"不支持半精度的 GPU 自动强制单精度"、2024.02.28"Mac CPU 推理 is_half 修复"等条目在现行代码中的落点。环境变量 is_half、is_share、language 仍可在启动前覆盖相关行为(见 config.py)。
使用日志排错的三条实用路径
- 按症状反查月份:例如训练报
ZeroDivisionError→ 2024.01.23 条目(Hubert NaN);GPT 微调后中文音质下降 → 2024.06.06 条目(BERT 特征未读取,需重训);V2Pro 推理静音 → 2025.06.09 条目(ge.sum溢出)。 - 按功能查落地文件:语速调节 → api.py;DPO 选项 → GPT 训练配置与 GPT_SoVITS/s1_train.py;流式推理 → GPT_SoVITS/stream_v2pro.py;超分 → tools/AP_BWE_main/、tools/audio_sr.py;版本权重映射 → config.py 与 GPT_SoVITS/configs/tts_infer.yaml。
- 按模型版本查配套:选择 v1/v2/v3/v4/v2Pro/v2ProPlus 中的底座时,权重路径、权重目录命名(
SoVITS_weights_v2Pro等,见 config.py)与训练配置(GPT_SoVITS/configs/ 下 s2*.json / s1*.yaml)需要与所选版本一致,日志中 2025.04.22 与 2025.07.16 两次"版本参数传递/识别"修复正是这一类不匹配问题的历史。
综上,这份韩语更新日志不仅是一份变更记录,更可作为 GPT-SoVITS 的版本能力索引与故障字典:先按月份定位症状对应的修复条目,再到上文列出的源码路径确认现行实现,即可在 V1–V4、V2Pro 全系模型与流式/并行推理能力之间做出有据可依的选择。
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 StartedRust0623
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