使用Python轻松识别音频中文字
一、前言
在开会或是讨论问题的时候,我们总有一些内容需要记录下来。但由于各种原因,我们无法做到全面细致的记录。事后我们可能需要补充这些细节性内容,而回放视频或是录音费时费力,这时候语音识别可以帮助我们轻松解决这一痛点。目前,常见的语音识别服务以收费的居多,而免费且识别效果较好的也有。比如,由OpenAI 开发的Whisper
。
二、Whisper简介
Whisper是由OpenAI基于Python开发的能够识别多国语言的语音识别模型,同时能将识别结果翻译为指定语言。
Open AI的官方介绍:Whisper是一种通用的语音识别模型。它是在不同音频的大型数据集上训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。即它可以实现自动识别音频中的语言,语音识别,将识别结果翻译为指定语言这些功能。
三、Github项目地址
项目地址:https://github.com/openai/whisper
这里面有该项目的详细介绍,如对应的论文,安装方法,使用方法等。
四、Whisper 安装要求
Pytorch ffmpeg setuptools-rust五、识别速度
这里讲一下我使用过程用中得到的结果。
使用GPU版Pytorch
进行计算时,GeForce MX150显卡(4G显存)使用small
模型识别一段40分钟左右的视频大约为30分钟。
使用CPU版Pytorch
进行计算时,Intel 酷睿i7 8550U使用large
模型识别一段40分钟左右的视频大约为12小时。
六、识别结果
使用small
模型识别,有些地方会出现识别错误。有时也会将识别结果以繁体汉字显示。
使用large
模型识别,基本没有看到错误,也不会出现识别结果以繁体汉字显示的情况。
七、建议
如果有大于4G显存N卡,或者不用考虑识别速度的,尽量使用大模型进行识别工作。
八、 Whisper的其他用途
whisper
也可以用来辅助剪辑视频。因为它识别的每一句话都会附上这段话时间起点和终点,如以下片段所示。更细致的讲解请在搜索《在讲 OpenAI Whisper 前先做了一个剪视频小工具【论文精读·44】》获取答案!
00:59.200 --> 01:02.560
我们的目标就是榨干真题的价值
01:03.840 --> 01:05.480
那么什么叫做榨干
01:06.920 --> 01:08.520
这个非常纯洁的来讲
01:09.320 --> 01:11.520
榨干就像榨油一样 对吧
01:12.240 --> 01:13.080
一滴都不剩