首页
/ GPT-SoVITS 版本演进全记录:从 202401 到 V4/V2Pro 的 Changelog 技术解读

GPT-SoVITS 版本演进全记录:从 202401 到 V4/V2Pro 的 Changelog 技术解读

2026-09-04 18:30:38作者:贡沫苏Truman

GPT-SoVITS 是一个支持少样本(few-shot)语音克隆的零样本 TTS 项目,其韩语版更新日志 docs/ko/Changelog_KO.md 完整记录了项目从 2024 年 1 月到 2026 年 4 月的全部重要变更,覆盖 V1 → V2 → V3 → V4 及 V2Pro 系列模型迭代、ASR/分轨/超分等工具链演进与大量稳定性修复。本文以该更新日志为主体骨架,逐月梳理核心变更脉络,并结合仓库源码(如 config.pyconfigs/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.pytools/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 未转布尔导致 UVR5 inf 报错的修复(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.yamlv2 段指向 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.pyGPT_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.jsonGPT_SoVITS/configs/s2v2ProPlus.json,推理侧配置见 GPT_SoVITS/configs/tts_infer.yamlv2Pro/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.pyget_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_halfis_sharelanguage 仍可在启动前覆盖相关行为(见 config.py)。

使用日志排错的三条实用路径

  1. 按症状反查月份:例如训练报 ZeroDivisionError → 2024.01.23 条目(Hubert NaN);GPT 微调后中文音质下降 → 2024.06.06 条目(BERT 特征未读取,需重训);V2Pro 推理静音 → 2025.06.09 条目(ge.sum 溢出)。
  2. 按功能查落地文件:语速调节 → api.py;DPO 选项 → GPT 训练配置与 GPT_SoVITS/s1_train.py;流式推理 → GPT_SoVITS/stream_v2pro.py;超分 → tools/AP_BWE_main/tools/audio_sr.py;版本权重映射 → config.pyGPT_SoVITS/configs/tts_infer.yaml
  3. 按模型版本查配套:选择 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 全系模型与流式/并行推理能力之间做出有据可依的选择。

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

项目优选

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