#5900 {"message":"tts failed","Exception":"\"slow_conv2d_cpu\" not implemented for 'Half'"}self.api_url='http://127.

2408:825c* Posted at: 4 hours ago

{"message":"tts failed","Exception":"\"slow_conv2d_cpu\" not implemented for 'Half'"}
self.api_url='http://127.0.0.1:9880/tts':
Traceback (most recent call last):
File "videotrans\util\ListenVoice.py", line 21, in run
File "videotrans\tts\__init__.py", line 207, in run
File "videotrans\tts\_base.py", line 134, in run
videotrans.configure.excepts.DubbingSrtError: {"message":"tts failed","Exception":"\"slow_conv2d_cpu\" not implemented for 'Half'"}
self.api_url='http://127.0.0.1:9880/tts'


=
system:Windows-10-10.0.19044-SP0
version:v4.06
frozen:True
language:zh
root_dir:D:/win-pyvideotrans-v4.06

9 Replies

该错误是因为 GPT-SoVITS 被配置为使用半精度(Half)推理,但您当前运行在 CPU 上,CPU 不支持 Half 类型的卷积操作。

解决方法:修改 GPT-SoVITS 的配置文件或启动参数,强制使用 float32(单精度)。

  1. 找到 GPT-SoVITS 目录下的 config.json 或启动脚本(例如 api.py 中的相关参数),将 dtypeprecision"float16" 改为 "float32"
  2. 如果您是使用命令行启动的,可以在启动 api.py 时添加参数 --precision float32(具体请参考您的 GPT-SoVITS 版本的帮助信息)。
  3. 保存后重启 GPT-SoVITS 服务。
  4. 在 pyVideoTrans 中重新执行配音任务。

如果仍有问题,请检查您的 GPT-SoVITS 是否确实在 CPU 上运行,或考虑使用其他支持 CPU 的配音渠道(如 Edge-TTS)。

找到 GPT-SoVITS 目录下的 config.json 或启动脚本(例如 api.py 中的相关参数),将 dtype 或 precision 由 "float16" 改为 "float32"。

修改 GPT-SoVITS 精度配置的具体位置取决于您的部署方式。常见情况如下:

  • 如果使用 api.py 启动:在其所在目录下查找 config.jsonargs.json,搜索 "precision""dtype""fp16" 字段,将其值改为 "fp32"float32。如果没有这些文件,可以启动时添加参数:python api.py --precision float32(具体参数名以您的版本 --help 输出为准)。
  • 如果使用 WebUI 启动:通常在 GPT_SoVITS/ 根目录下的 config.json 中,找到 "precision""half" 项,修改后保存并重启服务。

修改后必须重启 GPT-SoVITS 服务。您可以在 pyVideoTrans 中重新尝试配音任务来验证。

如果仍有问题,请确认您的 GPT-SoVITS 确实运行在 CPU 下(没有可用 NVIDIA GPU)。此外,也可以考虑在 pyVideoTrans 的配音渠道中更换为其他支持 CPU 的渠道(如 Edge-TTS),跳过此错误。

如果使用 WebUI 启动:通常在 GPT_SoVITS/ 根目录下的 config.json 中,找到 "precision" 或 "half" 项,修改后保存并重启服务。

是的,您说得对,使用 WebUI 启动 GPT-SoVITS 时,通常需要在 GPT_SoVITS/ 根目录下的 config.json 中修改精度设置。但请注意,不同版本的 GPT-SoVITS 配置文件位置和字段名可能略有不同。如果找不到 precisionhalf 字段,建议:- 检查 GPT_SoVITS/GPT_SoVITS/ 子目录下的 config.json。- 或者查看 api.py 文件开头是否有 precision 相关变量定义,直接修改代码中的默认值。如果修改配置后仍报错,可以尝试在启动命令后追加 --precision float32,例如:python api.py --precision float32。修改后务必重启 GPT-SoVITS 服务。如果仍无法解决,建议在 pyVideoTrans 中临时更换为其他配音渠道(如 Edge-TTS),避免 GPT-SoVITS 的 CPU 精度问题。

使用 WebUI 启动 GPT-SoVITS 时,通常需要在 GPT_SoVITS/ 根目录下的 config.json 中修改精度设置。具体如何做

进入 GPT-SoVITS 根目录,用文本编辑器打开 config.json(或 GPT_SoVITS/config.json)。搜索 precisiondtypehalffp16 等关键词,将值改为 "fp32""float32"。示例片段:

"precision": "float32"

如果没有直接字段,可将 "half": true 改为 "half": false

修改后保存文件,重启 GPT-SoVITS 的 WebUI 服务。如果仍无效,请在启动命令后手动追加参数 --precision float32,例如:

python api.py --precision float32

注意:不同版本的 GPT-SoVITS 配置结构可能不同,建议参考其官方文档或 --help 输出。若问题持续,可考虑在 pyVideoTrans 中临时切换至 Edge-TTS 等支持 CPU 的配音渠道。

进入 GPT-SoVITS 根目录,用文本编辑器打开 config.json(或 GPT_SoVITS/config.json) 文本编辑器如何使用

在 Windows 系统中,打开文本编辑器的步骤如下:1. 找到 GPT-SoVITS 根目录下的 config.json 文件。2. 右键点击该文件,选择“打开方式”,然后选择“记事本”或“Notepad++”(如果没有,可以选择“从电脑上选择应用”->“记事本”)。3. 在打开的记事本中,按 Ctrl+F 打开查找功能,搜索“precision”、“dtype”、“half”或“fp16”等关键词。4. 找到后将其值改为 "float32""fp32",或将其 true 改为 false。5. 修改后,按 Ctrl+S 保存文件,关闭记事本。6. 重启 GPT-SoVITS 服务。如果记事本无法保存(提示权限不足),请以管理员身份运行记事本后再操作:右键点击记事本图标,选择“以管理员身份运行”,然后在记事本中通过“文件-打开”导航到 config.json 进行修改。

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Dondate via ko-fi.com

Dondate via PayPal

Related resource