news 2026/9/8 2:48:46

whisper.cpp 离线语音识别指南:三步跑通第一次转写

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
whisper.cpp 离线语音识别指南:三步跑通第一次转写

whisper.cpp 离线语音识别指南:三步跑通第一次转写

【免费下载链接】whisper.cppPort of OpenAI's Whisper model in C/C++项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp

会议录音、采访音频想转成文字,又不想把音频发到任何云端服务上。whisper.cpp 是 OpenAI Whisper 语音识别模型的 C/C++ 移植版本,完全本地运行:输入 16 kHz 的 WAV,输出带时间戳的文本,全程不需要联网。

先跑通:三步验证最小可用

第 1 步,拿代码:克隆仓库并进入目录。

git clone https://gitcode.com/GitHub_Trending/wh/whisper.cpp

第 2 步,拿模型:base.en 文件约 142 MiB,是通用的默认选择。

bash models/download-ggml-model.sh base.en

第 3 步,编译并跑样例:样例音频是仓库自带的samples/jfk.wav

cmake -B build && cmake --build build --config Release && ./build/bin/whisper-cli -f samples/jfk.wav

跑完会得到类似[00:00:00.000 --> 00:00:00.850] And so my fellow Americans...的输出,说明离线转写链路已经通了。

能力清单

多平台可运行

官方支持 macOS(Intel 与 Apple Silicon)、Linux、Windows、Android、iOS、树莓派、WebAssembly 和 Docker。Apple Silicon 上编码器可以走 Metal 或 Core ML 在 GPU 执行,NVIDIA 显卡可开 CUDA 加速。

模型档位

从 tiny 到 large-v1、large-v2、large-v3,外加 large-v3-turbo。带.en后缀的版本只识别英语,体积更小、速度略快。

量化压缩

内置 quantize 工具,可以把 ggml 模型压成 q4_0、q5_0、q8_0 等量化版本,磁盘和内存占用都下降,精度损失有限。

多语言转写与翻译

不带.en的多语言模型支持多种语言转写;加--translate参数后,非英语音频可以直接转成英文输出。

模型选型对照表

场景 / 设备推荐配置磁盘 / 内存占用(约)
树莓派、手机、内存受限的嵌入式tiny,或量化版 tiny-q5_175 MiB / 273 MB
普通 PC、日常转写base.en142 MiB / 388 MB
多语言、精度要求中等small466 MiB / 852 MB
服务端专业转写large-v3 / large-v3-turbo2.9 GiB / 3.9 GB

内存吃紧时优先上量化模型,并用-t参数降低线程数。

接入示例

核心 API 是 C 风格的,从加载模型到读取结果只需几行:

struct whisper_context * ctx = whisper_init_from_file("models/ggml-base.en.bin"); whisper_full_params p = whisper_full_default_params(WHISPER_SAMPLING_GREEDY); whisper_full(ctx, p, pcmf32.data(), pcmf32.size()); for (int i = 0; i < whisper_full_n_segments(ctx); i++) printf("%s\n", whisper_full_get_segment_text(ctx, i)); whisper_free(ctx);

实时麦克风输入、HTTP 识别服务、语法约束输出等完整场景,都放在 examples 目录里,可以直接照着抄。

踩坑清单

模型下载失败怎么办

症状:运行models/download-ggml-model.sh长时间卡住或报错。原因:模型文件托管在 Hugging Face,部分网络环境下连接慢或不稳定。解法:换一台能连通 Hugging Face 的机器,手动下载同名文件(如ggml-base.en.bin),放到本仓库的models/目录,再正常跑命令。

提示音频加载失败怎么办

症状:whisper-cli 报加载失败,没有任何转写输出。原因:whisper-cli 只认 16 位、16 kHz、单声道 WAV。MP3、44.1 kHz 或立体声文件都不能直接喂进去。解法:先用 ffmpeg 转格式:

ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav

设备内存不够或跑得太慢怎么办

症状:medium、large 模型直接 OOM,或者十几秒的音频要转好几分钟。原因:内存占用随模型档位上升,large 档需要约 3.9 GB;线程数开得过高也会拖慢速度。解法:换成 tiny 或 base 档,或用 quantize 生成 q4_0 量化模型;运行时用-t把线程数降到 2 再试。

收尾

最省事的起步方式,就是先在自己机器上把上面三步做完,确认jfk.wav的输出符合预期,再去看 examples/cli 目录的源码接入自己的音频。下一步动作:跑一条./build/bin/whisper-cli -f samples/jfk.wav,核对第一行文本和音频内容是否一致。

【免费下载链接】whisper.cppPort of OpenAI's Whisper model in C/C++项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 15:26:43

从0到1搭建AI-Native组织:以Skills为核心的可复用LLM能力资产体系

AI-Native 组织的研发体系&#xff0c;核心资产正在从代码仓库转向可组合的 Skills。所谓 AI-Native&#xff0c;不是简单地把大模型接入现有后台&#xff0c;而是把模型调用、检索增强、智能体编排、评测反馈这些能力当作软件系统的原生组成部分来设计。此时最大的问题不是写出…

作者头像 李华
网站建设 2026/9/5 14:41:06

Hermes v2026.8.19更新解读:零Key搜索与Bot协作实战指南

这次我们来看 Hermes 桌面端的一次重要更新。v2026.8.19 版本把两个日常高频需求摆到了前面&#xff1a;零 Key 搜索和Bot 协作。简单说&#xff0c;零 Key 搜索解决的是“要用联网搜索还要单独申请搜索服务 Key”的繁琐问题&#xff1b;Bot 协作解决的是“多个模型、多个角色怎…

作者头像 李华
网站建设 2026/9/6 3:41:00

3分钟跑通 Exo:本地分布式 AI 集群环境配置与安装排错全攻略

3分钟跑通 Exo&#xff1a;本地分布式 AI 集群环境配置与安装排错全攻略 【免费下载链接】exo Run frontier AI locally. 项目地址: https://gitcode.com/GitHub_Trending/exo8/exo exo 把多台本地设备自动组成一个 AI 集群&#xff0c;让单卡装不下的大模型跑起来&…

作者头像 李华
网站建设 2026/9/6 8:59:08

ROS与MATLAB通信与仿真:从话题打通到Gazebo联合仿真

如果你同时在用 ROS 和 MATLAB 做机器人开发&#xff0c;应该对这样的场景不陌生&#xff1a;算法在 MATLAB 里仿真得很漂亮&#xff0c;波形、误差、收敛过程全部符合预期&#xff1b;可一旦要交给真实机器人&#xff0c;或者放进 Gazebo 里的虚拟机器人跑&#xff0c;就得把数…

作者头像 李华
网站建设 2026/9/6 10:09:23

应用启动器与插件平台:首字母搜索如何重塑高效工作流

你电脑里装了 30 个常用软件&#xff0c;真正每天都会打开的却不到 15 个。这不是因为它们没用&#xff0c;而是每次打开都要经历“找图标 → 移动鼠标 → 点击 → 等窗口出现”这一整套动作。在浏览器、编辑器、终端、聊天工具之间来回切换时&#xff0c;这种动作一天要重复几…

作者头像 李华