Home/How to Install OpenAI Whisper
Verified 2026-08-15

How to Install OpenAI Whisper (2026 Setup Guide)

Verified pip commands, FFmpeg setup, GPU/CUDA requirements, and model picker for Windows, macOS, Linux, Google Colab, and Docker. Compares four implementations (openai-whisper, faster-whisper, whisperX, whisper.cpp) with concrete pick-when guidance and honest tradeoffs. Includes a first-run performance table by GPU + model so you know what to expect before you download 3 GB of weights. Every version number, command, and CUDA library reference cross-checked against the openai/whisper README, pyproject.toml, SYSTRAN/faster-whisper docs, and community-verified 2026 reports.

By VexaScribe Editorial · Published · Verified

4
implementations
openai · faster · X · cpp
3.8–3.12
Python
3.10/3.11 recommended
Free
MIT license
Commercial use OK
CUDA 12.3+
for GPU
faster-whisper

Quick answer

To install OpenAI Whisper, install FFmpeg for your operating system, then run pip install -U openai-whisper on Python 3.8 through 3.12 (3.10 or 3.11 recommended). Verify with whisper --help. Whisper is free, open-source under the MIT license, and runs entirely on your machine — no OpenAI account or API key needed. For NVIDIA GPU inference on Linux/Windows install the CUDA-enabled PyTorch build; for production throughput switch to faster-whisper (up to 4× faster, requires CUDA 12.3+ with cuDNN 9).

Which install path is right for you?

Four Whisper implementations plus Docker. Pick before you install — switching later means environment cleanup.

Your needBest pickWhy
Learning Whisper, want reference behavioropenai-whisperCanonical, easiest to reason about
Production inference, high throughputfaster-whisper~4× faster, ~40% less VRAM with int8
Need speaker labels + word timestampswhisperXBundles faster-whisper + pyannote + wav2vec2 alignment
CPU-only, mobile, WASM, or embeddedwhisper.cppC++ binary, no Python runtime, Metal support
Repeatable deployment, no env pollutionDocker (faster-whisper image)Pre-built CUDA 12.3.2 + cuDNN 9 environment
Occasional transcription, no installHosted serviceSkip install entirely — upload & download

Prerequisites

Whisper needs three decisions before pip install will get you a working install: a supported Python version, the FFmpeg binary, and whether you want GPU acceleration.

Python version compatibility

The openai/whisper README states 3.8-3.11, but the actual pyproject.toml classifiers list 3.8 through 3.13. In practice, 3.12 works cleanly since v20250625; 3.13 has known build failures on tiktoken and triton dependencies. Verified 2026-08-15.

PythonStatusNote
3.8SupportedOfficially listed in README Setup
3.9SupportedOfficially listed in README Setup
3.10Supported (recommended)Smoothest install, all pre-built wheels available
3.11Supported (recommended)Same as 3.10 — pre-built wheels for every dependency
3.12Works in practiceClassifier present; widely reported working on v20250625+
3.13Not recommendedKnown build failures on tiktoken / triton dependencies

Why FFmpeg is required

Whisper reads audio through FFmpeg — it shells out to the ffmpeg binary to decode MP3, M4A, WAV, MP4, and other formats into raw waveforms before feeding them to the model. FFmpeg is not a pip package; you install it through your operating system's package manager. Per-OS commands are in each install section below.

GPU vs CPU — do you need CUDA?

Decision rules based on model size + weekly audio volume:

  • Tiny or base model, under 2 hours/week — CPU is fine. Skip CUDA setup.
  • Small or medium model, under 5 hours/week — CPU works but slow (0.5-2× real-time). Consider GPU if latency matters.
  • Large or turbo model, any regular use — GPU strongly recommended. CPU-only large is roughly 0.05× real-time (a 10-min podcast takes ~3 hours).
  • Apple Silicon Mac — Metal (MPS backend) works via PyTorch 2.0+, no CUDA needed. faster-whisper does not currently support MPS.
  • Windows or Linux with NVIDIA GPU — install CUDA-enabled PyTorch (see per-OS sections).
  • macOS with AMD or Intel iGPU — no CUDA. whisper.cpp with Metal is the fastest path.

Install Whisper on Windows

Windows install: install Python, install FFmpeg, install openai-whisper. The most common Windows-specific gotcha is FFmpeg not being on PATH after install — reopen your terminal after installing FFmpeg so the new PATH is picked up.

