1、环境
OS:Ubuntu 22.04
python version:3.10.6
2、安装FFmpeg
apt install ffmpeg
3、下载whisper.cpp源码
git clone https://github.com/ggerganov/whisper.cpp.git
下载模型,这里下载的是base模型。
bash ./models/download-ggml-model.sh base
如果不想下载模型,想要自己从 whisper 的模型中转换成 ggml 格式的模型,那么可以执行下面的命令。具体可以参考官方文档。
python models/convert-pt-to-ggml.py ~/.cache/whisper/medium.pt ~/path/to/repo/whisper/ ./models/whisper-medium
mv ./models/whisper-medium/ggml-model.bin models/ggml-medium.bin
对上面命令的解释:运行 models 下的 convert-pt-to-ggml.py 脚本,输入三个参数,第一个参数是你 whisper 模型的位置,第二个参数是保存 whisper 源码的路径,第三个参数是保存转完后文件的路径。最后要记得把转完之后的 ggml 格式的文件移动到指定的目录下。
4、编译安装 whisper.cpp
make base
5、使用
./main -m models/ggml-base.bin -f samples/jfk.wav
-m: 指定模型
-f: 指定要转录的音频文件
6、实时流
如果我们想要做成实时识别的效果,那么我们可以安装 stream,通过 stream 来达到实时识别输出。
# Install SDL2 on Linux
sudo apt-get install libsdl2-dev
# Install SDL2 on Mac OS
brew install sdl2
make stream
./stream -m ./models/ggml-base.en.bin -t 8 --step 500 --length 5000
Q.E.D.