项目简介
本项目是基于C/C++的高性能语音识别系统,能够对OpenAI的Whisper自动语音识别(ASR)模型进行推理。该模型仅含2个源文件,具有轻量级特性,方便集成到不同平台与应用中。它支持Mac OS、iOS、Android、Linux、Windows等多种平台,可在CPU上运行,无需GPU支持。
项目的主要特性和功能
- 高性能推理:采用纯C/C++实现,无依赖,支持多种架构优化,像Apple silicon的Arm Neon和Accelerate框架、x86的AVX intrinsics、POWER的VSX intrinsics。
- 低内存使用:运用混合F16 / F32精度、Flash Attention技术,运行时零内存分配。
- 多平台支持:支持Mac OS、iOS、Android、Linux、FreeBSD、WebAssembly、Windows、Raspberry Pi等多种平台。
- 丰富功能:支持音频转录、实时音频输入、翻译、多语言识别、输出多种格式(如txt、vtt、srt等)、单词级时间戳、生成卡拉OK风格视频等。
- 易于集成:提供C风格API,可轻松集成到不同的平台和应用中。
安装使用步骤
前提条件
假设已下载本项目的源码文件,且具备C/C++编译环境。
步骤
- 下载模型:运行以下命令下载转换为ggml格式的Whisper模型,例如下载
base.en
模型:bash bash ./models/download-ggml-model.sh base.en
- 编译项目:编译
main
示例程序:bash make
- 音频转录:使用编译好的程序转录音频文件,确保音频文件为16位WAV格式,若不是可使用
ffmpeg
转换:bash ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav ./main -f output.wav
- 实时音频转录:编译并运行
stream
工具进行实时音频转录:bash make stream ./stream -m ./models/ggml-base.en.bin -t 8 --step 500 --length 5000
更多操作
- 下载更多音频样本:
bash make samples
- 下载并运行其他模型:
bash make tiny.en make tiny make base.en make base make small.en make small make medium.en make medium make large-v1 make large
- 查看详细使用说明:
bash ./main -h
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】