csx 发表于 2020-5-5 04:23

python基本功,自动生成字幕软件

一直在看字幕组的作品,非常喜欢,致敬!

之前因为需要给大量视频自动生成字幕,发现了一个开源的工具:https://github.com/BingLingGroup/autosub
这个工具(autosub)可以自动提取视频中的音频,然后切分成若干个小段,然后用语音识别引擎转录为文字。最后得到的结果就是一个srt字幕。我试过它的结果还是比较准确的。因为我知道字幕组做字幕需要先把文本transcript下来,然后也需要打轴,这款工具似乎可以在这两步上减少一定的工作量。Autosub在命令行下调用,但是并不复杂,相信字幕组的技术可以搞定。

这个工具也可以用翻译引擎自动翻译字幕,但是效果不太给力,错误比较多,有兴趣你们可以试一下。

另外还有一款类似的工具,https://github.com/wxbool/video-srt-windows/ ,但是我没能使用成功。供参考。

有类似需求的朋友也可以关注一下这两款工具。

简单叙述一下这个软件的各个不同构成部分。

https://github.com/BingLingGroup/autosub/raw/dev/docs/workflow.zh-Hans.png

时间轴生成使用的是auditok,一个python库,在本地离线识别时间轴,准确率比subtitleedit稍高一些,前提是音频要降噪(非语音音量较小)且语音音量标准化且音频非歌曲类(歌曲类可能需要调参,详见auditok选项)

语音识别目前支持一个chrome逆向出来的免费api和付费的google cloud speech-to-text api,两者在中文的识别准确率上相近,未测试过英文的……两者都是只支持短语音识别,前者不支持长语音识别,而后者是代码里还没做长语音识别的支持。另外后者api应该是支持精细到单词的时间戳,类似youtube那种效果,可以进一步精确时间轴,不过我还没做支持。现在准备加上自定义请求json的支持和一些国内api的支持。

翻译使用的是py-googletrans,一个python库,逆向了网页版的谷歌翻译,如果使用-surl translate.google.cn即国内可直连的那个谷歌翻译可以不需要梯子即可直接翻译。

以上所有功能均可分步执行,详见readme。
页: [1]
查看完整版本: python基本功,自动生成字幕软件