#4643 识别语音,然后进行翻译,校对无错别字,然后生成语音,最后生成字幕的时候有错字,这个问题如何解决?

36.143* Posted at: 20 days ago

识别语音,然后进行翻译,校对无错别字,然后生成语音,最后生成字幕的时候有错字,这个问题如何解决?image

34 Replies

这是由于启用了“二次识别”功能导致的。当配音完成后,软件会对配音音频再次进行语音转录并生成新字幕,这个过程中可能产生新的识别错误,覆盖了你已经校对过的正确字幕。

解决方法:

  1. 取消勾选“二次识别”:在主界面找到 二次识别 复选框,取消选中。这样字幕会直接使用你校对后的原文字幕(或翻译后校对过的字幕)进行嵌入,不会再被二次识别覆盖。
  2. 如果仍需精确对齐:可以保留二次识别,但需要改用更准确的语音识别模型(如 faster-whisper large-v3)或提高 VAD 参数精度,减少二次识别时的错字。

请查阅相关文档:

如何调整VAD参数精度,建议值是多少?对了,关于二次识别,推荐开启还是关闭

VAD参数推荐值

在菜单 工具/选项 -> 高级选项 -> 语音识别参数 中调整,建议值如下:

  • 语音阈值:0.5(默认,过低可能将噪声误判为语音,过高可能遗漏语音)
  • 最短语音持续毫秒:3000(即3秒,避免过短的无意义片段)
  • 最长语音持续秒数:6(不要超过30秒,防止长句被强制分割)
  • 静音分割持续毫秒:140(比默认500更小,可在更短的静音处切分,提高字幕密度和准确性)

二次识别建议

  • 不开启(推荐用于已校对字幕):如果你已经手动校对了翻译后的字幕文字,并且希望保留校对的准确文本,请关闭二次识别。否则二次识别会重新转录配音音频,可能引入新的错别字,覆盖你校对过的内容。
  • 开启(用于精确时间轴对齐):如果更看重字幕与配音的时间精确同步(例如希望字幕文字刚好匹配配音的每个字),且愿意接受可能出现的轻微识别错误,则开启二次识别。此时应配合使用高质量的语音识别模型(如 faster-whisper large-v3)并调整好VAD参数。

总结:已校对字幕 → 关二次识别;追求时间精准且不介意小错 → 开二次识别并调优参数。

还有就是,通过LLM重新断句,会造成某一句的字幕数量太多,这个如何规避

这是由于LLM重新断句功能在合并短句时,没有限制单句的最大长度,导致过长句子。可采取以下措施规避:1. 降低每批次字幕行数:进入 菜单-工具/选项-高级选项-通用设置,将 LLM重新断句每批字幕行数 从默认20改为更小的值(如5或10),减少LLM一次处理的上下文,使其更难合并出超长句。2. 修改LLM提示词:打开 videotrans/prompts/recharge/recharge-llm.txt,在提示词末尾添加限制,例如“每条字幕不超过30个字符”或“不要合并成过长的句子”,注意不要改变输入输出格式。3. 改用自动修正:在高级选项中,将 语音识别参数-LLM重新断句 改为不启用(设为“不处理”或“自动修正”),自动修正不会合并句子,仅修复标点和断句。4. 调整最长语音持续秒数:在语音识别参数中将该值设为更小(如4秒),让初始识别出的字幕片段更短,LLM合并后也不会太长。推荐优先尝试第1步,效果明显且无需修改代码。若仍不满意,再考虑修改提示词或关闭LLM断句。

我看到官方文档,说LLM值越大,效果越好,是这个意思吗?我看了一下,我设置的是50

理解你的困惑。文档中的“值越大效果越好”指的是“断句连贯性”和“上下文理解”效果更好,但不会自动限制单条字幕的最大长度,因此设置过大(如50)会导致LLM倾向于将多条字幕合并为一条超长句,这正是你遇到的问题。

建议:将“LLM重新断句每批字幕行数”由50改为10-20,这样既能利用LLM改善断句连贯性,又能有效控制每条字幕的长度。同时,在提示词中明确添加“每条字幕不超过30个字符”之类的限制(需修改recharge-llm.txt),可进一步确保不产生超长句。若仍不满意,可关闭LLM断句,改用“自动修正”模式。

修改后请重新处理视频测试效果。

