文章目录
前言
本文主要针对2023年发布的树莓派新产品树莓派5的开发使用,为了实现离线的语音识别转文本功能,本文使用了openai的whisper模型。
一、环境需要
树莓派5(最好8GB内存)
Rspberry PI系统
Conda环境(可自行搜索,也可以查看我专栏下的其他文章)
二、Whisper是什么
Whisper 是 OpenAI 开发的一个强大的开源语音识别模型。它可以将语音转换为文本,支持多种语言和方言,具有高准确率和鲁棒性。Whisper 经过大规模、多样化数据的训练,能够在各种噪音环境中保持良好的识别效果。此外,它提供了多种模型尺寸,适合不同硬件资源的需求,并且易于集成和使用。Whisper 适用于会议记录、视频字幕、语音助手等多种应用场景,并支持离线运行,确保数据隐私。
三、使用步骤
1) 创建并激活虚拟环境 whisper_env(这里使用单独的一个虚拟环境,防止与其他环境包冲突)
conda create -n whisper_env python=3.9
conda activate whisper_env
2)安装ffmpeg,pytorch以及一些依赖项
FFmpeg介绍
FFmpeg 是一个开源的多媒体框架,用于处理音频、视频以及其他多媒体文件。它包含了一系列强大的工具和库,可以用于录制、转换和流式传输多媒体内容。Whisper 和 FFmpeg 是互补的工具,FFmpeg 可以帮助用户准备和处理音频数据,以便 Whisper 更加高效地进行语音识别。通过结合这两者,用户可以实现从音频录制到文本转录的完整流程。
(1)ffmpeg安装
这里使用conda命令下载
conda install -c conda-forge ffmpeg
如果下载缓慢则可以尝试使用换源下载
conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ ffmpeg
(2)必要依赖项安装
这里需要提前安装依赖项,本人测试中发现如果直接安装whisper,在检索中安装各依赖项容易卡死,多次实验后发现提前安装依赖项可以解决这个问题。
sudo apt update
sudo apt install -y build-essential libopenblas-dev libblas-dev libatlas-base-dev \
libprotobuf-dev protobuf-compiler libhdf5-serial-dev hdf5-tools \
libjpeg-dev zlib1g-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev \
libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev \
libcanberra-gtk* libcanberra-gtk3* ffmpeg
如果下载缓慢可以考虑换源,这一步请自行换源。
(3)pytorch安装
这里安装pytorch,pytorch较大,所以建议通过换源安装,以下给出清华源安装的命令:
pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple
检查后测试是否安装成功
python -c "import torch; import torchvision; import torchaudio;
print('PyTorch version:', torch.__version__);
print('TorchVision version:', torchvision.__version__);
print('Torchaudio version:', torchaudio.__version__);
print('CUDA available:', torch.cuda.is_available())"
正常会显示版本
(4)安装whisper
这里使用换源下载。
pip install openai-whisper -i https://pypi.tuna.tsinghua.edu.cn/simple
(5)检测whisper的功能
完成安装后,通过文件传输工具将任意录取的一段mp3录音文件传输到树莓派5中,放到某个文件夹中,并且进入该文件夹,如图:
如何使用whisper命令进行转录(其中,–model选项指定了模型的大小(这里使用tiny),–language选项指定了语言(这里使用中文))
运行结果如下:
(6)成功实现!
赞!到这儿说明你的whisper模型已经成功部署啦!接下来你可以使用其他代码去调用它,并且根据自己的需求使用不同大小的模型!(模型越大,性能要求越高,同样性能也会更好)
总结
本文介绍了如何在树莓派5上成功部署 OpenAI 的 Whisper 模型,以实现离线语音识别功能。希望本文能够帮助你顺利完成环境搭建和模型使用,如有任何问题,请随时联系我,也可在评论区评论。