- 日志
- 23
- 好友
- 17
- 阅读权限
- 150
- 收听
- 1
- 在线时间
- 1558 小时
- 最后登录
- 2024-11-22
超级版主
教育辅助界扛把子
- 精华
- 1
- 热心
- 7
- 听众
- 1
- 威望
- 48
- 贡献
- 14312
- 违规
- 0
- 书币
- 49991
- 注册时间
- 2020-4-8
|
一直在看字幕组的作品,非常喜欢,致敬!
之前因为需要给大量视频自动生成字幕,发现了一个开源的工具: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。 |
|