我想会有很多和作者一样热衷于下载国外影视剧观看的朋友。可惜作者的外语水平实在有限。没有字幕的帮助,他无法真正欣赏外语电影。当他遇到一些没有字幕的人时,他不得不摇头叹息。
因此,笔者打算利用一些公司提供的语音识别API,制作一个可以自动生成视频字幕的工具。
效果展示
下面的视频中,下方的英文字幕是从网上下载的字幕(由于我使用的视频编辑软件的字体设置问题,显示不够清晰),视频中间的中文字幕是我使用语音识别API识别后,再使用搜狗Translate进行翻译后自动生成的字幕。从效果来看,似乎可以用于一些不太复杂的场景。
视频正在加载。
我用的是百度的语音识别API,只支持普通话、英语、四川话和粤语。可惜暂时不支持日语和韩语。但是,就英语语音识别而言,我认为谷歌的语音识别效果应该是最好的,但是应该翻墙使用.
字幕生成的基本过程
少说话,看图说话:
第四步和第五步没什么好说的。我只是调用百度的语音识别API进行语音识别,然后进行翻译。
第二步和第三步:计算音频的能量(或音量)。没什么好说的,但是如何划分音频的浊音区域才能使语音识别效果最好,得到最符合时间线的字幕文件,这需要经过多次测试才能确定。百度的文件也暗示有相关的开源解决方案。
使用的工具和软件
开发语言:python。
音频和视频处理:FFmpeg。
百度云语音识别API
搜狗翻译API