python 语音转文字_长时间的会议录音如何快速转化成文字?

最近在整理之前工作的文件,发现大概有50个小时的专家call & 会议录音啥的,于是就研究了一下如何批量把长语音转成格式优美的文字文档。

当然做事情之前先来知乎搜了搜有没有现成的解决方案可用,于是发现了这个问题,但一楼说的360converter已经只能转300秒音频了,且准确性实在是一般。其他的答案也或多或少的有不足之处。所以花了一整天研究了一下最好的解决方案,心路历程如下:

讯飞是目前最好的解决方案,但也有缺点

讯飞听见算是目前市场上有的最好的解决方案了,但是有三个缺点:

1。太贵了,如下图所示,要19.8元/一小时,50个小时的录音差不多就要1000块了。即便买充值卡打折也要800块左右。

2。导出结果word的话是没有时间戳的,并且分段很有问题,读起来不太方便。(如果字幕导出就是一句话一句话)

3。每次都要先登录,上传录音,然后等着短信通知啥时候转完了。还是蛮麻烦的。

各家语音识别的API都蛮好用的,又便宜,能不能自己套个壳做个平台?

后来想了一下,现在各大巨头都在搞AI,语音识别自然是重要的一块啦,2B肯定比2C便宜的多且定制化程度高很多啊。

后来一搜果然是。1. 腾讯云(每月30小时免费额度,超出的0.95-1.75元/每小时)2. 腾讯AI开放平台(目前完全免费)3. 阿里云(1元-2.5元每小时)4.科大讯飞(5小时免费额度,超出的3.4-6.9元每小时)

套壳过程

用Python 做一个调用Restful API的接口还是蛮容易的,其中科大讯飞还贴心的提供了Python3 和 Java 的Demo。

花时间稍微改了改科大讯飞 python3 的代码,改成了喜闻乐见的Python2.7,并把我一直没有学会的python class 对象统统改成了简单易懂的function,最后大概长这样:https://github.com/tsauliu/VoiceRecognition/blob/master/xunfei.py​github.com

讯飞返回的结果长这样:

其实还有更多的选项可以加上,比如删除语气词啥的(虽然我还没试,但应该是词属性-顺滑词)

精度啥的和网页版差不多,不过时间戳更细了,方便后面调整。而且有个网页版本没有的BUG功能,可以识别出不同的speak说的话!!

拿到返还的json结果后,用Python大法写啊写,主要是研究了一下分段的算法,然后用python-docx做好模板导出成word格式。最后结果长这样(可以做到金融狗喜闻乐见的自动生成大小标题啊,自动调整好字体格式啊啥的):

套壳有点难度,(毕竟不太会写javascript啥的),当然如果是自己用且不经常换电脑,也可以不套。

不过我这种经常在N多个工作环境搬砖的自然还是套个壳方便。于是在github上找了一个文件上传的flask程序,稍微改吧改吧,写了点CSS,传到了阿里云上,最终效果大概长这样。

有空我测试一下腾讯和阿里的API再来更新答案。

你可能感兴趣的:(python,语音转文字)