Skip to content
How to · Mac voice writing

Whisper vs faster-whisper vs WhisperX, whisper.cpp and WhisperKit

What openai/whisper, faster-whisper, WhisperX, whisper.cpp and WhisperKit are, who maintains each, licences, Apple Silicon support, and which to use for what.

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?

ProjectMaintainer (GitHub owner)What it isLicenceLanguage
openai/whisperOpenAIThe original model code and weightsMIT (code and weights)Python
faster-whisperSYSTRAN"a reimplementation of OpenAI's Whisper model using CTranslate2"MITPython
WhisperXMax Bain (m-bain)Transcription with "word-level timestamps and speaker diarization", using a faster-whisper backendBSD 2-ClausePython
whisper.cppggml-org"Plain C/C++ implementation without dependencies"MITC/C++
WhisperKitArgmax"speech-to-text with OpenAI Whisper", part of the argmax-oss-swift packageMITSwift

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?

ProjectWhat its README says about Apple hardware
openai/whisperNothing beyond installing ffmpeg with Homebrew
faster-whisperNo mention of Metal or the Neural Engine; GPU support is NVIDIA CUDA
WhisperXRun with --device cpu on macOS
whisper.cppMetal GPU by default on Apple Silicon; optional Core ML for the Neural Engine
WhisperKitBuilt 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 jobGood fitWhy, per each README
Transcribe a few files on a Mac, from Terminalwhisper.cppMetal and Core ML on Apple Silicon; no Python
Python scripts or batch jobs on an NVIDIA serverfaster-whisperCTranslate2 engine, int8 quantisation, CUDA
Interviews or meetings needing speaker labels and word timingsWhisperXAlignment and pyannote diarization, with the limits it lists
Build transcription into a Mac or iPhone appWhisperKitSwift package, Core ML models, model download handled
Reproduce OpenAI's reference resultsopenai/whisperThe original code and normaliser
Live dictation into any Mac appNone of these aloneTheir 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.

Sources

Keep going

Read next

More how to
Put the guide to work

Make the first useful sentence.

Set up SuprFlow on your Mac, then try this guide in the app where you actually write.

  1. 01Download a speech model
  2. 02Dictate a harmless sample
  3. 03Check the text in its destination
SPECIAL OFFER$29 once Original price: $125

One license. Up to 5 Macs you own.Special offer, down from $125.Apple Silicon · macOS 14+

Get SuprFlow for Mac

7-day no-questions-asked refund on your first purchase. Contact support within seven days for a full refund. Read the refund terms ↗