❤️❤️❤️❤️❤️❤️ 我们已经正式推出微信小程序,在微信中搜索 TrendForge Pro 即可使用小程序,如果使用 Telegram 请搜索 trendforge_tg ❤️❤️❤️❤️❤️❤️
学习目标:学会在本地计算机上编译和运行Whisper.cpp,将音频文件转换为文字,并了解如何根据硬件选择不同的加速方案。
前置知识
项目核心是C/C++实现,需要能理解基本的编译命令(如make, cmake)和命令行操作。
需要从GitHub克隆项目仓库。
所有步骤(克隆、编译、运行)均在命令行中完成。
仅在需要使用Core ML或OpenVINO等高级功能生成模型时才会用到。对于快速入门不是必须的。
学习步骤
环境准备与项目获取
15-30分钟安装必要的编译工具
根据你的操作系统(如macOS, Linux, Windows),确保已安装Git和C/C++编译器(如gcc/clang,或Windows上的MSVC/MinGW)。对于macOS,通常已自带。对于Linux,可能需要运行 `sudo apt install build-essential` 或类似命令。
Windows用户建议使用MSYS2或WSL2来获得类似Linux的体验,或者直接使用Visual Studio的开发者命令提示符。
克隆项目仓库
打开终端,运行 `git clone https://github.com/ggml-org/whisper.cpp` 将项目下载到本地。
进入项目目录
运行 `cd whisper.cpp` 进入项目根目录。
快速入门与初体验
30-45分钟下载预转换的模型
运行 `./models/download-ggml-model.sh base.en` 下载一个较小的英文专用模型。这是最快上手的模型。
模型会下载到 `models/` 目录下。如果脚本执行失败,可以手动从项目Releases页面或Hugging Face寻找ggml格式的模型文件。
编译基础命令行程序
运行 `make` 命令编译项目。这会在 `build/bin/` 目录下生成可执行文件,主要是 `whisper-cli`。
如果编译出错,请检查前置的编译工具是否安装正确。这是最常见的问题。
运行快速演示
运行 `make base.en`。这个命令会自动下载 `base.en` 模型并对项目自带的 `samples/` 目录下的.wav样例文件进行转录。
这是验证一切是否正常工作的最快方法。观察终端输出,应该能看到识别出的英文文本。
核心功能实践
45-60分钟转录自己的音频文件
1. 确保你的音频文件是16-bit单声道WAV格式。如果不是,使用ffmpeg转换:`ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav`。 2. 运行转录命令:`./build/bin/whisper-cli -m models/ggml-base.en.bin -f path/to/your/output.wav`。
`-m` 指定模型路径,`-f` 指定音频文件路径。可以尝试 `-h` 查看所有参数,例如 `-l zh` 指定中文语言(如果使用多语言模型)。
尝试不同模型
下载其他模型进行对比,例如更小的 `tiny` 或更强大的 `small`。运行 `./models/download-ggml-model.sh tiny`,然后用 `-m models/ggml-tiny.bin` 参数运行转录。观察速度、内存占用和准确率的差异。
参考README中的‘Memory usage’表格,根据你的硬件选择合适模型。内存小的电脑不要轻易尝试‘large’模型。
探索更多样例
运行 `./samples/download-samples.sh` 下载更多音频样例进行测试。
高级功能探索(可选)
30-60分钟根据硬件启用加速
根据你的硬件,在编译时启用相应支持以获得更快速度。例如: - Apple Silicon (Mac):`make clean && WHISPER_METAL=1 make` 启用Metal GPU加速。 - NVIDIA GPU:`make clean && WHISPER_CUDA=1 make`。 - 其他:参考README中的OpenBLAS、Vulkan、Core ML等部分。
每次切换编译选项前,最好先运行 `make clean`。加速功能可能需要额外安装库(如CUDA Toolkit)。
了解量化模型
运行 `./models/quantize.sh` 脚本,将下载的模型进行量化,生成更小、可能更快的 `.q4_0.bin` 等文件。然后用量化后的模型进行转录。
量化模型会损失少量精度,但能显著减少内存和磁盘占用,在资源受限的设备(如树莓派)上很有用。
推荐资源
项目最核心的文档,包含了所有安装、编译、使用和高级功能的说明。
遇到问题时可以在这里搜索或提问,很多常见错误已有解决方案。
了解Whisper模型本身的原理、训练数据和能力,有助于更好地使用移植版。
学习路径常见错误
音频格式不正确
Whisper.cpp 的 `whisper-cli` 目前只支持16-bit PCM WAV格式。务必使用ffmpeg等工具将MP3等格式正确转换(采样率16000Hz,单声道)。
编译失败,提示找不到命令或头文件
确认已安装完整的编译工具链(如build-essential)。在macOS上,可能需要安装Xcode Command Line Tools (`xcode-select --install`)。
运行程序时提示找不到模型文件
检查 `-m` 参数后的模型路径是否正确。模型文件应放在 `models/` 目录下,并使用正确的文件名。确保已成功运行下载脚本。
内存不足,程序崩溃
尤其是使用‘medium’或‘large’模型时。请先使用‘tiny’或‘base’模型。确保你的系统有足够可用内存(参考README内存表)。
启用GPU加速后编译或运行出错
确保已正确安装对应的驱动和开发库(如CUDA、Metal SDK)。仔细阅读README中对应加速板块的详细 prerequisites。初次尝试建议先使用CPU-only版本确保基础功能正常。
学习路径下一步步骤
1. 阅读 `whisper.h` 和 `whisper.cpp` 源码,理解模型推理的核心流程。 2. 研究如何将 `whisper.cpp` 作为库集成到你自己的C/C++项目中。 3. 探索项目 `examples` 目录下的其他示例,如实时麦克风输入转录 (`stream`)。 4. 尝试为其他语言(非英语)音频进行转录,使用 `tiny` 或 `base` 等多语言模型。 5. 了解 `ggml` 库,这是本项目依赖的底层机器学习张量库。 6. 关注项目更新,尝试最新的功能和模型优化。
相关项目推荐
tensorflow/tensorflow
面向所有人的开源机器学习框架
facebook/react-native
一个使用React构建原生应用程序的框架
electron/electron
使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用程序
ggml-org/llama.cpp
使用 C/C++ 实现的大语言模型推理框架
godotengine/godot
Godot引擎——跨平台2D与3D游戏引擎
microsoft/terminal
全新Windows Terminal与经典Windows控制台主机,集于一处!