#6983 Reference audio is empty after silence removal. Try setting preprocess_prompt=False.,Traceback (most recent call last):

212.107**4 Posted at: 3 hours ago

Reference audio is empty after silence removal. Try setting preprocess_prompt=False.,Traceback (most recent call last):
File "videotrans\process\omnivoice_tts.py", line 74, in omnivoice_fun
File "C:\Users\orfav\Documents\win-pyvideotrans\_internal\torch\utils\_contextlib.py", line 116, in decorate_context

return func(*args, **kwargs)

File "omnivoice\models\omnivoice.py", line 567, in generate

voice_clone_prompt=voice_clone_prompt,

File "omnivoice\models\omnivoice.py", line 959, in _preprocess_all
File "omnivoice\models\omnivoice.py", line 675, in create_voice_clone_prompt

logger.warning(

ValueError: Reference audio is empty after silence removal. Try setting preprocess_prompt=False.

Traceback (most recent call last):
File "videotrans\task\only_one.py", line 107, in run
File "videotrans\task\_stage_dubbing.py", line 24, in dubbing
File "videotrans\task\_stage_dubbing.py", line 101, in _tts
File "videotrans\tts\__init__.py", line 233, in run
File "videotrans\tts\_base.py", line 103, in run
File "videotrans\tts\_omnivoice.py", line 41, in _exec
File "videotrans\configure\base.py", line 270, in _new_process
videotrans.configure.excepts.VideoTransError: Reference audio is empty after silence removal. Try setting preprocess_prompt=False.,Traceback (most recent call last):
File "videotrans\process\omnivoice_tts.py", line 74, in omnivoice_fun
File "C:\Users\orfav\Documents\win-pyvideotrans\_internal\torch\utils\_contextlib.py", line 116, in decorate_context

return func(*args, **kwargs)

File "omnivoice\models\omnivoice.py", line 567, in generate

voice_clone_prompt=voice_clone_prompt,

File "omnivoice\models\omnivoice.py", line 959, in _preprocess_all
File "omnivoice\models\omnivoice.py", line 675, in create_voice_clone_prompt

logger.warning(

ValueError: Reference audio is empty after silence removal. Try setting preprocess_prompt=False.

cfg=[TaskCfgVTT]当前工作模式: 翻译视频 单视频模式
原始输入文件名: D:/Doing/不期而遇的心动 (46).mp4,
输出结果保存到文件夹: D:/Doing/_video_out/不期而遇的心动 (46)-mp4,
临时文件夹: C:/Users/orfav/Documents/win-pyvideotrans/tmp/22552/419fcb1afd
未选 清理已存在
已启用CUDA加速
未选 降噪
已选 识别说话人,最大说话人数量不限制
语音识别:Qwen-ASR(内置), 1.7B, 发音语言: 简体中文, 断句方式:默认断句
翻译渠道:DeepSeek,原始语言:简体中文,目标语言:英语, 已选 发送完整字幕
配音渠道:OmniVoice(内置), 角色:clone, 配音语言:英语, 未选 二次语音识别
音量:+0%, 语速:+10%, 已选 音频加速, 已选 视频慢速
字幕: 嵌入硬字幕
已选 分离人声与背景声, 已选 重新嵌入背景声, 背景音量0.8, 背景声音时长 短于 视频时长时: 拉长(降速播放),存在分离后的纯净人声文件,存在分离后的背景声音文件


=
system:Windows-10-10.0.26200-SP0
version:v4.11
frozen:True
language:zh
root_dir:C:/Users/orfav/Documents/win-pyvideotrans

1 Replies

#1 DeepSeek reply at 3 hours ago

核心原因:你使用的是 clone 原音色配音(OmniVoice),软件会按字幕时间轴从原始视频中截取音频片段作为参考音频。OmniVoice 在生成克隆音色前会先对参考音频做「静音切除预处理(preprocess_prompt)」,当截取到的片段太短、几乎全是静音,或人声分离后该片段只剩背景噪声时,这段参考音频会被判定为空,从而抛出该错误。

解决方案

1. 直接解决报错:禁用 OmniVoice 的静音预分割

进入 菜单 → TTS 设置 → OmniVoice,找到 preprocess_prompt 选项,将其设为 False(关闭)后保存,重新开始任务。

2. 从根源改善参考音频质量(推荐一并操作)

clone 模式自动截取的参考音频不可控,必须确保它时长落在 3~10 秒且内容清晰:

  • 进入 菜单 → 工具 → 高级选项 → 语音识别参数
  • 最长语音持续(秒) 设为 6-10
  • 最短语音持续(毫秒) 设为 3000-4000
  • 勾选 合并过短字幕到邻近
  • 若使用 clone,还应勾选 Whisper预分割音频?

3. 规避「分离人声背景声」的干扰

你已勾选 分离人声背景声。分离后的纯净人声如果某段过短,也可能导致参考音频变成静音。可以尝试:

  • 先取消勾选 分离人声背景声 再试一次,排除分离环节影响。

4. 更换更稳定的克隆渠道(可选)

若 OmniVoice 反复报错,可尝试其他内置克隆渠道,如 Qwen-TTSConfucius-TTSF5-TTS,它们对参考音频长度和质量的容错性不同。

5. 使用本地固定参考音频(更可控)

准备一段 3~10 秒、无背景噪声、单一人声的 WAV 文件,放入软件目录 f5-tts 文件夹,然后在 菜单 → TTS设置 → 设置参考音频 中填入如下格式:

你的音频.wav#音频中的说话文本

保存后在主界面配音角色下拉框中选择该音频,即可避免自动截取带来的随机性。

Thinking...
Post Your Reply
If you have more than 50 messages, you will no longer receive an automatic reply. Please ask a new question!
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

Related resource