☰
GPT-SoVITS hps未定义报错?语音克隆三步修复清单
2026/10/7 16:17:39 网站建设 项目流程

GPT-SoVITS hps未定义报错?语音克隆三步修复清单

【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS

你在 GPT-SoVITS 里点"合成"时蹦出NameError: name 'hps' is not defined?别慌,这个错不神秘,按下面三步走,语音合成就能恢复正常。

先对号入座:你是不是也卡在这

  • 用python webui.py起了 WebUI,选好模型、填好文本,点合成按钮的瞬间日志报 hps 未定义;
  • 最近手动拷了几个 .py 文件做局部更新,更新完第一次合成就挂了;
  • 在 v1、v2、v3 权重之间来回切换,之前好好的参考音频突然就报错。

最小复现条件其实很宽松:参考音频在 3~10 秒、推理文本非空,基本必现。所以别怀疑你的音频和文本。

hps 到底卡在哪一步

把 hps 想成一张"菜谱"。它是装着全部超参数的容器:采样率、分段长度、模型版本号都在里面。每次推理前,程序先加载模型、顺手把菜谱抽出来,之后模型照着菜谱确认"食材规格"。

问题就出在:加载这一步如果没走完(权重文件不匹配、torch.load抛异常等),菜谱始终没被抽出,hps 就是空的。后面所有要翻菜谱的代码一执行,立刻 NameError。这正是 GPT-SoVITS hps未定义 报错的根源——它本身不是病灶,只是上游加载失败的"报警器"。

对照 inference_webui.py,报错前通常经过这三处:

  1. change_sovits_weights加载段(约 314 行):全文件唯一给 hps 赋值的地方,加载失败它就一直是未定义;
  2. 同文件的静音段时长计算处(约 842 行,用hps.data.sampling_rate算长度)以及上方给参考文本补标点的处理逻辑;
  3. torch.no_grad()使用前(约 851 行),和稍后取参考音频特征的get_spepc(hps, ...)调用(约 974、981、994 行)。

跟着这三步修 🛠️

  1. 更新到最新代码。修复来自官方仓库的最新提交:process_ckpt.py 里的torch.load调用已带上weights_only=False参数,inference_webui.py 的加载流程也同步更新。执行git pull拉全量代码。
  2. 对齐 PyTorch 版本。执行:pip install torch==2.6.0执行后你应该看到版本号为 2.6.0。新版 PyTorch 的torch.load默认weights_only=True,旧权重读不进来,菜谱自然抽不出来。
  3. 重启并验证。执行python webui.py预期结果:日志里出现模型加载成功的打印,点合成后几秒内生成 wav 文件。如果仍报错,把完整日志贴出来看第一处 Traceback,那才是真病灶。

环境版本对照表

组件推荐版本备注
Python3.9.x官方整合包以此为准
PyTorch2.6.0权重加载兼容性最佳
librosa0.10.2requirements.txt 中已锁定
transformers>=4.51,<5加载 BERT / Hubert 用
模型权重以 v2 为基准v1/v3 符号表不同,别混着切

平台差异提醒一句:Mac M 系列芯片(aarch64)装的是 arm64 版onnxruntime而非-gpu版,装错会连带推理失败;Windows 上则要先确认系统 PATH 里有 ffmpeg。

顺手避开的三个连带坑

  • ModuleNotFoundError: No module named 'text.LangSegmenter'→ 原因:只拷了部分文件,模块树不完整 → 解法:放弃局部更新,直接拉全量代码或用最新整合包。
  • "底模缺失,无法加载相应 LoRA 权重"→ 原因:LoRA 权重与 v3/v4 底模不匹配 → 解法:去掉 LoRA 选项,先选标准权重跑通。
  • 切换 v1/v2/v3 后参数残留→ 原因:weight.json记住了上次的权重路径 → 解法:在 WebUI 里手动重新选择权重再点合成。

遇到 GPT-SoVITS hps未定义 但三步后仍无解时,先对照上表逐项核对,90% 的情况出在 Python 与 PyTorch 版本错位。

还卡住?搜 docs/cn/README.md 里的报错关键词,或去仓库 issue 区贴日志,通常很快有人接住你。

【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询