#5081 单独str文件转语音执行没反应

3.112* Posted at: 1 day ago

只添加了一个str文件 下面各种选项都选好后 点击下方“开始执行” 按钮 然后就没有任何反应了 也没有任何提示 我点击“停止”按钮 也可以停止 去到输出文件夹查看 也没有任何新文件生成
请您指点 谢谢

27 Replies

根据您的描述,“单独 srt 文件转语音”很可能是在左侧面板的“批量为字幕配音”功能中操作(而不是“翻译视频或音频”功能)。点击“开始执行”后没有任何反应,通常有以下几种可能原因:

  1. 配音渠道未配置或未选择角色
    请检查是否在“配音渠道”下拉框中选择了一个渠道(例如 Edge-TTS),并且“配音角色”也选择了具体的发音人。如果渠道需要 API Key 但未填写,软件应会自动弹出设置窗口,但有时会静默失败。
  2. 功能面板选择错误
    确认当前界面是“批量为字幕配音”(左侧功能栏的第二项),而不是“翻译视频或音频”。在翻译视频面板中,即使添加了 SRT 文件也无法直接执行配音。
  3. 软件版本 Bug
    如果您使用的是 v3.98 版本,批量字幕配音功能存在一个已知 bug(详见 FAQ 第30条):即使已导入 SRT 文件,仍提示“必须导入 srt 文件或在文本框中填写文字”。虽然您没有看到报错弹窗,但可能界面无响应。
    解决方法:从官方下载地址下载最新的 sp.exe 覆盖到软件根目录。
  4. 日志排查
    请打开软件安装目录下的 logs/ 文件夹,找到最新的 .log 文件,复制底部约 30 行内容粘贴给我,以便进一步分析。

临时排查步骤:

  • 尝试勾选主界面左上角的“清理已生成”复选框,强制重新处理。
  • 将 SRT 文件重命名为简短英文名(如 1.srt)并放在浅层目录(如 D:\),排除路径问题。
  • 切换配音渠道为 Edge-TTS(免费、无需密钥),并选择一个配音角色。

如果以上仍无效,请提供日志。

2026-06-09 13:33:47,797 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1020.5 seconds)
2026-06-09 13:33:50,465 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1200.7 seconds)
[DEBUG] 开始语音合成:渠道0
[DEBUG] 本次EdgeTTS配音:重试延迟:5,出错将重试:4,并发:10
[DEBUG] 执行流程:所有配音任务结束。
[DEBUG] 开始执行事件循环的关闭流程...
[DEBUG] 事件循环已关闭。
[DEBUG] 配音 self.cfg=TaskCfgTTS(uuid='a525bc719e', name='D:/win-pyvideotrans-v4.01-0602/tmp/3836/20260609-133421.srt', dirname='D:/win-pyvideotrans-v4.01-0602/tmp/3836', noextname='20260609-133421', basename='20260609-133421.srt', ext='srt', target_dir='D:/win-pyvideotrans-v4.01-0602/output/tts', cache_folder='D:/win-pyvideotrans-v4.01-0602/tmp/3836/a525bc719e', is_cuda=True, 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='D:/win-pyvideotrans-v4.01-0602/tmp/3836/20260609-133421.srt', target_wav='D:/win-pyvideotrans-v4.01-0602/output/tts/20260609-133421.wav', target_wav_output=None, tts_type=0, volume='+0%', pitch='+0Hz', voice_rate='+0%', voice_role='Xiaoxiao(Female/CN)', voice_autorate=False, video_autorate=False, remove_silent_mid=False, align_sub_audio=False)
2026-06-09 13:34:47,843 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1080.6 seconds)
2026-06-09 13:34:50,509 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1260.8 seconds)
2026-06-09 13:35:47,853 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1140.6 seconds)
2026-06-09 13:35:50,523 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1320.8 seconds)
2026-06-09 13:36:47,857 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1200.6 seconds)
2026-06-09 13:36:50,563 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1380.8 seconds)
2026-06-09 13:37:47,865 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1260.6 seconds)
2026-06-09 13:37:50,601 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1440.9 seconds)
2026-06-09 13:38:47,883 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1320.6 seconds)
2026-06-09 13:38:50,607 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1500.9 seconds)
2026-06-09 13:39:47,917 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1380.7 seconds)
2026-06-09 13:39:50,612 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1560.9 seconds)
2026-06-09 13:40:47,946 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1440.7 seconds)
2026-06-09 13:40:50,659 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1620.9 seconds)
2026-06-09 13:41:47,965 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1500.7 seconds)
2026-06-09 13:41:50,707 - modelscope - INFO - Still waiting to acquire lock on D:/win-pyvideotrans-v4.01-0602/models.lock\Qwen___Qwen3-TTS-12Hz-1.7B-Base (elapsed: 1681.0 seconds)