1. Install Python

Download Python 3.11 (recommended) from python.org and check "Add Python to PATH" during install.

2. Install FFmpeg on Windows

Pick one of three methods:

Chocolatey (recommended if you have it):

choco install ffmpeg

winget (Windows 10 1709+):

winget install Gyan.FFmpeg

Manual:

Download the "release essentials" build from gyan.dev/ffmpeg/builds, extract to C:\ffmpeg, then add C:\ffmpeg\bin to your PATH environment variable.

3. Install openai-whisper

python -m pip install -U openai-whisper

Using python -m pip instead of bare pip guarantees the install goes into the Python you'll actually run.

4. Enable NVIDIA GPU (optional but recommended for large model)

Check your CUDA version:

nvidia-smi

Install CUDA-enabled PyTorch matching your CUDA version. For CUDA 12.1:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

For other CUDA versions see pytorch.org/get-started/locally. Verify:

python -c "import torch; print(torch.cuda.is_available())"

5. Verify installation

whisper --help

If "whisper is not recognized", Python's Scripts directory isn't on PATH — reopen your terminal or add%APPDATA%\Python\Python311\Scriptsto PATH.

Install Whisper on macOS

macOS install is the smoothest of the three main platforms — Homebrew handles both Python and FFmpeg cleanly. Apple Silicon Macs get PyTorch's MPS backend for Metal-accelerated inference without needing CUDA.

