Local Speech-to-Text Stack by Hardware: 2026 Setup Guide
The short answer
Pick the stack by the machine first, then the model. As of October 19, 2026:
- Apple silicon Mac: whisper.cpp (Metal + Core ML) for scripts and the command line; WhisperKit inside a Swift app; parakeet-mlx for NVIDIA’s Parakeet models in your languages.
- NVIDIA GPU (Linux or Windows): faster-whisper for transcription; WhisperX for word timestamps and speaker labels; NVIDIA NeMo to run Parakeet and Canary.
- CPU-only server or old laptop: whisper.cpp with a quantized model, or faster-whisper with int8.
The model ranking — which model is most accurate — is a separate question, answered in best local speech-to-text models ranked. This page is about the software that runs them.
The stacks compared
| Stack | Runs on | Models | Strength | Latest release (GitHub) | Licence |
|---|---|---|---|---|---|
| whisper.cpp | Mac (Metal, Core ML), CUDA, Vulkan, CPU | Whisper family (GGML, quantized) | No Python, tiny footprint, Apple silicon first-class | v1.9.5 (Oct 6, 2026) | MIT |
| faster-whisper | NVIDIA GPU, CPU | Whisper family (CTranslate2) | Up to 4x faster than reference Whisper; int8 | v1.2.1 (repo active Oct 2026) | MIT |
| WhisperX | NVIDIA GPU | Whisper + wav2vec2 alignment + pyannote | Word timestamps, speaker diarization, batched 70x real-time | v3.8.6 (May 25, 2026) | BSD-2 |
| WhisperKit (Argmax OSS Swift) | iOS, macOS 14+ | Whisper (Core ML); SpeakerKit, TTSKit in same package | Native Swift apps, streaming, on-device | v1.1.1 (Oct 8, 2026) | MIT |
| parakeet-mlx | Apple silicon (MLX) | NVIDIA Parakeet | Parakeet accuracy and speed on a Mac | active (Oct 2026) | Apache-2.0 |
| NVIDIA NeMo Speech | NVIDIA GPU | Parakeet, Canary | Reference runtime for NVIDIA’s ASR models | v3.0.0 (Aug 7, 2026) | Apache-2.0 |
Setups that work
Mac, command line, any language. Build whisper.cpp, download large-v3-turbo in GGML format (quantize it for less memory) and run it; on Apple silicon inference runs fully on the GPU via Metal. Add the Core ML encoder for a further speed-up on the Neural Engine.
Mac app or iPhone. Add Argmax’s Swift package and use WhisperKit; its README recommends the compressed large-v3 (626 MB) checkpoint across iOS and macOS, and the same package includes SpeakerKit for diarization. For long recordings, its incremental mode streams audio from disk in bounded memory.
Mac, European languages, best accuracy. uv tool install parakeet-mlx and run Parakeet; Moondream’s Parakeet Ultra variant leads Apple-silicon dictation accuracy for 25 European languages.
GPU server, meeting recordings with speakers. WhisperX: batched transcription, wav2vec2-aligned word timestamps, pyannote diarization. You need a Hugging Face token for the pyannote models.
GPU server, plain high-volume transcription. faster-whisper with large-v3-turbo in float16, or int8 to fit more workers per GPU. For English-only maximum accuracy, run NVIDIA’s Canary-Qwen 2.5B through NeMo instead.
CPU-only. whisper.cpp or faster-whisper int8 with small or large-v3-turbo for batch jobs. For live captions on weak hardware, a streaming model such as Moonshine beats chunked Whisper.
How to choose in 30 seconds
- Need speaker labels? WhisperX (GPU) or WhisperKit + SpeakerKit (Apple).
- Shipping an iOS or macOS app? WhisperKit.
- Language outside Parakeet’s 25 European languages? A Whisper-based stack — whisper.cpp or faster-whisper.
- No Python allowed in production? whisper.cpp.
- Live captions? A natively streaming model — see the streaming picks in the model ranking.
Benchmark on your own audio: accents, crosstalk and phone-quality recordings move word error rates far more than the stack does. The Open ASR Leaderboard scores models on one harness. If local is too much work, compare speech-to-text APIs, and for private meeting notes see local AI meeting note takers.
Last verified: October 19, 2026. Versions are each project’s latest GitHub release on that date; speed claims are the projects’ own.