以下是使用 AI 为中文视频自动添加英文翻译字幕的方法:
在 08.04 的更新中:
最终的解决方案,逻辑其实也很简单:1、用whisper生成原视频的英文字幕;(我预设whisper生成的字幕没问题,whisper的问题不探讨)2、让GPT结合字幕全文翻译,并让他根据原英文字幕的拆分,将译文进行同样行数的拆分;3、将GPT译文拆分的结果插入到原英文字幕文件中形成一个新的双语字幕文件。这个过程中所有的执行脚本都是让GPT写的。GPT的prompt在最后。08.04更新这一节是失败的经历,可以跳过。
08.01产生想法之后,就经历了下面的过程(过去两天太兴奋了,但想法暂时都还没成功,恰好停一停记录一下):1、识别音视频中的语言并生成字幕文件:[whisper](https://github.com/openai/whisper)是一个非常优秀的字幕处理工具,他能很好的识别视频/音频中的语言:medium尺寸能很好的解决英文的问题中文的处理我没试过,根据[宝玉xp](https://weibo.com/u/1727858283)的说法,large尺寸处理中文的效果会好一些但仅处理成英文对母语是中文的绝大部分人来说是不够的,至少需要一个纯中文的字幕,当然我认为双语的字幕当然是最好的。2、下面就到了处理中文翻译的部分,翻译是一个非常麻烦的问题:我们现在常用的谷歌翻译、微软翻译在处理结果上太粗暴了。普遍的问题有:没有基础的语境背景信息,不知道一些特定的语境下的句子该如何准确翻译;在一些常用俚语上的翻译也非常生硬;没法准确识别一些人名、地名等特定词,这类词语最好的办法是不翻译,直接显示。在翻译处理上目前GPT3.5有比上述工具好太多的效果(Claude我也试了一下,效果不及GPT3.5,其他的就没有试了目前):
需要把足够的上下文给他,以确保他在翻译一些句子的时候能够更好的理解;最好告诉他一些背景信息,这样他能更好的识别一些特定的名词。(比如说告诉他这是一档NBA播客,他能知道勒布朗是指谁)但由于一个音视频的内容太多,导致文本太多,在目前的限制中单次输入输出的文本量有限,又得分批的把内容投喂给GPT。[]这里分批其实在全自动化的考量下有一个需要解决的问题,就是怎么分能达到不截断一条完整的话的语意。当然从全局来看这个问题还好,只要上下文在同一个会话中,下半个句子的翻译准确的概率是很大的,但上半个句子就不一定了。3、在上述处理的基础上,现在手里面有三个东西:a、英文字幕SRT文件;b、英文全文;c、译文全文。现在的就得想办法把译文加到字幕文件中,形成一个双语字幕:处理逻辑说起来其实比较简单:就是要找到英文句子对应的翻译,理论上句子和句子之间肯定按照顺序一一对应的。但由于文化的不同,已经AI处理结果的一些随机性,肯定不能指望通过标点符号去解决这个事情;