我打开recharge-llm.txt ,全部是英文,看不懂,请问,如何修改,放在什么位置

文件位于 软件目录/videotrans/prompts/recharge/recharge-llm.txt,用记事本打开,在末尾另起一行添加以下中文提示(不要修改其他内容):

注意:每条字幕不要合并成超过30个字符的句子,请保持字幕简短。

保存后重启软件即可生效。如果仍出现长句,可继续降低字符数限制(如改为20)。若不想修改文件,建议将“LLM重新断句每批字幕行数”直接设为10,效果已足够。

我的原视频开始部分有一个片头背景音乐,制作完成后,片头的背景音乐也没有了,如果我还想保留,这个怎么解决

这是由于默认的配音流程会替换原音频,导致背景音乐丢失。要保留片头等位置的背景音乐,需在翻译时对人声和背景声进行分离处理,并在合成时重新嵌入背景声。

解决方案:

  1. 勾选“分离人声背景声” – 主界面选择此项,软件会在语音识别前将背景音乐和人声分离。
  2. 勾选“重新嵌入背景声” – 确保分离出的背景音乐在最终视频中重新合成回去。
  3. 设置背景音量(可选):在“设置更多参数”中调整“背景音量”(默认0.8,建议保持或适量调大)。
  4. 处理时长不足:如果片头背景音乐较长但视频整体较短,可勾选 “循环背景音” 以使背景音乐重复填充。
注意:如果已经处理过一次,需要重新执行时,请先勾选主界面左上角的 “清理已生成”,强制重新从头处理。

操作位置示意:

  • 主界面 → 选择视频 → 在下方参数区找到 “分离人声背景声”“重新嵌入背景声” 两个复选框,均勾选即可。

我看到有一些英语视频只是简单的添加了中文字幕,想这类视频,能把字幕去掉,然后根据语音重新添加字幕吗

软件无法直接去除视频中已有的硬字幕。pyVideoTrans 的核心功能是基于音频轨道识别语音,不涉及对画面中已嵌入文字的检测或移除。如果硬字幕不影响画面,可以_忽略_它们,直接对原始音频进行语音识别和翻译,生成新的字幕嵌入(软硬均可)。新字幕会叠加在原有硬字幕之上,可能导致画面混杂。如果硬字幕必须去除,需要借助视频编辑软件(如剪映、Premiere Pro)对相应区域进行模糊处理或裁剪,推荐方案:- 如果硬字幕位于画面的固定区域(如底部),可使用视频编辑软件将画面向上裁剪或添加模糊遮罩;- 或者使用 AI 修复工具(如 Remove Logo Now)去除后再用本软件处理。另外,如果希望基于语音重新生成字幕,只需在主界面选择源语言为英语、目标语言为中文,关闭“清理已生成”并以新视频任务正常执行即可,原有硬字幕不会被干扰。

刚才翻译完成后,还没有等着我校对,立马就开始生成有语音了,这可咋整,如果点击取消,又要重新识别字幕了。

这是因为它进入了单视频交互模式的自动继续倒计时,默认90秒内你没有操作,任务就自动继续了。解决办法(分两种情况):当前任务:如果已经进入了配音阶段,请不要点击“取消”,那样会清空已识别的字幕。你应该:尝试点击界面上的暂停按钮(可能是一个⏸图标或文字),暂停后可以手动修改已翻译的字幕或查看进度。如果软件没有提供配音阶段的校对节点,那么只能等处理完成后再微调,或取消后重新处理时调整设置。下次处理:要确保翻译完成后有充足时间校对,请按以下步骤操作:1. 只选择一个视频(不要批量),这样才能进入单视频交互模式。2. 进入 菜单 - 工具/选项 - 高级选项 - 通用设置,找到 “单视频翻译暂停倒计时”,将默认的 90 秒改为更大的值(如 600 秒)或直接设为 0(设0可能变为无限等待,需实测)。3. 在翻译完成后出现的字幕编辑窗口中,手动校对并保存,然后点击 “下一步” 继续。4. 如果你希望在配音后也有校对节点,请在高级选项中确认 “单视频翻译暂停倒计时” 生效(配音后也会弹出编辑框)。总结:调整暂停倒计时为较大值或0,避免自动继续;当前任务如果不想取消,可尝试暂停后手动干预;如果已经无法暂停,只能取消重新处理,并在重新勾选 “清理已生成” 后调整上述设置。

