ggml-org

ggml-org/whisper.cpp

C++ MIT AI & ML

Port of OpenAI's Whisper model in C/C++

51.7k stars
5.9k forks
active
GitHub +395 / week

51.7k

Stars

5.9k

Forks

1.2k

Open issues

100+

Contributors

v1.9.1 19 Jun 2026

AI Analysis

whisper.cpp is a high-performance C/C++ port of OpenAI's Whisper automatic speech recognition (ASR) model, designed to run efficiently on a wide range of hardware including Apple Silicon (Metal/Core ML), NVIDIA/AMD GPUs, Vulkan, and even mobile and embedded platforms like iOS, Android, and Raspberry Pi. Its best use case is integrating low-latency, offline speech-to-text into native applications or resource-constrained environments where Python dependencies are impractical. It is primarily fo...

AI & ML Library Discovery value: 2/10
Documentation 9/10
Activity 10/10
Community 9/10
Code quality 9/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 9/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

speech-to-text asr inference on-device-ai transformer
Actively maintained Well documented MIT licensed Popular Production ready
Deep Analysis · Based on README and public signals
3w ago

whisper.cpp brings OpenAI's Whisper ASR to C/C++ for CPU, GPU, and embedded deployment

whisper.cpp is a dependency-free C/C++ port of OpenAI's Whisper automatic speech recognition model, built on the ggml tensor library. It targets developers who need offline, on-device speech-to-text without Python or cloud dependencies — including mobile app developers (iOS/Android), embedded systems engineers, game developers, and desktop application authors. With ~51K stars, broad hardware backend support (Metal, CUDA, ROCm, Vulkan, OpenVINO), and active CI, it has become the reference implementation for Whisper outside Python environments.

Origin

Created in September 2022 by Georgi Gerganov (also author of llama.cpp) shortly after OpenAI released Whisper. The repo moved from ggerganov to ggml-org organization as the ggml ecosystem matured, reflecting its role as an infrastructure component rather than a standalone experiment.

Growth

Initial viral growth came from the novelty of running Whisper on Apple Silicon without Python. Growth sustained through integration into downstream projects (local voice assistants, subtitle tools, desktop apps), Metal/CoreML acceleration, and the broader on-device AI wave. 207 stars in the last 7 days indicates continued steady organic interest rather than a spike, consistent with a mature project with genuine utility.

In production

whisper.cpp is listed on Conan Center (C++ package index) and has an npm package, indicating intentional ecosystem integration. It has been embedded in documented third-party tools including subtitle editors, local voice assistant frameworks, and is referenced as the ASR backend in several open-source desktop apps. The Raspberry Pi and WebAssembly targets suggest verified community deployment on constrained hardware. Adoption appears broad across hobbyist and embedded use cases; large-scale enterprise production usage is not publicly verified.

Code analysis
Architecture

Based on README: the core model logic appears entirely contained in two files (whisper.h and whisper.cpp), with the rest delegated to the ggml library for tensor operations. Likely follows a single-threaded inference path with zero runtime allocations by design. Multiple hardware backends (CUDA, Metal, Vulkan, ROCm, OpenVINO, Ascend NPU) are implemented as compile-time options. A C-style API (whisper.h) enables FFI bindings from other languages.

Tests

CI badge is present and passing per README. Specific unit or integration test coverage metrics are not documented in README.

Maintenance

Last push was 2026-06-19 — effectively current as of evaluation date. With ~5,681 forks and a v1.9.1 stable release, the project shows sustained, active maintenance. CI pipeline is confirmed active. The ggml-org organization structure suggests institutional-level maintenance continuity rather than solo-developer risk.

Honest verdict

ADOPT IF: you need offline Whisper inference on mobile, embedded, desktop, or WebAssembly targets where Python is unavailable or undesirable, or when minimal runtime dependencies and low memory footprint are requirements. AVOID IF: your workload is Python-native batch transcription at scale — faster-whisper or whisperX will likely offer better ecosystem integration and comparable or superior throughput. MONITOR IF: you're evaluating on-device ASR for production applications and want to track VAD maturity, quantization accuracy, and new hardware backend additions before committing.

Independent dimensions

Mainstream potential

7/10

Technical importance

9/10

Adoption evidence

8/10

Risks
  • ggml is a dependency that evolves rapidly; breaking changes in ggml can propagate to whisper.cpp and require coordinated updates across downstream integrations.
  • Model format is ggml-specific, requiring conversion from original OpenAI checkpoints — any upstream Whisper architecture changes need manual porting effort.
  • New Whisper model variants (or successor models from OpenAI) may lag behind in support compared to the Python ecosystem.
  • Zero-dependency claim is scoped to the core; GPU backends (CUDA, ROCm, Vulkan) require their respective vendor SDKs, which adds real deployment complexity.
  • Primary maintainer concentration risk: while now under ggml-org, the project's direction appears heavily driven by a small core team, which could affect response time to critical issues.
Prediction

whisper.cpp is likely to remain the dominant non-Python ASR deployment path for the foreseeable future, with growth tied to the broader on-device AI trend. Continued hardware backend expansion and VAD improvements expected.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

C++
53%
C
26.2%
Cuda
8.9%
Metal
2.5%
GLSL
1.8%
WGSL
1.2%
CMake
1.2%
Go Template
1.1%

Information

Language
C++
License
MIT
Last updated
4h ago
Created
46mo ago
Analyzed with
anthropic/claude-sonnet-4-6

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

Const-me

Const-me/Whisper

A high-performance Windows-native GPU implementation of OpenAI's Whisper...

10.5k C++ AI & ML
collabora

collabora/WhisperLive

WhisperLive is a real-time transcription application implementing OpenAI's...

4.1k Python AI & ML
openai

openai/whisper

Whisper is an open-source automatic speech recognition (ASR) system developed...

104.7k Python AI & ML
SYSTRAN

SYSTRAN/faster-whisper

faster-whisper is a high-performance reimplementation of OpenAI's Whisper...

24.2k Python AI & ML
OpenWhispr

OpenWhispr/openwhispr

OpenWhispr is a privacy-first, open-source voice-to-text application for macOS,...

4.4k TypeScript Productivity
vs. alternatives
openai/whisper (Python)

The reference implementation. whisper.cpp trades Python ecosystem convenience for portability, lower latency on CPU, and deployment without Python runtime. For batch cloud workloads, the Python version integrates more naturally with ML pipelines.

SYSTRAN/faster-whisper

faster-whisper uses CTranslate2 for optimized Python inference and generally outperforms openai/whisper in throughput. whisper.cpp is competitive on Apple Silicon and CPU-only scenarios, and is the only option when Python is unavailable.

m-bain/whisperX

whisperX adds word-level timestamps and speaker diarization on top of faster-whisper. whisper.cpp now includes VAD but lacks diarization. whisperX is better for research pipelines; whisper.cpp for embedded/offline deployment.

Const-me/Whisper

Another C++ Whisper port targeting Windows with DirectCompute. whisper.cpp has broader platform support (mobile, WASM, Linux, macOS) and significantly higher adoption, but Const-me/Whisper may offer tighter Windows DirectX integration.

OpenWhispr/openwhispr

A TypeScript wrapper project likely targeting browser/Node.js consumers. whisper.cpp is the more appropriate choice for native performance; openwhispr appears to serve a narrower JS integration niche.