Skip to main content
AdOpenFree logoPromote your productReach more potential users and drive product growth and revenue.Advertise
Favicon of whisper.cpp

whisper.cpp

Free Listing

whisper.cpp is a dependency-light C/C++ port of OpenAI's Whisper automatic speech recognition model, optimized for high-performance inference across CPUs, Apple Silicon, GPUs, NPUs, and edge platforms.

Visit ggml-org/whisper.cpp

Overview

whisper.cpp provides high-performance inference of OpenAI's Whisper automatic speech recognition model in plain C/C++. It is a lightweight implementation that can be integrated into different platforms and applications, with support for CPU-only inference and acceleration across Apple Silicon, NVIDIA, AMD, Vulkan, OpenVINO, Ascend NPU, Moore Threads, and other targets.

Key Features

  • Plain C/C++ implementation without dependencies
  • Apple Silicon optimization via ARM NEON, Accelerate framework, Metal, and Core ML
  • AVX intrinsics for x86, VSX intrinsics for POWER, and mixed F16/F32 precision
  • Integer quantization support
  • Support for CPU-only inference and acceleration via CUDA, ROCm, Vulkan, OpenVINO, CANN, MUSA, and other backends
  • C-style API and voice activity detection (VAD)

Use Cases

  • On-device and offline speech recognition on platforms such as iOS, Android, WebAssembly, Raspberry Pi, and desktop OSes
  • Real-time audio input transcription from a microphone
  • Building offline voice assistant applications
  • Transcribing audio with timestamps, word-level timestamps, speaker segmentation, and karaoke-style movie generation

Getting Started

  • Clone the whisper.cpp repository.
  • Download a Whisper model converted in ggml format, for example by running sh ./models/download-ggml-model.sh base.en.
  • Build the project with cmake -B build and cmake --build build -j --config Release.
  • Transcribe a 16-bit WAV file with ./build/bin/whisper-cli -f samples/jfk.wav.
  • For a quick demo, run make base.en.

Deployment & Requirements

  • CMake is used to build the project.
  • A Whisper model converted to the custom ggml format is required.
  • The whisper-cli example only accepts 16-bit WAV files, so input may need conversion with ffmpeg or another tool.
  • Optional acceleration backends have their own dependencies, such as CUDA, Vulkan, ROCm, OpenVINO, CANN, MUSA, Core ML, and ANEForge.
  • Docker images are available for CPU, CUDA, MUSA, and Vulkan configurations.

Before You Adopt

  • License: MIT. Review its terms before using, modifying, or distributing the project.
  • The project supports inference only, not training or fine-tuning.
  • The whisper-cli example only accepts 16-bit WAV files, so users may need to convert input audio before running it.
  • Core ML execution has a slow first run because the ANE service compiles the model to a device-specific format.
  • OpenVINO execution has a slow first run because the framework compiles the model to a device-specific blob.

Comments

Sign in to leave a comment.

More like whisper.cpp

Favicon of Hex

Hex

Free ListingStars: 2.7K

Speak. It appears.

Transcription & Dictation

Hex is local-first voice dictation for macOS, Windows, and Linux. Hold a shortcut, speak, and Hex transcribes on-device and pastes the text into the app you are using, with optional modes and CLI tools.

Favicon of Handy

Handy

Free ListingStars: 34.7K

Free, open source, offline speech-to-text for your desktop

Transcription & Dictation

Handy is a free, open source, cross-platform desktop speech-to-text app that runs fully offline and pastes transcribed speech into any text field without sending audio to the cloud.

Favicon of VidBee

VidBee

Free ListingStars: 10.8K

Download videos and create searchable transcripts locally.

Assistants & ProductivityTranscription & Dictation

VidBee downloads video and audio from YouTube, TikTok, Instagram, X, and 1000+ sites, or local files. It creates searchable, timestamped transcripts on your computer, then summarizes, translates, or answers questions with your AI provider.