Whisper 是一个通用的语音识别模型。它在一个庞大的多样化音频数据集上进行训练,是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。
仓库地址:openai/whisper。
根据官方文档,开发人员采用了Python 3.9.9 和 PyTorch 1.10.1去开发和训练Whisper,但是同时也提到了支持Python 3.8-3.11和最近版本的PyTorch,这里以PyTorch 2.0.1版本和Python 3.10.12版本为例,操作系统版本为Ubuntu 20.04 LTS。
最基础的依赖项是FFmpeg和Git。
1 | apt install ffmpeg git |
不再赘述,详情请看上篇文章:Ubuntu 下 Python 编译安装及关联问题解决。
顺带提一嘴,Python换源:
1 | pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple |
我这里服务器没显卡,所以选择了CPU版本。实际情况请打开PyTorch下拉找到“INSTALL PYTORCH”根据自己实际情况选择,nvidia显卡选CUDA版本,AMD显卡选ROCm版本,都没有的选CPU版本。
查看CUDA版本:在Shell或命令提示符输入nvidia-smi
查看CUDA版本:
1 | C:\Users\Username>nvidia-smi |
选好后执行“Run this Command:”后面的命令即可。中间出现错误只需要重复执行命令直到安装完成即可。
1 | pip install git+https://github.com/openai/whisper.git |
1 | pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git |
依旧是出现错误只需要重复执行命令直到安装完成。
将音频传入主机,然后执行
1 | whisper audio.mp3 |
--model
:使用的模型,默认情况下使用的是small模型,可用模型参见Available models and languages。--language
:指定语言,默认情况下Whisper将取音频的前五秒识别是什么语言,如果识别不正确则可以在此处指定语言。模型下载时是从Azure上下载,在国内的话比较慢,我们可以自己搭建一个下载点。我采用的方法是在本地搭建一个nginx并将模型文件全部放入web文件夹下。
模型地址在/usr/local/lib/python3.10/site-packages/whisper/__init__.py
中的_MODELS
数组中,需要注意的是每条链接以/
分割的倒数第二段是该模型的sha256值,如果有错误或干脆没有的话会报错。