使用Python轻松识别音频中文字(Whisper)

使用Python轻松识别音频中文字

一、前言

在开会或是讨论问题的时候,我们总有一些内容需要记录下来。但由于各种原因,我们无法做到全面细致的记录。事后我们可能需要补充这些细节性内容,而回放视频或是录音费时费力,这时候语音识别可以帮助我们轻松解决这一痛点。目前,常见的语音识别服务以收费的居多,而免费且识别效果较好的也有。比如,由OpenAI 开发的Whisper

二、Whisper简介

Whisper是由OpenAI基于Python开发的能够识别多国语言的语音识别模型,同时能将识别结果翻译为指定语言。
Open AI的官方介绍:Whisper是一种通用的语音识别模型。它是在不同音频的大型数据集上训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。即它可以实现自动识别音频中的语言,语音识别,将识别结果翻译为指定语言这些功能。

三、Github项目地址

项目地址:https://github.com/openai/whisper 这里面有该项目的详细介绍,如对应的论文,安装方法,使用方法等。

四、Whisper 安装要求

  1. Pytorch
  2. ffmpeg
  3. setuptools-rust

五、识别速度

这里讲一下我使用过程用中得到的结果。

  1. 使用GPU版Pytorch进行计算时,GeForce MX150显卡(4G显存)使用small模型识别一段40分钟左右的视频大约为30分钟。
  2. 使用CPU版Pytorch进行计算时,Intel 酷睿i7 8550U使用large模型识别一段40分钟左右的视频大约为12小时。

六、识别结果

  1. 使用small模型识别,有些地方会出现识别错误。有时也会将识别结果以繁体汉字显示。
  2. 使用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
一滴都不剩

你可能感兴趣的:(python,whisper,语音识别)