#4334 工具/选项中的“实时语音转文字”功能时报错

107.173.15.138,107.173* Posted at: 2 months ago

Traceback (most recent call last):
File "videotrans\mainwin\_main_win.py", line 631, in
File "videotrans\mainwin\_main_win.py", line 744, in _open_winform
File "pyimod02_importers.py", line 457, in exec_module
File "videotrans\component\realtime_stt.py", line 4, in
File "pyimod02_importers.py", line 457, in exec_module
File "sherpa_onnx\__init__.py", line 85, in
from .offline_recognizer import OfflineRecognizer
File "pyimod02_importers.py", line 457, in exec_module
File "sherpa_onnx\offline_recognizer.py", line 6, in
from sherpa_onnx.lib._sherpa_onnx import (
ImportError: cannot import name 'OfflineFireRedAsrCtcModelConfig'
from 'sherpa_onnx.lib._sherpa_onnx' (G:
\pyVideoTrans\_internal\sherpa_onnx\lib\_sherpa_onnx.cp310-
win_amd64.pyd)

15 Replies

这是由于旧版本的 sherpa_onnx 模块与新版本依赖不兼容导致的导入错误,常见于 v3.99 之前的版本。

解决方案:

  1. 前往 pyVideoTrans 下载页 下载最新的完整包(v3.99 或更高)。
  2. 将压缩包解压到新的非中文目录,直接运行 sp.exe,不要覆盖旧版文件。
  3. 如果仍报错,请提供安装目录下 logs/ 文件夹中最新日志的最后 30 行内容以便进一步分析。

请查阅相关文档:


Application started at 2026-04-29 00:08:53

First searching GPU...
NVIDIA_GPU_NUMS=1
Found 1 GPUs, cost=47s
start workers...
process_max_gpu=1
multi_gpus=False
Concurrent task_nums=1
process_max=5
start 9 jobs
ended workers
[DEBUG] 返回缓存的编解码器 Windows-264: h264_nvenc
[DEBUG] 返回缓存的编解码器 Windows-265: hevc_nvenc

从您提供的日志看,pyVideoTrans 已成功启动并正确检测到1块 NVIDIA GPU,之前的 ImportError 问题已随版本升级解决。若仍有其他功能上的疑问,欢迎具体描述。

还是这个错误 Traceback (most recent call last):
File "videotrans\mainwin\_main_win.py", line 631, in
File "videotrans\mainwin\_main_win.py", line 744, in _open_winform
File "pyimod02_importers.py", line 457, in exec_module
File "videotrans\component\realtime_stt.py", line 4, in
File "pyimod02_importers.py", line 457, in exec_module
File "sherpa_onnx\__init__.py", line 85, in
from .offline_recognizer import OfflineRecognizer
File "pyimod02_importers.py", line 457, in exec_module
File "sherpa_onnx\offline_recognizer.py", line 6, in
from sherpa_onnx.lib._sherpa_onnx import (
ImportError: cannot import name 'OfflineFireRedAsrCtcModelConfig'
from 'sherpa_onnx.lib._sherpa_onnx' (G:
\pyVideoTrans\_internal\sherpa_onnx\lib\_sherpa_onnx.cp310-
win_amd64.pyd)

此错误仍是因为 sherpa_onnx 组件版本不匹配。若已下载新版但直接覆盖安装,残留的旧文件仍会导致同样问题。

  1. 完全删除当前安装目录(G:\pyVideoTrans)。
  2. pyvideotrans.com/downpackage 重新下载最新的完整包(v3.99+)。
  3. 将压缩包解压到一个全新的、不含中文和空格的文件夹(如 D:\pyVideoTransNew)。
  4. 暂时关闭杀毒软件,或将新文件夹加入白名单,再双击 sp.exe 启动。

若仍报错,请提供新安装目录下 logs 文件夹中最新 .log 文件的最后 30 行内容。

请查阅相关文档:

image
最新安装下载v3.99-428使用“实时语音转文字”功能报错,根目录没有tools文件夹

最新版本 v3.99-428 使用“实时语音转文字”时,缺少 tools 文件夹属于打包遗漏。

删除当前安装目录,重新从官网下载最新完整压缩包(确认下载的是完整版而非仅升级补丁包),解压到全新的非中文路径(如 D:\pyVideoTrans),直接在解压后的目录中双击 sp.exe 运行,不要再覆盖任何旧文件。

若重新部署后仍相同报错,请打开软件根目录下的 logs 文件夹,找到当天 .log 文件末尾约 30 行错误信息,贴出来以便进一步定位。

请查阅相关文档:


Application started at 2026-04-29 21:35:29

First searching GPU...
[DEBUG] 平台: Windows。正在按优先级检测最佳的 'h264' 编码器: ['nvenc', 'qsv', 'amf']
[DEBUG] 正在测试编码器是否可用: h264_nvenc...
NVIDIA_GPU_NUMS=1
Found 1 GPUs, cost=17s
start workers...
process_max_gpu=1
multi_gpus=False
Concurrent task_nums=1
process_max=1
start 9 jobs
ended workers
[DEBUG] 硬件编码器 'h264_nvenc' 不可用
[DEBUG] 正在测试编码器是否可用: h264_qsv...
[DEBUG] 硬件编码器 'h264_qsv' 不可用
[DEBUG] 正在测试编码器是否可用: h264_amf...
[DEBUG] 硬件编码器 'h264_amf' 不可用
[DEBUG] 所有硬件加速器均未通过测试。将使用软件编码器: libx264
[DEBUG] 最终确定使用的编码器: libx264
[DEBUG] 平台: Windows。正在按优先级检测最佳的 'hevc' 编码器: ['nvenc', 'qsv', 'amf']
[DEBUG] 正在测试编码器是否可用: hevc_nvenc...
[DEBUG] 硬件编码器 'hevc_nvenc' 不可用
[DEBUG] 正在测试编码器是否可用: hevc_qsv...
[DEBUG] 硬件编码器 'hevc_qsv' 不可用
[DEBUG] 正在测试编码器是否可用: hevc_amf...
[DEBUG] 硬件编码器 'hevc_amf' 不可用
[DEBUG] 所有硬件加速器均未通过测试。将使用软件编码器: libx265
[DEBUG] 最终确定使用的编码器: libx265

下载的是完整版v3.99-428,解压后还是没有tools文件夹,以上是 .log 文件完整信息

根据您提供的日志,pyVideoTrans v3.99-428 启动正常,已检测到 GPU。但“实时语音转文字”功能所需的 tools 文件夹确实缺失,这属于该版本可能的打包遗漏。

目前日志中没有记录到任何错误,因此无法直接定位。请按以下步骤尝试解决:

  1. 卸载当前版本:完全删除 G:\pyVideoTrans 目录。
  2. 临时降级:前往 pyvideotrans.com/downpackage 下载 v3.99 稳定版(非 -428)。
  3. 全新解压:解压到如 D:\pyVideoTrans396 的新目录(非中文路径),直接双击 sp.exe
  4. 若降级后问题依旧,请提供具体错误信息:复制错误弹窗中的全部文字,或截取报错弹窗的完整截图(含标题和内容),以便进一步分析。

请查阅相关文档:

执行过的音频文件有BUG,重新执行一遍,还是同样的bug,时缓存的原因吗

执行相同的文件再次出现同样错误很可能是缓存导致的。因为软件默认会检测上次生成的中间文件,如果这些文件本身已损坏或不完整,会直接复用它们,从而重现错误。请按以下步骤排查:在主界面勾选“清理已生成”选项,然后重新执行该任务,强制重新生成所有中间结果。如果问题仍然存在,请提供具体的错误弹窗内容或 logs 文件夹下最新日志的最后 30 行,以便进一步分析。请查阅相关文档:常见错误与解决方法 (清理缓存相关)

我重新装新版本的pyVideoTrans也还是那样,就是重复的生成之前的翻译音频,完全不变化,我用的indextts,而且我连indextts都重新换了新的,是不是在系统盘留了什么日志文件,重复来执行

这是因为旧版本生成的中间缓存文件(如转换后的音频、已识别字幕、翻译字幕)仍然存在,新版本会优先读取这些缓存,导致结果没有变化。请按顺序执行以下清理操作:删除软件根目录下的 tmp 和 output 文件夹中的所有内容(清空缓存)。删除原视频所在目录下的 _video_out 文件夹(之前的输出结果)。在软件主界面,勾选“清理已生成”选项,然后重新执行任务。如果使用了 IndexTTS 服务,请重启其服务进程,确保参考音频和模型状态已重置。完成以上步骤后,再次运行任务,应该会重新生成全新结果。若仍有问题,请提供 logs 文件夹下最新 .log 文件的最后 30 行内容。请查阅相关文档:常见错误与解决方法(缓存清理)

[DEBUG] [Audio-Sync] Line=73 | 音频末尾补静音 560ms | [current_slot_audio_len=1940 slot_duration=2500] | Timeline: 136900 -> 139400
[DEBUG] [Audio-Sync] Line=74 | 音频末尾补静音 2980ms | [current_slot_audio_len=1120 slot_duration=4100] | Timeline: 139400 -> 143500
[DEBUG] [Audio-Sync] Line=75 | 音频末尾补静音 643ms | [current_slot_audio_len=1257 slot_duration=1900] | Timeline: 143500 -> 145400
[DEBUG] [Audio-Sync] Line=76 | 音频末尾补静音 480ms | [current_slot_audio_len=920 slot_duration=1400] | Timeline: 145400 -> 146800
[DEBUG] [Audio-Sync] Line=77 | 匹配 | [current_slot_audio_len=2500 slot_duration=2500] | Timeline: 146800 -> 149300
[DEBUG] [Audio-Sync] Line=78 | 音频末尾补静音 122ms | [current_slot_audio_len=778 slot_duration=900] | Timeline: 149300 -> 150200
[DEBUG] [Audio-Sync] Line=79 | 音频末尾补静音 790ms | [current_slot_audio_len=1210 slot_duration=2000] | Timeline: 150200 -> 152200
[DEBUG] [Audio-Sync] Line=80 | 音频末尾补静音 721691ms | [current_slot_audio_len=8490 slot_duration=730181] | Timeline: 152200 -> 882381
[DEBUG] concat_txt='E:/AI/win-pyvideotrans-v4.02-0616/tmp/14696/d0d1f5eca6/final_audio_concat.txt',filelist[0]='E:/AI/win-pyvideotrans-v4.02-0616/tmp/14696/d0d1f5eca6/silence_head_0.wav'
[DEBUG] [Audio-Concat] 最终音频已生成: E:/AI/win-pyvideotrans-v4.02-0616/tmp/14696/d0d1f5eca6/target.wav

[DEBUG] 跳过二次识别


Application started at 2026-06-21 09:25:02

t='Loading resources...'
t='Loading main window...'
t='Initializing UI...'
t='Init UI...'
t='SetupUI end...'
t='import recognition ...'
t='import translate ...'
t='Set default param ...'
[DEBUG] 上次缓存的角色:clone,字幕嵌入类型:1,发音语言:简体中文,目标语言:英语,目标语言代码:en,模型:1.7B,TTS渠道[9]
t='Bind signal...'
[DEBUG] app_cfg.proxy='http://127.0.0.1:7897'
t='set cursor...'
t='preload win...'
[INFO] 可以使用 huggingface.co
t='end'
[DEBUG] NVIDIA_GPU_NUMS=1
[DEBUG] Found 1 GPUs, cost=6s
[DEBUG] process_max_gpu=1,is_multi_gpus=False
[DEBUG] Concurrent task_nums=1, process_max_cpu=0
[DEBUG] start 9 jobs
[DEBUG] 返回缓存的编解码器 Windows-264: h264_nvenc
[DEBUG] 返回缓存的编解码器 Windows-265: hevc_nvenc

从日志看,软件检测到上次已生成的目标音频缓存,直接跳过了重新配音和识别流程(日志显示“跳过二次识别”,且输出目录已存在目标音频)。即便重装新版本,若原视频目录下的 _video_outtmp 残留旧缓存文件,软件仍会复用它们,导致结果一成不变。请按以下步骤彻底清除所有影响结果的缓存:删除视频所在目录下的 _video_out 文件夹(存放所有翻译中间结果和最终视频)。清空软件安装目录下的 tmp/ 文件夹(存放临时切片和音频缓存)。在主界面勾选“清理已生成”选项(确保重新处理时不读取任何缓存)。重启 IndexTTS 服务(如果使用 clone 角色,确保参考音频和模型已完全重置)。完成以上操作后再重新执行任务,即可强制从头开始全新的识别、翻译和配音流程。若仍有问题,请复制软件主界面报错的完整文字或截图。请查阅相关文档:常见错误与解决方法(缓存清理)

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: ko-fi.com/jianchang512

Related resource