---
schema: "https://insidethemachine.ai/schema/listing.schema.json"
slug: "whisper-cpp"
name: "whisper.cpp"
category: "Multimodal / Speech"
stack_layer: "tools"
homepage: "https://github.com/ggml-org/whisper.cpp"
repo: "https://github.com/ggml-org/whisper.cpp"
docs: "https://github.com/ggml-org/whisper.cpp#readme"
license: "MIT"
platforms: ["macos-apple-silicon", "linux", "windows"]
mac_studio_fit: "Primary"
stars: 54413
stars_as_of: "2026-10-15"
last_push: "2026-10-12"
gap_score: null
gap_score_status: "pending test on Mac Studio"
benchmarks_status: "pending test on Mac Studio"
verified_on: "2026-10-15"
sponsored: false
---

# whisper.cpp

> Local speech-to-text with Metal GPU acceleration and optional Core ML on Apple silicon.

**What:** Speech-to-text that runs on your machine. **Why:** Talk to your agent, offline and private.

**Stack layer:** tools (model → runtime → harness → memory → tools)

A C/C++ port of OpenAI's Whisper speech recognition model. Builds with CMake; ships whisper-cli and model download scripts.

**Gap role:** Voice input: private, offline transcription that pairs with local LLMs.

## Gap Score

null (pending test on Mac Studio)

## Prerequisites

- Xcode Command Line Tools (xcode-select --install)
- CMake (brew install cmake)
- git

## Install

### macOS (Apple Silicon)

1. Run:

```bash
xcode-select --install   # skip if already installed
```

2. Run:

```bash
brew install cmake
```

3. Run:

```bash
git clone https://github.com/ggml-org/whisper.cpp.git && cd whisper.cpp
```

4. Run:

```bash
sh ./models/download-ggml-model.sh base.en
```

5. Run:

```bash
cmake -B build && cmake --build build -j --config Release
```

### Linux

1. Run:

```bash
git clone https://github.com/ggml-org/whisper.cpp.git && cd whisper.cpp && sh ./models/download-ggml-model.sh base.en && cmake -B build && cmake --build build -j --config Release
```

## Configure

1. Run:

```bash
# optional: Core ML encoder on the Apple Neural Engine; see the README's 'Core ML support' section
```

## Verify

1. Expect: prints a transcript of the bundled JFK sample

```bash
./build/bin/whisper-cli -f samples/jfk.wav
```

## Rollback

1. removes source, build and downloaded models:

```bash
cd .. && rm -rf whisper.cpp
```

## One-command install

Status: docs-checked (Not run: commands checked against the official docs only). The wrapper scripts are generated from the site data. Every .sh passed bash -n and shellcheck and ran in plan mode on Linux (Debian 13). Every .ps1 passed the PowerShell parser and chat.ps1 ran in plan, verify and rollback mode under PowerShell 7 on Linux with Windows calls mocked. Not run on macOS or real Windows.

```bash
curl -fsSL https://insidethemachine.ai/install/whisper-cpp.sh | bash            # install, then check
curl -fsSL https://insidethemachine.ai/install/whisper-cpp.sh | bash -s -- plan    # print only
curl -fsSL https://insidethemachine.ai/install/whisper-cpp.sh | bash -s -- rollback --yes
```

Details and Windows: https://insidethemachine.ai/install/whisper-cpp.md

## Caveats

- whisper-cli currently only accepts 16-bit WAV input; convert other formats first (README).

## Benchmarks

Status: pending test on Mac Studio. Rig: Mac Studio, Apple Silicon, 128GB unified memory. No results published yet.

## Works with

- ollama (https://insidethemachine.ai/setups/ollama.md)
- open-webui (https://insidethemachine.ai/setups/open-webui.md)

## Sources

- https://github.com/ggml-org/whisper.cpp