只要点击清理已生成,就要重新开始,任何一个环节出现问题,又要重新识别,太不方便了。我的电脑配置不行,识别好长时间,然后到翻译完成后,还没有出现校对,就立刻录制语音。只能点击清理已生成,这次就白做了

理解你的困扰。解决办法很简单:取消任务后,不需要勾选“清理已生成”,直接重新运行即可。软件会自动检测已有的缓存文件(如已识别好的字幕、已翻译的结果),跳过已完成步骤,直接进入校对阶段。

具体操作:

  1. 取消当前任务后,不要勾选主界面左上角的“清理已生成”。
  2. 调整高级选项中的“单视频翻译暂停倒计时”为600秒或更大(例如999),甚至设置为0(可能无限等待)。
  3. 再次开始相同任务,软件会自动跳过语音识别和翻译,直接弹出校对窗口。

这样即使中途取消,也不会浪费之前的处理时间。

一个视频,我用第三方工具识别好字幕,也翻译好,现在就差语音合成了,下一步通过你录音和合成,如何操作

您的需求非常明确:已有视频、原始字幕和翻译好的字幕,只需配音合成。请按以下步骤操作,pyVideoTrans 可以直接跳过识别和翻译,只进行配音与合成:

  1. 切换到“批量为字幕配音”功能

    • 在软件左侧面板中点击 “批量为字幕配音”(文字转语音功能)。
  2. 导入视频

    • 点击 “选择视频/音频”,选择您的原始视频文件(例如 video.mp4)。
  3. 导入已翻译好的字幕

    • 点击 “导入srt字幕”,选择您已经翻译好的目标语言字幕文件(例如 translated.srt)。
  4. 设置配音参数

    • 目标语言:选择与字幕一致的语言(如中文)。
    • 配音渠道:推荐使用默认的 Edge-TTS(免费),无需配置Key。
    • 配音角色:选择您喜欢的语音角色(可点击“试听”测试)。
    • 语速/音调/音量:按需调整(默认即可)。
  5. 字幕嵌入设置(重要)

    • 在下方参数中,找到 “嵌入硬字幕”“嵌入软字幕”,根据需求选择(硬字幕永久显示,软字幕可开关)。
    • 如果不需要字幕,可选择 “不嵌入字幕”
  6. 开始合成

    • 点击页面底部的 “开始” 按钮。
    • 软件会自动完成:根据字幕生成配音 → 将配音与原视频合并 → 嵌入字幕。
    • 处理完成后,输出文件会保存在原视频目录下的 _video_out 文件夹中。

注意:此过程不会识别或翻译字幕,会直接使用您导入的字幕进行配音。如果视频中有背景音乐需要保留,请在参数中勾选 “分离人声背景声”“重新嵌入背景声”(需额外处理时间)。

如有其他问题,请随时追问。

点击批量为字幕配音,只能拖入srt字幕,没有导入视频的地方啊

你说得对,“批量为字幕配音”功能只处理字幕配音,不涉及视频合成。你需要的是“翻译视频或音频”功能,并跳过语音识别和字幕翻译步骤。正确操作步骤如下:1. 切换到主界面左侧的“翻译视频或音频”功能。2. 点击“选择音频或视频”,导入你的原始视频文件。3. 在“导入已有字幕”区域,点击“导入srt”按钮,选择你翻译好的字幕文件(此时软件会跳过语音识别和字幕翻译,直接使用你导入的字幕)。4. 设置配音参数(目标语言、配音角色等)和字幕嵌入类型(硬字幕/软字幕)。5. 确保未勾选“清理已生成”,然后点击“开始”按钮。这样软件会直接进入配音和合成阶段,不会重新识别或翻译。

翻译的时候,用Deepseek断句,感觉效果不是特别好,有的时候,一句话剩下两个词语,放在下一句,每次都要手动修正,太浪费时间了