1. Install Homebrew (if you don't have it)

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Install Python and FFmpeg

brew install python@3.11 ffmpeg

3. Install openai-whisper

python3.11 -m pip install -U openai-whisper

Apple Silicon note (M1/M2/M3/M4)

openai-whisper runs on CPU by default. To use the Metal GPU, ensure PyTorch is 2.0+ — pip pulls the correct build automatically on Apple Silicon. faster-whisper does not currently support MPS; on Apple Silicon consider whisper.cpp for GPU acceleration via Metal.

Why CUDA is not available on macOS

Apple dropped NVIDIA GPU support in macOS Mojave (2018). No CUDA drivers exist for modern macOS. Your options are: CPU inference (fine for small models), MPS via PyTorch 2.0+ (Apple Silicon), or whisper.cpp with Metal. For maximum throughput on Mac, whisper.cpp with Core ML acceleration beats openai-whisper on Apple Silicon.

4. Verify installation

whisper --help

Install Whisper on Linux (Ubuntu / Debian)

Linux is the reference environment — Whisper's CI runs on Ubuntu, so this path sees the fewest edge cases.

1. Install Python and FFmpeg

sudo apt update
sudo apt install -y python3 python3-pip ffmpeg

Arch: sudo pacman -S python python-pip ffmpeg. Fedora/RHEL: sudo dnf install python3 python3-pip ffmpeg (FFmpeg requires the RPM Fusion repository on Fedora).

2. Install openai-whisper

python3 -m pip install -U openai-whisper

3. NVIDIA GPU setup with CUDA + cuBLAS + cuDNN

Critical for faster-whisper users: ctranslate2 4.5.0+ requires CUDA 12.3+ with cuDNN 9. Check your CUDA version:

nvidia-smi

Install PyTorch matching your CUDA version. For CUDA 12.1:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

For faster-whisper without system CUDA installation, install NVIDIA libraries via pip and set LD_LIBRARY_PATH:

pip install nvidia-cublas-cu12 nvidia-cudnn-cu12
export LD_LIBRARY_PATH=$(python -c "import site; import os; print(os.path.join(site.getsitepackages()[0], 'nvidia', 'cublas', 'lib') + ':' + os.path.join(site.getsitepackages()[0], 'nvidia', 'cudnn', 'lib'))")

4. Verify installation

whisper --help
python -c "import torch; print(torch.cuda.is_available())"

Install Whisper on Google Colab

Colab is the fastest path to running Whisper large-v3 on a GPU without owning one. Free tier: T4 GPU (16 GB VRAM), fits every Whisper model including large. Colab Pro: A100 or L4 for higher throughput.

Cell 1 — install:

!pip install -U openai-whisper
!apt-get install -y ffmpeg

Cell 2 — transcribe an uploaded file:

from google.colab import files
uploaded = files.upload()  # pick your audio file

import whisper
model = whisper.load_model("large-v3")
result = model.transcribe(list(uploaded.keys())[0])
print(result["text"])

Enable the GPU runtime first: Runtime → Change runtime type → T4 GPU (free) or A100/L4 (Pro). Free tier sessions disconnect after ~90 minutes idle and cap at ~12 hours total per day. For sustained use, Colab Pro ($10/mo) or a hosted transcription service avoids the reconnect friction.

Install via Docker (production deployment)

Docker is the cleanest production install path: no host env pollution, repeatable across machines, GPU passthrough handled. Two paths depending on whether you want an API server or CLI.

Option A — official CUDA base + faster-whisper install

Use NVIDIA's CUDA 12.3 + cuDNN 9 image as the base, install faster-whisper inside:

docker run --gpus all -it \
  -v $(pwd):/workspace \
  nvidia/cuda:12.3.2-cudnn9-runtime-ubuntu22.04 \
  bash

# inside the container:
apt update && apt install -y python3 python3-pip ffmpeg
pip install faster-whisper
python -c "from faster_whisper import WhisperModel; m = WhisperModel('base'); print(next(m.transcribe('/workspace/audio.mp3')[0]))"

Option B — pre-built faster-whisper image

Ready-to-run community image:

docker pull lewangdev/faster-whisper
docker run --gpus all -v $(pwd):/workspace lewangdev/faster-whisper \
  --model base --language en /workspace/audio.mp3

Option C — full transcription API server

For a REST API endpoint (POST audio, get JSON transcript):

docker pull onerahmet/openai-whisper-asr-webservice
docker run -d --gpus all -p 9000:9000 \
  -e ASR_MODEL=base \
  -e ASR_ENGINE=faster_whisper \
  onerahmet/openai-whisper-asr-webservice

Then POST audio to http://localhost:9000/asr. Full API docs at github.com/ahmetoner/whisper-asr-webservice.

openai-whisper vs faster-whisper vs whisperX vs whisper.cpp

"Which Whisper implementation should I use?" is the most common question in every Whisper Reddit thread. Four implementations dominate, each optimized for a different constraint. All use the same underlying model weights — the difference is the inference runtime.

ImplementationLanguageInstallSpeedDiarization
openai-whisperPython (PyTorch)pip install -U openai-whisper1× (reference)❌ No
faster-whisperPython (CTranslate2)pip install faster-whisperUp to 4× faster❌ (add pyannote separately)
whisperXPython (bundles faster-whisper + pyannote + wav2vec2)pip install whisperxSimilar to faster-whisper✓ Included (pyannote)
whisper.cppC/C++ (ggml)git clone github.com/ggml-org/whisper.cppCPU-competitive with GPU torch on small models❌ No

openai-whisper

Strengths: Reference implementation from OpenAI. Matches paper. Easiest to reason about.

Weaknesses: Slowest runtime. Highest VRAM.

Pick when: You want the canonical implementation, are learning Whisper, or need behavior that exactly matches published benchmarks.

faster-whisper

Strengths: Same model weights, drop-in replacement, quantization support (int8/int8_float16/float16). Production choice.

Weaknesses: Requires CUDA 12.3+ with cuDNN 9 for GPU. Python 3.9+ only. LD_LIBRARY_PATH setup needed for pip-installed CUDA libs.

Pick when: Production inference where throughput or VRAM matters. Batch transcription jobs.

whisperX

Strengths: One-call pipeline: faster-whisper transcription + pyannote diarization + wav2vec2 forced alignment for word-level timestamps.

Weaknesses: HuggingFace token required (accept pyannote model terms). PyTorch/CUDA pins drift between minor versions — full venv rebuild often needed on upgrade.

Pick when: You need speaker labels AND word-level timestamps in one call. Meeting transcription, podcast production, interview analysis.

whisper.cpp

Strengths: No Python runtime. Runs on CPU, Apple Metal, WASM, mobile. Ships as a single binary.

Weaknesses: No pip install — compile from source. Requires manual model download in ggml format.

Pick when: Deploying to CPU-only servers, embedded devices, mobile apps, or in-browser transcription (Electron/WASM).

faster-whisper reports up to 4× throughput vs openai-whisper on the same GPU with the same model weights, using CTranslate2 as the inference engine. Per project benchmark: large-v2 on GPU dropped from 4,708 MB VRAM (openai-whisper fp16) to 2,926 MB (faster-whisper int8). Verified 2026-08-15 against github.com/SYSTRAN/faster-whisper.

Choosing a model size

Whisper ships six model sizes plus English-only variants for the smaller four. Model size trades accuracy for speed and VRAM. Table copied verbatim from the openai/whisper README (verified 2026-08-15).

SizeParamsEnglish-onlyMultilingualVRAMRelative speed
tiny39Mtiny.entiny~1 GB~10×
base74Mbase.enbase~1 GB~7×
small244Msmall.ensmall~2 GB~4×
medium769Mmedium.enmedium~5 GB~2×
large1550Mlarge~10 GB
turbo809Mturbo~6 GB~8×

Which model should you pick?

  • Have a GPU with 10+ GB VRAM? Use large for max accuracy or turbo for near-large accuracy at 8× the speed.
  • Have a mid-range GPU (5-8 GB VRAM)? medium is the accuracy sweet spot; turbo fits if the GPU has 6+ GB.
  • CPU-only or 2 GB VRAM? small balances quality and runtime. base.en is faster if you only need English.
  • Draft-quality only, low-power device? tiny or tiny.en.

For detailed word error rate benchmarks per model size and language see how accurate is Whisper.

First-run performance — what to expect

Before you download 3 GB of weights, know what runtime to expect. The table below shows approximate real-time factor (RTF) for openai-whisper on common hardware. Higher = faster. RTF of 5× means a 10-minute clip transcribes in 2 minutes. Numbers are community-reported 2026 estimates and vary with audio complexity, batch size, and driver version. faster-whisper is roughly 2-4× faster than these numbers on the same hardware.

Hardwaretinybasesmallmediumlargeturbo
RTX 4090 (24 GB)~30×~20×~12×~6×~3×~15×
RTX 4070 (12 GB)~20×~14×~8×~4×~1.5×~10×
RTX 3060 (12 GB)~15×~10×~6×~3×~1×~7×
M2 Max (32-core GPU)~12×~8×~5×~2.5×~1×~6×
M1 (Base)~8×~5×~2.5×~1×~0.4×~2×
CPU-only (Intel i7)~3×~1.5×~0.5×~0.2×~0.05×N/A

Model download happens once on first use — ~150 MB (base) to ~3 GB (large), cached in ~/.cache/whisper/. Subsequent runs load from cache. First-run wall-clock time includes the download; second-run and later use only the RTF above.

Your first transcription

Command line (CLI)

The simplest path — one command, no code:

whisper audio.mp3 --model base --output_format txt

Whisper detects the language automatically, transcribes the file, and writes audio.txt to the current directory. Add --language en to skip auto-detection. Available output formats: txt, vtt, srt, tsv, json, all.

Python API

import whisper

model = whisper.load_model("base")
result = model.transcribe("audio.mp3")
print(result["text"])

faster-whisper Python API (recommended for production)

from faster_whisper import WhisperModel

model = WhisperModel("base", device="cuda", compute_type="int8_float16")
segments, info = model.transcribe("audio.mp3", beam_size=5)
for segment in segments:
    print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")

whisperX (with speaker labels)

import whisperx
import os

model = whisperx.load_model("base", device="cuda")
audio = whisperx.load_audio("audio.mp3")
result = model.transcribe(audio)

# Align for word-level timestamps
model_a, metadata = whisperx.load_align_model(language_code=result["language"], device="cuda")
result = whisperx.align(result["segments"], model_a, metadata, audio, "cuda")

# Diarize (requires HF_TOKEN with pyannote model access)
diarize_model = whisperx.DiarizationPipeline(use_auth_token=os.environ["HF_TOKEN"], device="cuda")
diarize_segments = diarize_model(audio)
result = whisperx.assign_word_speakers(diarize_segments, result)

Common install errors and fixes

The seven errors that dominate the openai/whisper GitHub Discussions install threads. Skim for your error message.

ffmpeg: command not found

Cause: FFmpeg is a runtime dependency but pip does not install it. openai-whisper shells out to the ffmpeg binary to decode audio.

Fix: Install FFmpeg via your OS package manager (brew install ffmpeg on macOS, sudo apt install ffmpeg on Ubuntu, choco install ffmpeg or winget install Gyan.FFmpeg on Windows), then reopen your terminal so PATH picks it up.

tiktoken build failure / Rust compiler not found

Cause: tiktoken (a Whisper dependency) ships pre-built wheels for common platform/Python combinations only. On older Python versions or unusual architectures, pip falls back to building from source, which needs the Rust toolchain.

Fix: Either install Rust (rustup.rs → curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh) then retry the pip install, or downgrade to a Python version with pre-built tiktoken wheels (Python 3.10 or 3.11 usually works out of the box).

CUDA out of memory

Cause: The model you selected requires more VRAM than your GPU has. Whisper large needs ~10 GB.

Fix: Drop to a smaller model: --model medium (~5 GB VRAM), --model small (~2 GB), or --model turbo (~6 GB with much higher speed). Alternatively use faster-whisper with int8 quantization to halve VRAM.

Library libcublas.so.12 is not found or cannot be loaded

Cause: faster-whisper GPU version mismatch. ctranslate2 4.5.0+ requires CUDA 12.3+ with cuDNN 9. Older CUDA installations trigger this.

Fix: Either upgrade CUDA to 12.3+ system-wide, install pip packages nvidia-cublas-cu12 and nvidia-cudnn-cu12 and set LD_LIBRARY_PATH before running Python, or use the official Docker image nvidia/cuda:12.3.2-cudnn9-runtime-ubuntu22.04 which bundles compatible libraries.

Model download hangs on macOS

Cause: Whisper downloads model weights from OpenAI's CDN on first run. Corporate proxies, VPNs, or IPv6 misconfiguration on macOS can stall the download.

Fix: Try a different network (mobile hotspot), disable VPN, or pre-download the model with curl and place it in ~/.cache/whisper/. Model URLs are listed in whisper/__init__.py _MODELS dict.

No module named 'whisper' after install

Cause: You installed openai-whisper into one Python environment but are running python from a different one (system Python vs pyenv vs conda vs venv).

Fix: Verify with which python and which pip that both point to the same environment. Prefer running python -m pip install -U openai-whisper (uses the same Python you're about to run) over bare pip install.

whisperX diarization returns empty speaker labels

Cause: whisperX v3.8.6 (May 2025) switched to the speaker-diarization-community-1 model. If you accepted terms for the old pyannote/speaker-diarization-3.1 model but not the new one, the script runs but produces empty labels.

Fix: Log into HuggingFace, accept terms for pyannote/speaker-diarization-community-1 (and pyannote/segmentation-3.0), regenerate your HF token, and re-export HF_TOKEN before running whisperX.

Failed building wheel for pyannote-audio

Cause: whisperX depends on pyannote-audio, which pulls a specific PyTorch version. On newer Python with newer PyTorch pre-installed, dependency resolution fails.

Fix: Create a fresh venv (python -m venv whisperx-env && source whisperx-env/bin/activate) before pip install whisperx. This is cleaner than fighting pin conflicts in an existing environment.

Licensing, privacy, and data handling

MIT license — commercial use is fine

Whisper's code and model weights are released under the MIT license. Self-host, modify, fine-tune, and include Whisper in commercial products without paying OpenAI or requesting permission. The license text is at github.com/openai/whisper/blob/main/LICENSE.

Runs locally — no data sent to OpenAI

Self-hosted Whisper (this install guide) runs entirely on your machine. No audio, transcripts, or metadata leaves your local environment. No API key required. No account required. Distinct from the OpenAI Whisper API, which is a paid hosted service where audio is uploaded to OpenAI.

Self-hosted Whisper vs OpenAI Whisper API

Two things share the "Whisper" name. Self-hosted Whisper is what you installed above — free, local, MIT-licensed. The OpenAI Whisper API is a paid hosted service ($0.006 per minute as of 2026-08-15) that removes the install burden but sends audio to OpenAI. Pick the API for zero setup + fine sending audio out; pick self-hosted for privacy, unlimited volume, or offline operation.

When to use hosted Whisper instead

Installing and maintaining Whisper is worth it for a real set of use cases: strict data-locality requirements, high monthly volume where per-minute API fees add up, embedded systems that need offline transcription, or research workflows where you need to modify the model.

For everything else — occasional transcription, no GPU handy, don't want to maintain a Python environment or CUDA driver — a hosted transcription service is usually the right call. VexaScribe runs Whisper large-v3 on the hosting side, adds speaker diarization (up to 50 speakers), and handles format conversion, model download, and GPU provisioning. Free tier available; no install required.

Verified sources

Every command, version number, and library reference on this page was cross-checked against these sources on 2026-08-15:

Frequently asked questions

Is OpenAI Whisper available?

Yes. OpenAI Whisper is publicly available on GitHub at github.com/openai/whisper and on PyPI as the openai-whisper package. It is released under the MIT license, which permits free personal and commercial use. Install with pip install -U openai-whisper on Python 3.8 through 3.12.

Can I use OpenAI Whisper for free?

Yes, when self-hosted. Whisper's code and model weights are MIT-licensed and free to download and run on your own hardware — no OpenAI account or payment required. Separately, OpenAI offers a paid Whisper API ($0.006/min as of the verification date) for those who prefer hosted inference. This install guide covers the free self-hosted path.

How do I access Whisper?

Three ways. (1) Self-host: install with pip install -U openai-whisper, described in this guide. (2) OpenAI Whisper API: sign up at platform.openai.com and call the /v1/audio/transcriptions endpoint (paid per minute). (3) Third-party hosted services that run Whisper server-side, including VexaScribe, which handles install, GPU provisioning, and speaker labels for you.

Is OpenAI Whisper open source?

Yes. Both the code and the pretrained model weights are released under the MIT license, one of the most permissive open-source licenses. You can inspect, modify, fine-tune, redistribute, and sell products built on Whisper without paying OpenAI. The license text is at github.com/openai/whisper/blob/main/LICENSE.

Is OpenAI Whisper private?

Self-hosted Whisper runs entirely on your machine — no audio, transcripts, or metadata is sent to OpenAI. No API key is needed. This makes it suitable for privacy-sensitive workflows, HIPAA-adjacent contexts (with your own compliance stack), and offline environments. The paid OpenAI Whisper API is a different product where audio is uploaded to OpenAI's servers for processing.

How to use OpenAI's Whisper after installing?

From the command line: whisper audio.mp3 --model base --output_format txt writes audio.txt to the current directory. From Python: import whisper; model = whisper.load_model('base'); result = model.transcribe('audio.mp3'); print(result['text']). The first run downloads the model weights (150 MB for base, 3 GB for large) to ~/.cache/whisper/; subsequent runs load from cache.

What Python version does OpenAI Whisper support?

The openai/whisper README states 3.8-3.11, but the pyproject.toml classifiers list 3.8 through 3.13. In practice, 3.12 works cleanly for openai-whisper as of v20250625. Python 3.13 has known build failures on Whisper's dependencies (tiktoken, triton). Recommended: use Python 3.10 or 3.11 for the smoothest install. Verified 2026-08-15.

Do I need a GPU to run Whisper?

No, but a GPU is much faster. Whisper runs on CPU (Python torch fallback) for all model sizes, but a modern NVIDIA GPU with CUDA runs the small/medium models at usable speed and is required for real-time performance on large. Apple Silicon Macs use the Metal GPU via PyTorch MPS. CPU-only? Consider whisper.cpp, which is optimized for CPU inference and runs the base model at reasonable speed on modern laptops.

How much disk space does Whisper need?

Model sizes range from ~150 MB (tiny) to ~3 GB (large). Models download to ~/.cache/whisper/ on first use. The openai-whisper Python package itself is under 100 MB. FFmpeg adds another 40-80 MB depending on your OS build. Full install with the large model uses about 3.5 GB of disk.

openai-whisper or faster-whisper — which should I install?

openai-whisper is the reference implementation from OpenAI. faster-whisper is a community project that runs the same model weights via CTranslate2 at up to 4× the throughput with roughly 40% lower VRAM (per project benchmark). For learning Whisper or matching published benchmarks exactly, use openai-whisper. For production inference where speed or VRAM matters, faster-whisper is a drop-in replacement worth trying. Verified 2026-08-15.

What is whisper.cpp and when should I use it?

whisper.cpp is a C/C++ port of Whisper by Georgi Gerganov (also the author of llama.cpp), built on the ggml tensor library. It runs on CPU, Apple Metal, and WebAssembly with no Python runtime — ships as a single binary. Use whisper.cpp for CPU-only deployment, embedded devices, mobile apps, or in-browser transcription. Install is git-clone-and-compile rather than pip install. Repository: github.com/ggml-org/whisper.cpp.

Related guides