This is an early release preview. You may encounter bugs.
whisper.cpp logo
Unclaimed

Tool voice

whisper.cpp

C/C++ port of OpenAI's Whisper speech-recognition model, dependency-free and optimized for on-device inference

A+ 98/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
Discussion

01 / Summary

About whisper.cpp.

whisper.cpp runs OpenAI's Whisper automatic speech recognition model in plain C and C++ with no external dependencies. The whole high-level model implementation sits in one header and one source file, and the rest is the ggml machine learning library, so the library is small enough to embed in desktop, mobile, browser, and embedded applications that transcribe or translate audio fully offline.

Inference runs on CPU only or on a wide range of accelerators: Apple Silicon through ARM NEON, Accelerate, Metal, and Core ML (with the encoder on the Apple Neural Engine), x86 AVX and POWER VSX intrinsics, NVIDIA, AMD ROCm, Vulkan, and Moore Threads GPUs, Intel OpenVINO, Ascend NPUs, and AMD Ryzen AI NPUs. It uses mixed F16 and F32 precision, supports integer quantization of models, and makes no memory allocations at runtime. It is inference only.

Models are converted from the original PyTorch weights into a single-file ggml format that packs parameters, mel filters, vocabulary, and weights together. The project exposes a C-style API with bindings for Rust, JavaScript, React Native, Go, Java, Ruby, Swift, .NET, Python, R, and Unity, plus a precompiled XCFramework for Apple platforms. Example programs include a command-line transcriber, real-time microphone streaming, a voice command assistant, an HTTP transcription server with an OpenAI-like API, and iOS, Android, and WebAssembly apps.

Model Disk Memory
tiny 75 MiB ~273 MB
base 142 MiB ~388 MB
small 466 MiB ~852 MB
medium 1.5 GiB ~2.1 GB
large 2.9 GiB ~3.9 GB
  • Dependency-free C/C++: the Whisper model implemented in plain C and C++ on top of the ggml library
  • Hardware backends: Metal, Core ML, CUDA, ROCm, Vulkan, OpenVINO, Ascend, Moore Threads, and Ryzen AI NPU, with CPU-only inference as a fallback
  • Quantization: integer-quantized models cut disk and memory use
  • Voice activity detection: a Silero VAD model trims non-speech audio before transcription
  • Real-time streaming: continuous transcription of microphone input
  • Word-level timestamps: experimental per-word timing, segment length control, and confidence color-coding
  • Speaker segmentation: experimental speaker-turn detection through tinydiarize models
  • Transcription server: an HTTP server example with an OpenAI-like API
  • Language bindings: Rust, JavaScript, Go, Java, Ruby, Swift, .NET, Python, R, and Unity
  • Cross-platform: macOS, iOS, Android, Linux, FreeBSD, Windows, WebAssembly, Raspberry Pi, and Docker images

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

04 / Build

Build with whisper.cpp.

Browse the catalog for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get whisper.cpp →

Browse the catalog