问题核心是模型锁(lock)未被释放,导致软件在启动时或后台线程中持续等待 Qwen3-TTS 模型锁,进而阻塞了后续所有操作(包括 Edge-TTS 配音任务)。尽管日志显示 Edge-TTS 配音阶段开始并声称“所有配音任务结束”,但由于锁未释放,实际配音请求并没有成功发送到微软服务器,因此输出目录中没有新文件。

解决方案:

  1. 完全关闭 pyVideoTrans 软件(确保进程已退出)。
  2. 打开文件资源管理器,进入软件安装目录 D:\win-pyvideotrans-v4.01-0602
  3. 找到 models.lock 文件夹,进入后删除 Qwen___Qwen3-TTS-12Hz-1.7B-Base 整个子文件夹(或者直接删除整个 models.lock 文件夹)。

    若无法删除,可能是因为文件被占用,请确认软件已完全退出,或重启电脑后再操作。
  4. 重新启动软件,再次尝试“批量为字幕配音”功能。

额外建议:

  • 如果您不需要 Qwen3-TTS 渠道,可在 菜单 → TTS 设置 → Qwen3-TTS 中关闭或清空相关配置,防止后续再次触发锁创建。
  • 若问题依然存在,请将 logs/ 目录下最新的 .log 文件底部约30行内容再次提供给我。

此问题并非功能 Bug,而是模型锁被异常保留导致的死锁,清除锁文件后即可恢复。

谢谢 已能够正常生成音频 但是我选择了“保存到原位置” 可是我找不到新生成的mp3文件

在“批量为字幕配音”功能中,默认输出格式是 WAV 而非 MP3。您无法找到新生成的 MP3 文件,可能原因如下:

  1. 输出文件是 .wav 格式
    检查 SRT 文件所在目录或 output/tts 文件夹,看是否有同名 .wav 文件(例如 20260609-133421.wav)。
  2. “保存到原位置”选项未生效
    该选项只有在您使用默认输出目录(软件根目录下的 output/tts)时,才通过“输出到..”按钮手动选择目录并取消勾选。请确认:

    • 您点击了“输出到..”按钮,并选择了 SRT 文件所在的文件夹。
    • 或者检查 output/tts 文件夹内是否有生成的文件。
  3. 文件被缓存到临时目录
    任务完成后,输出文件会从临时目录移动到目标目录。如果移动失败(例如权限不足),文件可能残留在 tmp/ 临时目录中。请清理后重试,或勾选“清理已生成”重新执行。

如果您确实需要 MP3 格式,可以:

  • 在“批量为字幕配音”界面中,选择输出格式为 MP3(如果有该选项);若无,则输出后自行使用格式转换工具(如 FFmpeg)将 .wav 转为 .mp3

请先检查上述位置,若仍找不到,提供 logs/ 下最新日志的底部 30 行以便进一步排查。

