之前搞Moss语音对话项目时候,用过百度飞浆的语音转文字,但是相对来说比较臃肿,同时也不支持一些依赖库的最新版本。最近有想搞一个相关的项目,于是决定去寻找新的好用的模型......
Whisper
终于在github上,找到了一个开源项目Whisper,一看竟是OpenAI开源的。
使用体验上我只能说,方便便捷,支持多种语言,你不用再指定音频的格式,它都帮助你自动处理好;考虑到效率问题,whisper给出了五个规格的模型,来满足不同场景下对速度或者准确率的需求;同时它还自带了命令行工具;最重要的是它封装得很好,几行代码就可以直接调用。
具体的细节可以参考项目的README,附上仓库链接:
https://github.com/openai/whisper
安装
首先安装很简单,直接pip就行,而且它会自动把依赖的库包括torch也自动安装好
pip install -U openai-whisper
不过这里我提醒一下,它默认安装的torch是非GPU环境下的,如果想用GPU来运算的话,先删除装好的torch,然后再去装你电脑对应的GPU版本的,可以去官方页面进行选择:
https://pytorch.org/get-started/locally/
以我的来举例
pip uninstall torch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
随后就可以使用GPU来运算了。
使用
安装好之后,我就直接上示例代码了,这里我用GPU来跑
import torch
import whisper
device = "cuda" if torch.cuda.is_available() else "cpu"
model = whisper.load_model("small", device=device)
result = model.transcribe("test.wav")
print(result["text"])
没错,就是这么简单,其中官方提供了五种参数规格的模型,对照表如下:
这里根据自己对准确率和速度的需要来进行选择,替换load_model中的参数即可,如果你本地没有模型,它会自动下载。
经过测试,抛去最初加载模型的时间,120个字的音频,用tiny模型通过GPU运算1s左右就可以完成识别,CPU大概2s左右,下个项目就用它了,太方便了。
原文始发于微信公众号(飞羽技术工坊):一直没发现这么好的语音识别模型
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论