Since OpenAI open-sourced Whisper, the community has built faster runtimes, on-device ports, and pipelines that add speaker labels and precise timestamps. They all use Whisper's models — the difference is how they run them and what they add. Pick the wrong one and you'll fight your hardware or miss a feature you needed; pick the right one and it just works.
The comparison, at a glance
| Implementation | What it adds | Best for |
|---|---|---|
| OpenAI Whisper | The reference multilingual model — the baseline everything else is measured against. | Research, a known-good baseline, teams that want the canonical model. |
| faster-whisper | ~4× faster than reference Whisper using the CTranslate2 runtime; low memory. | Production batch transcription on GPU where speed and $/hour matter. |
| WhisperX | faster-whisper + forced alignment (accurate word timestamps) + speaker diarization. | Multi-speaker content — podcasts, interviews, meetings — where you need who-said-what. |
| whisper.cpp | A dependency-free C/C++ port; no Python, runs on CPU and Apple Silicon (Metal). | Offline / on-device / edge — from a Raspberry Pi to a Mac, no GPU required. |
| WhisperKit | Swift-native Whisper for Apple Silicon (CoreML, ANE, Metal). | Shipping Whisper inside an iOS / macOS / visionOS app. |
| insanely-fast-whisper | Aggressive batching for maximum GPU throughput (e.g. ~150 min in ~98 s on an A100). | Chewing through huge backlogs on rented high-end GPU time. |
| stable-ts | Stabilised, more accurate word-level timestamps than vanilla Whisper. | Subtitle generation where timing drift and word boundaries matter. |
| distil-whisper | A distilled model: ~6× faster, ~49% smaller, within ~1% WER of Whisper — English-only. | English workloads where latency and cost matter more than the last point of accuracy. |
On "fastest": speed depends entirely on hardware, batch size, model size, and precision — there is no single fastest implementation across all setups, and we don't publish head-to-head numbers we haven't measured ourselves; the only speed table below is faster-whisper's own, quoted with its source. Treat the "best for" column as a shortlist, then benchmark the finalists on your audio and hardware.
WhisperX vs Whisper: what actually changes
WhisperX is not a different model. It runs faster-whisper on Whisper's weights, then adds two steps plain Whisper does not have: wav2vec2 forced alignment, which pins each word to the audio, and pyannote speaker diarization, which labels who spoke. Its README claims 70x real time with batched large-v2 in under 8 GB of GPU memory.
The costs: diarization needs a Hugging Face read token and acceptance of the pyannote speaker-diarization-community-1 model terms, alignment needs a wav2vec2 model for the language, and the current release (3.8.6) wants Python 3.10 to 3.13. If you only need text with segment times, plain Whisper or faster-whisper is less to run. Sources: WhisperX README, PyPI, read 26 Oct 2026.
Whisper model comparison: size, VRAM and speed
Every implementation above runs these checkpoints. OpenAI's own figures, on English speech with an A100; speed is relative to large (openai/whisper README, read 26 Oct 2026):
| Model | Parameters | English-only version | VRAM | Relative speed |
|---|---|---|---|---|
| tiny | 39 M | tiny.en | ~1 GB | ~10x |
| base | 74 M | base.en | ~1 GB | ~7x |
| small | 244 M | small.en | ~2 GB | ~4x |
| medium | 769 M | medium.en | ~5 GB | ~2x |
| large | 1550 M | none | ~10 GB | 1x |
| turbo | 809 M | none | ~6 GB | ~8x |
turbo is an optimised large-v3 and the default in the openai-whisper command line, but it is not trained for translation; use medium or large to translate into English. On whisper.cpp the same sizes take less memory: tiny about 273 MB, base about 388 MB, medium about 2.1 GB and large about 3.9 GB of RAM, per its README.
Versions, licences and GitHub stars, checked 26 Oct 2026
| Implementation | Latest version | Licence | GitHub stars |
|---|---|---|---|
| OpenAI Whisper | openai-whisper 20250625 (PyPI) | MIT | 111,351 |
| faster-whisper | 1.2.1, 31 Oct 2025 | MIT | 26,191 |
| WhisperX | 3.8.6, 25 May 2026 | BSD-2-Clause | 24,868 |
| whisper.cpp | v1.9.5, 6 Oct 2026 | MIT | 54,694 |
| WhisperKit | v1.1.1, 8 Oct 2026 | MIT | 6,424 |
| insanely-fast-whisper | 0.0.15, 27 May 2024 (PyPI) | Apache-2.0 | 13,056 |
| stable-ts | 2.19.1, 16 Aug 2025 (PyPI) | MIT | 2,281 |
| distil-whisper | No package release; last push 8 Jan 2025 | MIT | 4,120 |
Read from GitHub and PyPI on 26 Oct 2026. Stars measure attention, not quality: insanely-fast-whisper has had no release since May 2024, and nobody has pushed to distil-whisper since January 2025.
The one benchmark the projects publish side by side
The faster-whisper README times 13 minutes of audio with large-v2, beam size 5, on an RTX 3070 Ti 8 GB. These are its maintainers' numbers, not ours:
| Implementation | Precision | Time | VRAM |
|---|---|---|---|
| openai/whisper | fp16 | 2m23s | 4,708 MB |
| whisper.cpp (Flash Attention) | fp16 | 1m05s | 4,127 MB |
| faster-whisper | fp16 | 1m03s | 4,525 MB |
| faster-whisper, batch_size=8 | fp16 | 17s | 6,090 MB |
| faster-whisper | int8 | 59s | 2,926 MB |
Source: SYSTRAN/faster-whisper README, read 26 Oct 2026. On a CPU (Intel Core i7-12700K, 8 threads, small model) the same README has whisper.cpp at 2m05s and faster-whisper int8 at 1m42s.
If you would rather not run any of them
WhipScribe is a hosted service on our own servers. Over the 30 days to 2026-10-27, 407 recordings of one to two hours (median 83 minutes) finished in a median of 3 minutes (turnaround figures). Every recording starts with a free preview of its opening minutes; a file of 83 minutes then uses 83 of the 500 minutes in the $4 pack. Files run up to 10 hours or 5 GB.
How to choose in one minute
faster-whisper
The default for cost-efficient production transcription. Add WhisperX on top if you need diarization or word-level timing.
whisper.cpp
Runs anywhere without Python or CUDA — CPU, Raspberry Pi, or Apple Silicon with Metal acceleration.
WhisperX
The one that answers "who said what, and exactly when" — the right tool for podcasts, interviews, and meetings.
WhisperKit
Swift-native, uses the Neural Engine — the way to embed Whisper in iOS/macOS software.
distil-whisper
Much faster and smaller with a tiny accuracy trade-off — for English-only, real-time-ish workloads.
stable-ts
Fixes the timestamp drift that makes auto-generated subtitles feel off.
What they have in common
Every implementation here runs OpenAI's Whisper models, so baseline accuracy is broadly similar for a given model size — the differences are runtime speed, hardware fit, and added features (diarization, timestamp quality, packaging). They're all open source and self-hostable. The real cost is operational: GPUs, model management, scaling, and keeping it running.
Frequently asked
What is the fastest Whisper implementation? For raw GPU throughput, insanely-fast-whisper (batched, on an A100/H100) and faster-whisper (CTranslate2) lead. distil-whisper is ~6× faster than the reference model for English-only. On CPU or Apple Silicon, whisper.cpp is the practical fastest. There is no single winner — it depends on your hardware and whether you need diarization or word-level timing.
faster-whisper vs WhisperX — which should I use? faster-whisper is the fast transcription engine; WhisperX is built on top of it and adds forced alignment (accurate word timestamps) plus speaker diarization. Use faster-whisper for plain fast transcription, and WhisperX when you need who-said-what and precise word timings (podcasts, interviews, meetings).
Which Whisper runs offline or on a Raspberry Pi? whisper.cpp — a C/C++ port with no Python or GPU dependency — runs on almost anything, from a Raspberry Pi to Apple Silicon (Metal). WhisperKit is the Apple-native choice for shipping Whisper inside iOS/macOS apps.
Do I have to self-host these? Only if you want to. Each of these is open source and self-hostable. If you'd rather not manage GPUs, models, and scaling, a hosted transcription service (like Whipscribe) gives you transcripts via an API.
WhisperX vs Whisper: what is the difference? WhisperX runs faster-whisper underneath and adds wav2vec2 forced alignment for word timestamps and pyannote speaker labels. Plain Whisper (openai-whisper) gives segment timestamps and no speaker labels. WhisperX's README claims 70x real time with batched large-v2 in under 8 GB of GPU memory; diarization needs a Hugging Face token.
Which Whisper model should I use? turbo (809 M parameters, about 6 GB of VRAM, about 8x the speed of large) for transcription; medium or large to translate into English, since turbo is not trained for translation; tiny or base on small machines. The .en models do better on English at the tiny and base sizes.
Is Whisper open source? Yes. openai/whisper is MIT-licensed, code and model weights, and so are faster-whisper, whisper.cpp, WhisperKit, stable-ts and distil-whisper. WhisperX is BSD-2-Clause and insanely-fast-whisper Apache-2.0.