我在output/tts 里面找到了新生成的文件 但是我明明选择了“保存到原位置”(也就是str的同目录) 这很奇怪
再有 我能否提一些很真诚的意见 这个软件本身功能非常强大 操作也简单 但是我发现 其中的一些细节(很多都是基本的基础设置)都存在难以理解的错误 例如刚才锁住配置文件和选定的参数(路径)无效 还有“翻译视频或音频”功能中 首先要选择一个视频或者音频 但是选择完成后 界面竟然不显示任何文件名和路径 而且也没有类似已选择的标志 这些都属于基本的软件设计问题 因为这些影响软件使用体验真的不应该 还有一些性能和稳定方面的细节 也希望后续能优化 谢谢

感谢您的反馈。关于“保存到原位置”未生效的问题,在“批量为字幕配音”功能中,如果您没有手动点击“输出到..”按钮并选择SRT文件所在目录,软件默认会将输出文件保存到 output/tts 文件夹。请确认您是否执行了以下操作:点击“输出到..”并指定了SRT所在的路径;若仍无效,可能由于文件路径存在特殊字符或长度限制导致自动识别失败。下次使用时可手动指定输出目录以确保正确。

关于“翻译视频或音频”界面在选文件后不显示文件名的问题,这是当前版本的设计(部分界面由于空间限制或简化布局未显示完整路径)。您可以通过顶部进度条区域的提示文本或状态栏(如果有)确认已选文件。我们已记录此建议,后续版本可能会考虑增加选中文件列表或路径显示。

性能与稳定性方面,模型锁问题已在您之前步骤中解决,属于临时异常。若再次遇到类似细节问题,欢迎提供日志或具体场景,我们会持续改进。您的意见我已整理并反馈至官方开发社群。感谢您的理解与支持。

请查阅相关文档:

二次语音识别是什么

二次语音识别是视频翻译流程中可选的一个步骤。当您勾选此项后,软件会在完成配音(TTS)之后,对生成的配音音频再次进行语音转录(ASR),从而生成一套时间轴更精确、字幕更短的 SRT 字幕文件。

目的:确保最终嵌入视频的字幕与配音的声音严格对齐,避免因翻译后音节数变化导致的字幕延迟或提前问题。

使用场景:仅在您选择了“配音”且字幕嵌入方式为“嵌入单字幕”时有效(不适用于双字幕或软字幕模式)。

效果:二次识别生成的字幕时长会更短(默认取您在“高级选项”中设置的“最短持续时间/毫秒”和“最长语音持续时间秒”数值的一半),使字幕跟随配音的节奏,提升观看体验。

此功能建议打开是吗?

是否建议打开“二次语音识别”,取决于您的具体需求:

  • 建议开启的情况:您选择的是“嵌入单字幕”(硬字幕或软字幕只显示一种语言),并且希望字幕与配音在时间上精确对齐,避免出现配音已结束但字幕仍在显示或字幕切换滞后的问题。此时二次识别能大幅提升同步效果。
  • 可以不开启的情况:您选择的是双字幕(同时显示原文和译文),此时字幕本身已来源于两次语音识别,无需再二次识别;或者您不追求极致同步,接受一定程度的偏移,则可以关闭以节省处理时间。

额外提醒:如果配音角色选择了 clone(语音克隆),二次识别可能会因参考音频截取而影响克隆效果,此时不推荐开启。

简言之:追求同步质量 → 打开;追求速度或不使用单字幕 → 关闭

没有嵌入字幕呢?

在不嵌入字幕的情况下,二次语音识别完全没有必要开启。因为二次识别的唯一目的就是生成一套更精确的字幕嵌入到视频中——既然您选择不嵌入任何字幕,二次识别产生的字幕文件不会被使用,白白浪费处理时间。请直接关闭该选项。

开启或者关闭,软件需要重启生效吗?

不需要重启软件。该选项在点击“开始执行”时直接读取当前状态,勾选或取消后即时生效。

二次语音识别勾选或者关闭需要重启生效吗?

