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,报错前通常经过这三处:
change_sovits_weights加载段(约 314 行):全文件唯一给 hps 赋值的地方,加载失败它就一直是未定义;- 同文件的静音段时长计算处(约 842 行,用
hps.data.sampling_rate算长度)以及上方给参考文本补标点的处理逻辑; torch.no_grad()使用前(约 851 行),和稍后取参考音频特征的get_spepc(hps, ...)调用(约 974、981、994 行)。
跟着这三步修 🛠️
- 更新到最新代码。修复来自官方仓库的最新提交:process_ckpt.py 里的
torch.load调用已带上weights_only=False参数,inference_webui.py 的加载流程也同步更新。执行git pull拉全量代码。 - 对齐 PyTorch 版本。执行:
pip install torch==2.6.0执行后你应该看到版本号为 2.6.0。新版 PyTorch 的torch.load默认weights_only=True,旧权重读不进来,菜谱自然抽不出来。 - 重启并验证。执行
python webui.py预期结果:日志里出现模型加载成功的打印,点合成后几秒内生成 wav 文件。如果仍报错,把完整日志贴出来看第一处 Traceback,那才是真病灶。
环境版本对照表
| 组件 | 推荐版本 | 备注 |
|---|---|---|
| Python | 3.9.x | 官方整合包以此为准 |
| PyTorch | 2.6.0 | 权重加载兼容性最佳 |
| librosa | 0.10.2 | requirements.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),仅供参考