这是由于 LLM 重新断句时判断边界失误,导致句子被错误拆分。解决方法如下:1. 降低批次行数:在 菜单 - 工具/选项 - 高级选项 - 通用设置 中,将 LLM重新断句每批字幕行数 从默认值改为更小的数字(如 5 或 3)。这样每次发给模型的上文更少,可减少合并或拆分错误。2. 修改提示词:打开 videotrans/prompts/recharge/recharge-llm.txt,在文件末尾另起一行添加以下内容(不要修改已有内容):注意:请保持句子完整,不要将同一句话的词语拆分到不同的字幕行。如果遇到不完整的句子,请合并到前一句。保存后重启软件。3. 换成“自动修正”模式:在高级选项 - 语音识别参数中,将“LLM重新断句”设为“自动修正”(不启用LLM),可避免模型错误切分,仅修复标点和换行。4. 改用其他AI渠道:DeepSeek在此任务上表现不佳时,可尝试换用 OpenAI 或 Gemini 作为断句渠道(需在高级选项 - 通用设置 - LLM重新断句所用AI渠道中切换)。推荐先尝试第1步和第2步,效果最直接且无需更换渠道。

怎么看到LLM重新断句 设置为:自动修正 意思是说开启LLM效果会更不好吗

不是的。“自动修正”不是关闭LLM,而是使用另一种修正策略:它不依赖大型语言模型去合并或拆分句子,而是基于规则自动修复标点、换行和常见断句错误,不会主动合并或拆分句子。因此,当LLM断句效果不佳(如错误拆分句子)时,换用“自动修正”可以避免这种问题,因为它不会尝试重新组织句子结构,仅做基本修复。如果你的LLM(如DeepSeek)表现不稳定,建议暂时切换到“自动修正”。这是软件提供的一种备选方案,并非表示LLM整体不好。具体设置位置:菜单 → 工具/选项 → 高级选项 → 语音识别参数 → “LLM重新断句”下拉菜单,选择“自动修正”。保存后重启软件即可。

我没找到,只是在界面看到,自动修正和LLM重新修正,我现在选择的是LLM重新修正,如果我选择自动修正,是不是,就不用Deepseek了修正了。

是的,选择“自动修正”后,将不再调用 DeepSeek(或任何 AI 模型)进行断句修正,而是使用软件内置的基于规则的方法(如自动修复标点、常规断句修正)。这样就不会出现 DeepSeek 错误拆分句子的问题。你可以先试一下这个选项,如果效果满意,就无需再手动修正了。另外提醒:切换后需要保存设置并重启软件才能生效。

你们的模型语音识别太慢了,我发现有别的平台语音识别后,然后翻译,再导入到py里面,直接语音合成,效率会快很多

你说得对,语音识别(尤其是本地大模型)确实是最耗时的步骤。用其他平台(如阿里百炼、字节火山、Google等在线API)先做好识别和翻译,再将字幕导入 pyVideoTrans 进行语音合成和视频合成,是公认的高效方案。操作方式就是之前提到的:在“翻译视频或音频”功能中导入视频,然后通过“导入已有字幕”上传你翻译好的 SRT 字幕,软件会自动跳过语音识别和字幕翻译阶段,直接进行配音和合成。此外,如果你希望进一步提升效率,还可以在以下环节加速:选择更快的配音渠道(如 Edge-TTS 免费且速度快);在高级选项中增大并发配音线程数(但需注意部分渠道可能限流);关闭二次识别。这种“分步处理”的方式也能规避网络波动或个别阶段失败导致整任务重跑的问题,值得长期采用。

有没有推荐的,语音识别效率高的工具,只需识别语音

推荐以下高效的语音识别工具(纯转录,不包含翻译):

  • 阿里百炼 Qwen3-ASR:在线API,中文友好,速度快,支持多种语言。
  • 字节火山极速版:在线API,极低延迟,适合批量处理。
  • Google Cloud Speech-to-Text:准确度高,支持全球语言(需要代理)。
  • Deepgram:速度快,支持实时流式识别,提供免费额度。
  • GroqCloud Whisper API:基于Whisper的在线服务,识别速度非常快。
  • WhisperX API:可自部署,时间轴更精准,适合后续对齐。

操作建议:使用这些工具识别并导出SRT字幕后,在pyVideoTrans的“翻译视频或音频”界面中点击“导入已有字幕”上传,即可跳过ASR阶段直接进行配音和合成,大幅提升效率。

请查阅相关文档:

在编程的时候吗,经常遇到这个情况,比如名字:on_In_level 这种命名,但是配语音的时候,我想不让把下划线也配音,如何解决这个问题

在编程的时候吗,经常遇到这个情况,比如名字:on_In_level 这种命名,但是配语音的时候,我想不让把下划线也配音,如何解决这个问题

怎么不回答我的问题了

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