ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

如何在本地跑通 whisper.cpp 语音识别:5 步上手教程

如何在本地跑通 whisper.cpp 语音识别:5 步上手教程 如何在本地跑通 whisper.cpp 语音识别5 步上手教程【免费下载链接】whisper.cppPort of OpenAIs Whisper model in C/C项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cppwhisper.cpp 是 OpenAI Whisper 语音识别模型的 C/C 移植版可以把本地音频文件离线转写成文字不依赖任何外部服务。本文按新手最常问的几个问题展开它是什么、要装什么、怎么构建、怎么识别第一个文件、以及怎么加速。所有命令均可直接在 Linux、macOS 或 Windows 上执行。 问题一whisper.cpp 是什么能在哪些设备上用简单说它是把 Whisper 模型装进自己程序里的一套纯 C/C 推理库整个模型的高层实现只包含在 include/whisper.h 和 src/whisper.cpp 两个文件里底层计算由仓库内自带的 ggml/ 机器学习库完成不需要安装 PyTorch 等框架。只支持推理inference不做训练。官方支持的平台包括 macOSIntel 与 Apple Silicon、Linux、FreeBSD、WindowsMSVC 和 MinGW、iOS、Android以及通过 WebAssembly 在浏览器中运行。Raspberry Pi 和 Docker 也可以跑。对开发者来说最关键的一点是它提供一个标准的 C 语言 API同样见 include/whisper.h你可以把它当作静态库链接进自己的项目。 问题二开始之前需要准备什么只需要两样东西一个 C/C 编译器GCC、Clang 或 MSVCCMake 3.10 及以上版本。没有其他强制依赖。仓库内置了构建所需的 ggml 库克隆后即可编译git clone https://gitcode.com/GitHub_Trending/wh/whisper.cpp cd whisper.cpp 问题三模型文件从哪里来whisper.cpp 使用的模型是转换成自定义ggml二进制的 Whisper 权重一个文件包含模型参数、mel 滤波器、词表和权重。下载脚本已经写好在仓库根目录执行sh ./models/download-ggml-model.sh base.en这会下载约 142 MiB 的models/ggml-base.en.bin。各规格模型的大小和内存占用如下选型时可以对照模型磁盘占用运行内存tiny75 MiB~273 MBbase142 MiB~388 MBsmall466 MiB~852 MBmedium1.5 GiB~2.1 GBlarge2.9 GiB~3.9 GB模型名带.en的只针对英文不带后缀的是多语言模型可以识别中文等其他语言。完整的模型列表含量化版 large-v3-turbo-q5_0 等见 models/README.md。▶️ 问题四如何构建并跑通第一次识别构建用 CMake 两步完成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 [00:00:00.850 -- 00:00:01.590] fellow [00:00:01.590 -- 00:00:04.140] Americans, ask到这一步你已经完整跑通了克隆 → 下载模型 → 构建 → 识别这条链路。如果不想手动构建仓库的 Makefile 提供了一条捷径make base.en会自动下载 base.en 模型并对samples/目录下的所有 wav 跑一遍推理适合快速验证环境。一个新手常踩的坑whisper-cli目前只接受 16-bit WAV 文件。如果你的音频是 mp3 或其他格式先用 ffmpeg 转一下ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav️ 问题五识别参数该怎么调日常最常用的是 examples/cli 里这几个参数完整列表可用./build/bin/whisper-cli -h查看-m指定模型文件-f指定音频文件-l指定语言例如-l zh识别中文-l auto自动检测-tr开启翻译模式把任意语言音频转成英文文本-t设置线程数默认 4输出格式-osrt生成字幕文件-ovtt生成 VTT-oj生成 JSON方便程序解析。一个识别中文音频的完整示例./build/bin/whisper-cli -m models/ggml-small.bin -f output.wav -l zh -osrt另外两个实验性用法值得知道加--print-colors可以按置信度给文字着色低置信度词会用不同颜色标出加-ml 1可以得到词级别的时间戳。⚡ 问题六怎么启用硬件加速默认构建只用 CPU。如果你有对应的硬件可以在 CMake 配置阶段加一个开关其余命令不变# NVIDIA GPU需先安装 CUDA cmake -B build -DGGML_CUDA1 # Vulkan跨厂商 GPU cmake -B build -DGGML_VULKAN1 # OpenBLAS 加速 CPU 编码 cmake -B build -DGGML_BLAS1Apple Silicon 用户还有两条路Metal构建时加-DGGML_METAL1推理在 GPU 上运行Core ML先用 models/generate-coreml-model.sh 生成编码器模型再以-DWHISPER_COREML1构建Encoder 部分可跑在 Apple 神经引擎上官方称比纯 CPU 快 3 倍以上。Intel 平台可以走 OpenVINO-DWHISPER_OPENVINO1华为 Ascend NPU 走 CANN-DGGML_CANN1具体流程都写在根目录 README.md 对应章节。内存紧张时还可以先量化再运行./build/bin/quantize models/ggml-base.en.bin models/ggml-base.en-q5_0.bin q5_0 ./build/bin/whisper-cli -m models/ggml-base.en-q5_0.bin -f samples/jfk.wav 问题七跑通之后还能拿它做什么仓库的 examples/ 目录里有一组可直接编译运行的工具覆盖了几类常见场景实时听写examples/stream 从麦克风持续采样并转写需先安装 SDL2以-DWHISPER_SDL2ON构建HTTP 转写服务examples/server 提供一个类似 OpenAI 接口的服务其他程序用 HTTP 上传 WAV 即可拿到转写结果语音指令助手examples/command 演示如何用麦克风控制预定义命令性能对比examples/bench 编译出的whisper-bench只跑 Encoder 部分并计时方便量化对比不同硬件或线程数下的速度。✅ 小结最短路径回顾把全文压缩成一条最短命令链就是这五步克隆仓库、sh ./models/download-ggml-model.sh base.en下载模型、cmake -B build cmake --build build --config Release构建、./build/bin/whisper-cli -f samples/jfk.wav出结果。之后再按需叠加硬件加速、量化和输出格式。遇到参数问题./build/bin/whisper-cli -h和根目录 README.md 是最好的参考。【免费下载链接】whisper.cppPort of OpenAIs Whisper model in C/C项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表