十分理解您的困扰。pyVideoTrans 的视频翻译流程是“语音识别 → 翻译 → 配音 → 合成”,其中配音阶段依赖翻译字幕的时间轴与文本内容。当您手动修改了字幕时间轴(即使纯文本未变),软件会将其视为全新的输入任务,默认需要重新生成配音,因此会出现重跑300多条配音的情况。
不过,您可以利用软件内置的缓存机制来尝试复用上一次的配音文件,从而避免重新生成:
- 务必不要勾选主界面左上角的“清理已生成”复选框。
软件在处理同一视频时,若检测到字幕内容(指文本字符串)未发生变化,会直接使用缓存的配音片段,而不会重新请求 TTS。
注意:这个判定依据是字幕的文本内容,而非时间轴。如果您只调整了时间但完全未改动任何文字,软件有较大概率直接复用旧配音。 - 确保“翻译渠道”与“配音渠道”的配置与上次完全一致(包括配音角色、语速等参数)。
任何参数变动都会导致缓存失效,触发重新配音。 - 若您仅修改了时间轴但文字无变动,可在导入修改后的字幕文件后直接开始任务。
软件会读取新的时间轴进行合成,但配音音频片段将直接从缓存中调取,从而跳过漫长的配音过程。
如果上述方法未能生效,说明缓存已因其他因素失效,您只能重新生成配音。此时可以:
- 在“高级选项”中适当降低 “并发配音线程数” 并增大 “配音后暂停秒”(对于 Edge-TTS 免费渠道,建议设为 1 线程、间隔 5 秒),避免因限流导致更多重试耗时。
- 考虑使用本地克隆配音(如 OmniVoice-TTS、F5-TTS 等,需额外部署),其生成速度通常快于在线 API。
软件的设计确实未提供“惰性配音”——即直接复用旧音频片段并按新时间轴拼接的功能,这源于音频片段与字幕一一对应的强绑定关系。如果您经常需要微调时间轴,建议在单视频交互模式下操作,那样可以在配音后就地试听并手动精确校准,避免事后大改。
希望这些信息对您有帮助。如果仍然需要强制复用旧配音,唯一终极方案是手动编写脚本将缓存的 .wav 文件按新字幕重新编排,但这已超出软件自然能力。