前段时间办公室出现一奇葩需求,要把一段授课视频转换为文字,为了实现这个目标我四处搜罗找了几款APP进行了多步操作,总体感觉比较麻烦。想想怎么说我们也是玩Python ,为啥不用Python呢~~说干就干,经过一番分析和搜索,还真被我搞定了,下面跟大家分享一下。
01思路
直接写实现过程可能会有点混乱,就先讲一讲该功能的设计思路吧!
1).提取文字
这次我们的最终目的是要拿到文字稿,在一段视频中真正包含文字信息的其实不是视频文件而是音频文件,这下问题就变成从音频提取文字也就是语音识别。
关于语音转换文字,腾讯/百度/讯飞都提供有自己的API,大家可以根据自己的习惯选用,我用的是百度API,就以此为例进行演示。
接下来就要去查百度的语音识别API文档,看看它对待提取的音频文件有什么要求,下图就是百度的python SDK文档页面:
在这个文档中,对百度语音识别API所支持的音频格式进行了明确,概况起来主要有三点要求:
- 参数:16k 采样率、16bit 位深、单声道;
- 格式:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式);