使用whisper.cpp在CPU上转录语音文字
请注意,是只会在CPU上推理。
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
从huggingface下载large模型bash ./models/download-ggml-model.sh base
make
make base
音频文件必须是采样率为16kHz的wav文件ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav
./main -m models/ggml-base.bin -f output.wav --language chinese识别内容,–language en是英语
./main --help获取命令使用手册
| Model | Disk | Mem | SHA |
|---|---|---|---|
| tiny | 75 MB | ~125 MB | bd577a113a864445d4c299885e0cb97d4ba92b5f |
| base | 142 MB | ~210 MB | 465707469ff3a37a2b9b8d8f89f2f99de7299dac |
| small | 466 MB | ~600 MB | 55356645c2b361a969dfd0ef2c5a50d530afd8d5 |
| medium | 1.5 GB | ~1.7 GB | fd9727b6e1217c2f614f9b698455c4ffd82463b4 |
| large | 2.9 GB | ~3.3 GB | 0f4c8e34f21cf1a914c59d8b3ce882345ad349d6 |
base模型用起来的手感就不错,速度很快也没多少错误,就是出的是繁体这点不符合我的预期,查询了whisper支持的语言列表,只有一个Chinese选项,只能这样忍耐了。瓶子君锐评网络只是生活的一部分以及独立思考就是用base模型识别原视频的语音,我再人工校对了几处获得的结果。我的笔记本wsl运行large模型时,不能有其他运行工作的进行,否则会因为资源短缺的问题自行断掉识别的进程,速度还很慢,还出现错序的问题,错序的问题可能是线程数默认为4导致的,但我设定线程数为1后,用large模型识别语音反而更糟糕,一直在重复识别出同一句话。
创建于2023.3.20/20.58,修改于2023.4.22/12.39