ggml-org/whisper.cpp
Port of OpenAI's Whisper model in C/C++
解决的问题
whisper.cpp 是 OpenAI 的 Whisper 自动语音识别(ASR)模型的高性能、轻量级实现。它无需依赖重型组件,即可在广泛的硬件平台上实现高效、离线、设备端的音频转文本功能。
工作原理
该项目使用纯 C/C++ 编写,利用 ggml 机器学习库进行推理。通过硬件特定的内建函数(如 ARM NEON 和 AVX)优化性能,并支持多种加速器,包括 NVIDIA GPU(CUDA)、AMD GPU(ROCm/HIP)、Vulkan、Apple Silicon(Metal/Core ML)以及多种 NPU(AMD Ryzen AI、Ascend、OpenVINO)。同时支持整数量化,以减少内存和磁盘使用量。
适用人群
专为希望将高质量语音转文本功能集成到本地运行、离线或资源受限设备(如 iPhone、Android 手机、Raspberry Pi 和 WebAssembly 环境)的应用程序中的开发者设计。
主要亮点
- 零依赖的 C/C++ 实现:易于移植并集成到现有软件中。
- 广泛的硬件加速支持:原生支持 CUDA、ROCm、Metal、Vulkan 以及多种 NPU 架构。
- 极强的可移植性:可在 macOS、iOS、Android、Linux、Windows、FreeBSD 和 WebAssembly 上运行。
- 内存效率高:支持整数量化,运行时零内存分配。
相关
- 项目
openai/whisperWhisper 是 OpenAI 开发的基于 Transformer 的开源语音转文本系统,可处理多种语言的转录、语言识别和翻译。它作为一个可通过 pip 安装的包发布,提供六种模型大小(tiny → large,以及快速的 “turbo” 版本)。通过 CLI (`whisper …`) 和简单的 Python API (`whisper.load_model(...).transcribe(...)`),只需少量命令即可将音频文件转换为文本。该项目运行在 Python 3.8-3.11 和 PyTorch 上,并且需要 ffmpeg(可选需要 Rust 用于分词器)。所有代码和模型权重均采用 MIT 许可。
- 项目
sandrohanea/whisper.netWhisper.net 为 OpenAI 的 Whisper(及 Parakeet)语音转文本模型提供 .NET 绑定,通过简单的 NuGet 包支持 CPU、CUDA、CoreML、OpenVINO、Vulkan 等多种运行时,实现跨平台转录。
- 项目
0xShug0/audio.cppaudio.cpp 是一个基于 ggml 构建的原生 C++ 推理框架,可在 CPU、CUDA、AMD 或 Apple Silicon 硬件上本地运行数十种现代音频 AI 模型(TTS、ASR、语音转换、音乐生成等)。它提供单一 CLI、HTTP 服务器和 Web UI,支持量化 GGUF 包以实现速度和低 VRAM 占用,并捆绑 DSP 工具以支持端到端音频工作流。
- 项目
- 项目
mybigday/whisper.rnwhisper.rn 是一个 React Native 库,将 OpenAI 的 Whisper(以及 NVIDIA Parakeet)语音转文本模型带到 iOS 和 Android。它附带预构建的原生二进制文件,支持 Core ML、GPU 和 Snapdragon Hexagon NPU 加速,内置 VAD,并提供实时转录 API,全部可从 JavaScript 离线使用。