不需要重启。该选项是任务级别的参数,在您点击“开始执行”按钮时软件会读取当前勾选状态并决定是否执行二次识别,因此勾选或取消后即可即时生效。

任务已经在开始执行中呢?

任务已经开始执行后,修改二次语音识别的勾选状态不会对当前正在运行的任务生效。该选项仅在点击“开始执行”按钮时读取一次。如需更改,请先停止当前任务,重新设置后再点击“开始执行”。

对齐控制视频慢速建议打开吗?

不建议打开,除非您能接受以下代价:视频慢速会大幅增加输出文件体积(可能增大数倍)且处理时间显著延长(需切割并重新编码每个视频片段)。它仅在配音时长显著长于原语音时才有用。通常更好的做法是:开启“音频加速”来缩短配音时长,或通过调整配音语速在源头上控制。若您对音画同步要求不苛刻,两项都不选即可。请查阅相关文档:字幕/语音/画面同步对齐

文件夹批量执行时,为什么右边的字幕栏会显示其他国家的语言,有时候是越南文或者日文,我没有选择它们

这是正常现象。在文件夹批量执行时,软件会逐个处理每个视频文件,右侧的字幕栏会实时显示当前正在处理的那一个视频的字幕内容。如果批量中混入了不同语言的视频(例如一个日语视频、一个越南语视频),即使您在主界面将发音语言设为“中文”,软件在识别阶段仍会尝试根据音频自动检测语言——一旦误检测为其他语言,字幕栏就会显示对应语言的文字。这种情况不影响最终输出,因为软件会根据您选择的“发音语言”和“目标语言”进行翻译和配音。如果您希望所有视频都按同一语言处理,请确保每个视频的实际发音语言与您设定的保持一致。若某个视频的语言被错误识别,建议单独处理该视频并明确指定发音语言。

是翻译后的字幕会变

您遇到的“翻译后的字幕会变”问题,核心原因通常是语音识别阶段的语言检测错误。在批量处理视频时,如果某个视频的音频质量较差、口音不标准或含有多种语言,ASR 引擎可能误将其识别为其他语言(如越南文、日文)。后续的翻译渠道会基于这个误判的源语言进行翻译,导致最终输出的目标语言字幕中出现错误语种的内容。

这不是翻译渠道本身的问题,而是上游语音识别环节的差错。

解决方案:

  1. 为每个视频明确指定发音语言:在文件夹批量处理时,软件无法为每个视频单独设置语言。对于语言混杂或容易误判的视频,建议单独导入处理,并在主界面明确选择其正确的“发音语言”,而不是依赖自动检测。
  2. 优化识别准确率

    • 选择更大的识别模型(如 large-v3),降低误判几率。
    • 在高级选项中开启“语音阈值”调整(设为略高数值如 0.6),减少噪声干扰。
    • 如果视频背景嘈杂,开启“降噪”或“分离人声背景声”。
  3. 检查翻译结果:翻译完成后,若发现某条字幕为错误语言,可手动编辑该字幕或跳过再处理。

如果问题频繁发生,建议优先单独处理这些特殊视频。批量处理时,请确保所有视频的语言一致且清晰。

对齐控制,配音加速和视频慢速,建议怎么设置?

建议如下:

  • 配音加速默认开启。它通过轻微加快配音的播放速度来匹配原视频时长,对音质影响很小,且不会增大文件体积,是性价比最高的同步手段。
  • 视频慢速默认关闭。仅当配音加速后仍出现明显不同步(尤其是配音比原语音长很多)时才考虑开启,但需知晓代价:输出文件体积会增大数倍,处理时间显著延长。

若两项同时开启,软件会各负担一半时间差(加速配音 + 慢放视频),平衡效果与代价。此外,当您没有使用配音加速也没有使用视频慢速时,建议勾选“移除字幕间静音”和“对齐字幕声音”以进一步改善同步。

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