whisper.cpp logo

whisper.cpp

Free

Port of OpenAI's Whisper model in C/C++. #opensource

FreeFree tier
Inputs: audioOutputs: text
Type
Open Source
Company
ggml-org

About whisper.cpp

whisper.cpp is a high-performance C/C++ implementation of OpenAI's Whisper automatic speech recognition (ASR) model. It provides plain C/C++ code with no external dependencies, optimized for Apple Silicon via ARM NEON, Accelerate, Metal, and Core ML, and supports x86 through AVX intrinsics, POWER architectures via VSX, and a variety of GPU backends such as Vulkan, CUDA, ROCm, OpenVINO, and Ascend NPU. The library features mixed F16/F32 precision, integer quantization, zero memory allocations at runtime, and Voice Activity Detection (VAD). It runs on Mac OS, iOS, Android, Linux, FreeBSD, WebAssembly, Windows, Raspberry Pi, and Docker, making it suitable for offline and on-device speech recognition applications.

Key Features

Plain C/C++ implementation with no dependencies
Optimized for Apple Silicon (ARM NEON, Accelerate, Metal, Core ML)
AVX intrinsics for x86 and VSX for POWER architectures
Mixed F16/F32 precision and integer quantization
Zero memory allocations at runtime
GPU acceleration via Vulkan, Metal, CUDA, ROCm, OpenVINO, Ascend NPU
Voice Activity Detection (VAD)
C-style API for easy integration
Supports CPU-only inference
Portable across Mac OS, iOS, Android, Linux, WebAssembly, Windows, Raspberry Pi

Pros & Cons

Pros
  • High-performance inference with minimal overhead
  • Lightweight and dependency-free C/C++ codebase
  • Broad platform support including Apple Silicon, x86, ARM, and POWER
  • Multiple GPU backends for accelerated inference
  • Integer quantization reduces memory footprint
  • Zero runtime allocations for predictable performance
Cons
  • CLI example only accepts 16-bit WAV input, requiring audio conversion for other formats
  • Not a standalone application; requires C/C++ development knowledge to integrate
  • Documentation is limited to the GitHub README and examples

Best For

Transcribing audio files into textBuilding offline voice assistantsOn-device automatic speech recognitionVoice activity detection for speech processing pipelines

FAQ

What is whisper.cpp?
whisper.cpp is a high-performance C/C++ port of OpenAI's Whisper automatic speech recognition (ASR) model, designed for efficient inference on various platforms including Apple Silicon, x86, and ARM.
How do I get started?
Clone the repository, download a ggml-format model using the provided script, then build with CMake and run the whisper-cli on a 16-bit WAV audio file.
What platforms are supported?
Supported platforms include Mac OS (Intel and Arm), iOS, Android, Linux, FreeBSD, WebAssembly, Windows (MSVC and MinGW), Raspberry Pi, and Docker.
Does whisper.cpp support GPU acceleration?
Yes, it supports GPU acceleration via Metal on Apple Silicon, Vulkan, CUDA, ROCm, OpenVINO, Ascend NPU, and Moore Threads GPU.
Is whisper.cpp free to use?
Yes, whisper.cpp is open-source and free to use under the MIT license.