#4379 TaskCfgTTS(is_cuda=False, uuid='095993aa84', cache_folder='/Users/junyouchen/Desktop/pyvideotrans/tmp/5965/095993aa84',

51.75* Posted at: 1 hour ago 👁7

配音阶段出错 [piper TTS(本地)] 程序内部错误:未定义的变量 'None'
Traceback (most recent call last):
File "/Users/junyouchen/Desktop/pyvideotrans/videotrans/task/job.py", line 213, in run

trk.dubbing()

File "/Users/junyouchen/Desktop/pyvideotrans/videotrans/task/_dubbing.py", line 51, in dubbing

self._tts()

File "/Users/junyouchen/Desktop/pyvideotrans/videotrans/task/_dubbing.py", line 209, in _tts

tts.run(

File "/Users/junyouchen/Desktop/pyvideotrans/videotrans/tts/__init__.py", line 430, in run

PiperTTS(**kwargs).run()

File "/Users/junyouchen/Desktop/pyvideotrans/videotrans/tts/_base.py", line 137, in run

self._exec()

File "/Users/junyouchen/Desktop/pyvideotrans/videotrans/tts/_piper.py", line 76, in _exec

self.error=e

UnboundLocalError: local variable 'e' referenced before assignment
TaskCfgTTS(is_cuda=False, uuid='095993aa84', cache_folder='/Users/junyouchen/Desktop/pyvideotrans/tmp/5965/095993aa84', target_dir='/Users/junyouchen/Downloads', source_language=None, source_language_code=None, source_sub=None, source_wav=None, source_wav_output=None, target_language=None, target_language_code='zh-cn', target_sub='/Users/junyouchen/Downloads/2026_English_Listening_01.srt', target_wav='/Users/junyouchen/Downloads/2026_English_Listening_01.wav', target_wav_output=None, name='/Users/junyouchen/Downloads/2026_English_Listening_01.srt', noextname='2026_English_Listening_01', basename='2026_English_Listening_01.srt', ext='srt', dirname='/Users/junyouchen/Downloads', shound_del_name=None, tts_type=3, volume='+0%', pitch='+0Hz', voice_rate='+0%', voice_role='zh_CN-huayan-medium', voice_autorate=False, video_autorate=False, remove_silent_mid=False, align_sub_audio=False)


=
system:macOS-26.4.1-arm64-arm-64bit
version:v3.99
frozen:False
language:zh
root_dir:/Users/junyouchen/Desktop/pyvideotrans
Python: 3.10.19 (main, Feb 12 2026, 00:36:33) [Clang 21.1.4 ]

1 Replies

这是 pyVideoTrans 中 piper TTS(本地) 模块的内部代码缺陷(UnboundLocalError),变量 e 在异常捕获前未被赋值就直接使用。

解决方案:

  1. 临时绕开此错误:在主界面更换配音渠道,推荐使用 Edge-TTS(免费且稳定),或部署其他本地 TTS 如 CosyVoiceGPT-SoVITS 等。
  2. 升级到最新代码:你是 macOS 源码部署的,请在项目目录执行:

    git pull
    uv sync

    然后重新运行 uv run sp.py。目前 v3.99 已包含该修复,但你可能需要拉取后续的小补丁。

  3. 如果问题依然存在:请将该错误完整日志(logs/ 下最新文件末尾约 30 行)提交到 GitHub Issues 或通过软件内的“报告错误”功能反馈给开发者。

请查阅相关文档:

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.

Related resource