All five run the same Whisper speech models; they differ in how. openai/whisper is OpenAI's original Python code. faster-whisper reimplements it on a faster inference engine. WhisperX builds on faster-whisper to add word-level timestamps and speaker labels. whisper.cpp is a C/C++ port that treats Apple Silicon as a first-class target. WhisperKit is a Swift framework for building Whisper into Apple apps. On a Mac, whisper.cpp and WhisperKit are the two whose READMEs describe Apple's GPU or Neural Engine; faster-whisper and WhisperX document NVIDIA GPUs and run on a Mac's CPU.
We have not run a controlled benchmark of these projects. Speed figures below are each project's own, measured on the hardware they name.
What is each project, and who maintains it?
| Project | Maintainer (GitHub owner) | What it is | Licence | Language |
|---|---|---|---|---|
| openai/whisper | OpenAI | The original model code and weights | MIT (code and weights) | Python |
| faster-whisper | SYSTRAN | "a reimplementation of OpenAI's Whisper model using CTranslate2" | MIT | Python |
| WhisperX | Max Bain (m-bain) | Transcription with "word-level timestamps and speaker diarization", using a faster-whisper backend | BSD 2-Clause | Python |
| whisper.cpp | ggml-org | "Plain C/C++ implementation without dependencies" | MIT | C/C++ |
| WhisperKit | Argmax | "speech-to-text with OpenAI Whisper", part of the argmax-oss-swift package | MIT | Swift |
Licences are from each repository's LICENSE file or README on 1 October 2026. WhisperX's diarization uses pyannote models that have their own terms: its README says you need a Hugging Face access token and must "accept the user agreement" for the speaker-diarization model.
What does each one do differently?
openai/whisper. The reference. Install with pip install -U openai-whisper, plus ffmpeg (the README gives brew install ffmpeg for macOS). The README says the code is expected to work with Python 3.8 to 3.11. Its speed table was measured on an NVIDIA A100, and it has no Apple Silicon instructions. It transcribes files. Its initial_prompt option, per the transcribe code, lets you give "custom vocabularies or proper nouns to make it more likely to predict those word correctly."
faster-whisper. The README says it "is up to 4 times faster than openai/whisper for the same accuracy while using less memory," and that "efficiency can be further improved with 8-bit quantization on both CPU and GPU." It needs Python 3.9 or later and, unlike openai-whisper, does not need FFmpeg installed. GPU support is described only through NVIDIA's CUDA libraries. Its benchmarks were run on an NVIDIA RTX 3070 Ti and an Intel Core i7-12700K. On the CPU test (small model, 13 minutes of audio), the README lists openai/whisper at 6m58s, whisper.cpp at 2m05s, and faster-whisper at 2m37s in fp32 or 1m42s in int8. It has a vad_filter option to skip silence and word_timestamps.
WhisperX. Built for long recordings that need to be lined up and labelled. The README lists "Batched inference for 70x realtime transcription using whisper large-v2," "Accurate word-level timestamps using wav2vec2 alignment," "Multispeaker ASR using speaker diarization from pyannote-audio," and "VAD preprocessing." Its "Limitations" section is candid: numbers such as "2014." or "£13.60" "cannot be aligned and therefore are not given a timing," "Overlapping speech is not handled particularly well," "Diarization is far from perfect," and alignment needs a language-specific model. For Mac users it gives one line: "To run on CPU instead of GPU (and for running on Mac OS X): whisperx path/to/audio.wav --compute_type int8 --device cpu."
whisper.cpp. The README calls "Apple Silicon first-class citizen - optimized via ARM NEON, Accelerate framework, Metal and Core ML" and says "On Apple Silicon, the inference runs fully on the GPU via Metal." It lists "Mac OS (Intel and Arm)" as supported. Optional Core ML runs the encoder on the Apple Neural Engine, which it says can be "more than x3 faster compared with CPU-only execution." Its whisper-cli "currently runs only with 16-bit WAV files," and its microphone tool is described as "a naive example of performing real-time inference." It supports integer quantisation and voice activity detection.
WhisperKit. A Swift package for developers putting Whisper inside Apple apps, with prerequisites of macOS 14.0 or later and Xcode 16.0 or later. It downloads Core ML versions of Whisper and "automatically downloads the recommended model for the device if not specified." A command-line tool installs with brew install whisperkit-cli, transcribes wav, mp3, m4a or flac files, and has a --stream option for the microphone. It also includes a local server that implements the OpenAI Audio API. The README notes that Argmax's paid Pro SDK adds features such as "Real-time transcription with speakers" and "custom vocabulary"; those are not in the open-source package.
Which runs best on Apple Silicon?
| Project | What its README says about Apple hardware |
|---|---|
| openai/whisper | Nothing beyond installing ffmpeg with Homebrew |
| faster-whisper | No mention of Metal or the Neural Engine; GPU support is NVIDIA CUDA |
| WhisperX | Run with --device cpu on macOS |
| whisper.cpp | Metal GPU by default on Apple Silicon; optional Core ML for the Neural Engine |
| WhisperKit | Built on Core ML for Apple platforms; macOS 14 or later |
So on an M-series Mac, whisper.cpp and WhisperKit are the ones written for the hardware. faster-whisper and WhisperX will run, but on the CPU. If you also have a Linux machine with an NVIDIA card, faster-whisper and WhisperX are designed for it.
Which should you choose?
| Your job | Good fit | Why, per each README |
|---|---|---|
| Transcribe a few files on a Mac, from Terminal | whisper.cpp | Metal and Core ML on Apple Silicon; no Python |
| Python scripts or batch jobs on an NVIDIA server | faster-whisper | CTranslate2 engine, int8 quantisation, CUDA |
| Interviews or meetings needing speaker labels and word timings | WhisperX | Alignment and pyannote diarization, with the limits it lists |
| Build transcription into a Mac or iPhone app | WhisperKit | Swift package, Core ML models, model download handled |
| Reproduce OpenAI's reference results | openai/whisper | The original code and normaliser |
| Live dictation into any Mac app | None of these alone | Their microphone modes print text in Terminal; you need an app around the model |
For live dictation, the model is only part of the job. Something has to watch a hotkey, record, run the model fast enough to feel instant, and paste the text where your cursor is. That is what dictation apps add. Run Whisper on a Mac lists packaged apps built on whisper.cpp and WhisperKit, with their prices.
Where does SuprFlow fit?
SuprFlow 1.0.0 is a Mac dictation app built on WhisperKit. It uses a Whisper model with Small and Medium options, each in multilingual and English-only variants, and inserts the text into the app you are typing in. It is for live dictation only. It does not transcribe audio files, so if you have recordings, or need speaker labels and word timings, use WhisperX, whisper.cpp or another tool above.
Questions people ask
Is faster-whisper more accurate than Whisper?
Its README claims the same accuracy at up to 4 times the speed of openai/whisper. It runs the same Whisper weights, converted for CTranslate2. Quantising to int8 can change output slightly, so compare transcripts on your own audio.
Does faster-whisper use the GPU on a Mac?
Its README documents GPU execution only with NVIDIA CUDA libraries and does not mention Apple's Metal. On a Mac, expect it to run on the CPU. whisper.cpp and WhisperKit are the options that describe Apple GPU or Neural Engine support.
WhisperKit vs whisper.cpp: which should I use?
Use whisper.cpp for a command-line tool or a cross-platform C/C++ project; it runs on Intel and Apple Silicon Macs, Linux, Windows, iOS and Android. Use WhisperKit if you are writing a Swift app for Apple platforms and want Core ML models and model downloads handled for you.
Can WhisperX run on an M1 or later Mac?
Yes, on the CPU. Its README gives --compute_type int8 --device cpu for macOS. Speaker diarization also needs a Hugging Face token and acceptance of the pyannote model's terms.
Related guides
- How to run Whisper on a Mac
- Whisper model sizes compared
- Whisper large-v3 vs turbo
- Transcribe a voice memo on Mac
- Parakeet vs Whisper
- Open-source Wispr Flow alternatives
Sources
- OpenAI — whisper GitHub repository and README
- OpenAI — whisper/transcribe.py
- SYSTRAN — faster-whisper GitHub repository, README and LICENSE
- m-bain — WhisperX GitHub repository, README and LICENSE
- ggml-org — whisper.cpp GitHub repository and README
- Argmax — argmax-oss-swift (WhisperKit) GitHub repository and README