whatmodel.sh · find the best speech-to-text models you can run

Best speech-to-text models to run locally on a 4GB Mac

A leaderboard of the best speech-to-text models you can run locally on a Mac with 4GB of memory. Granite Speech 5.0 470M TurboCTC NC is #1 right now, followed by Granite Speech 5.0 470M TurboCTC and Granite Speech 4.1 2B NAR. Models are ranked by one score that combines 87 published benchmarks. Each model shows the download that fits and the command to run it.

61 models · 87 benchmarks · updated
Filter by your hardware and budget → ~3GB fast · local only · reset

detecting your OS…

$ terminal

Score vs release date

#modelscore↓where↓RAM↓speed↓get itsources
15Granite Speech 5.0 470M TurboCTC NC · q8_0-gguf (transcribe.cpp) IBM64±4*local~0.5GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
21Granite Speech 5.0 470M TurboCTC · bf16 IBM62±4*local~1.6GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
26Granite Speech 4.1 2B NAR · q8_0-gguf (transcribe.cpp) IBM62±4*local~2.5GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
34Granite Speech 4.1 2B Plus · q8_0-gguf (transcribe.cpp) IBM61±4*local~2.4GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
35Parakeet TDT 0.6B v2 · bf16 NVIDIA60±1local~1.9GB~92×how to run › NVIDIA ASR model cards (Parakeet / Canary, Hugging Face)AfriSpeech-MultiBench (arXiv:2511.14255v1) · African-accented English ASR benchmark suiteOpen ASR Leaderboardtranscribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsmicrosoft/VibeVoice-ASR-BitNet model card (Accuracy table)Switch-aware evaluation of ASR on English-Yoruba code-switched speech (arXiv:2609.11786v1)+1
37Parakeet Unified EN 0.6B · q8_0-gguf (transcribe.cpp) NVIDIA60±4*local~0.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
51Parakeet Ultra · q8_0-gguf (transcribe.cpp) Moondream59±3local~0.7GBhow to run › Moondream parakeet-ultra and parakeet-redux model cards (Benchmarks sections)transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
61Whisper large-v3-turbo · fp16 OpenAI57±1local~2.4GB~18×how to run › distil-whisper/distil-large-v3.5 model cardOpen ASR Leaderboardtranscribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsverliapp/stt-benchmark · independent STT accuracy benchmarkLiteASR (arXiv:2502.20583v2) · ESB WER of Whisper and LiteASR-compressed encodersRussian ASR Leaderboard (ESpeech; benchmark by Nikolay Shmyrev)+7
63Fun-ASR-MLT-Nano-2512 · q8_0-gguf (transcribe.cpp) Alibaba (FunAudioLLM)57±4local~0.9GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
64Parakeet TDT 0.6B v3 · bf16 NVIDIA57±1local~2GB~95×how to run › NVIDIA ASR model cards (Parakeet / Canary, Hugging Face)Open ASR LeaderboardMoondream parakeet-ultra and parakeet-redux model cards (Benchmarks sections)transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsCanary-1B-v2 & Parakeet-TDT-0.6B-v3: Efficient and High-Performance Models for Multilingual ASR and AST (NVIDIA, arXiv:2509.14128v2)Russian STT benchmark by domain+11
70Orukeet · q8_0-gguf (transcribe.cpp) Oruk AI57±4*local~0.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
71Parakeet Redux · ternary 1.58-bit (Photon) Moondream57±3local~0.2GBhow to run › Moondream parakeet-ultra and parakeet-redux model cards (Benchmarks sections)Phonon-2 model card
73Phonon-2 · 2-bit Fermion Research56±7*†local~0.7GBhow to run › Phonon-2 model card
74Parakeet TDT-CTC 1.1B · q8_0-gguf (transcribe.cpp) NVIDIA56±4*local~1.3GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
78Distil-Whisper distil-large-v3 · fp16 Hugging Face (Distil-Whisper)56±2local~2.3GBhow to run › distil-whisper/distil-large-v3.5 model cardOpen ASR Leaderboardhuggingface/distil-whisper README (Distil-Whisper headline WER table)
81Fun-ASR-Nano-2512 · q8_0-gguf (transcribe.cpp) Alibaba (FunAudioLLM)55±3local~0.9GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsmicrosoft/VibeVoice-ASR-BitNet model card (Accuracy table)
90Breeze ASR 25 · q8_0-gguf (transcribe.cpp) MediaTek Research54±4local~1.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
94MOSS-Transcribe-Diarize 0.9B · q8_0-gguf (transcribe.cpp) OpenMOSS54±4local~1GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
99Parakeet primeline (German) · q8_0-gguf (transcribe.cpp) primeLine52±4*local~0.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
110Moonshine Streaming Medium · fp32 Useful Sensors (Moonshine AI)50±3local~1.8GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOpen ASR LeaderboardPicovoice speech-to-text-benchmark · English batch-engine WER (README)
111VibeVoice-ASR-BitNet · I8_S VAE + I2_S LM (Q6_K embeddings) GGUF, VibeASR.cpp Microsoft50±4†local~1.7GBhow to run › microsoft/VibeVoice-ASR-BitNet model card (Accuracy table)
117Multitalker Parakeet Streaming 0.6B v1 · q8_0-gguf (transcribe.cpp) NVIDIA50±4*local~0.9GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
121Nemotron Speech Streaming EN 0.6B · q8_0-gguf (transcribe.cpp) NVIDIA49±4*local~0.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
123Whisper medium.en · fp16 OpenAI48±3local~2.4GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOpen ASR LeaderboardPicovoice speech-to-text-benchmark · English batch-engine WER (README)AfriSpeech-200 (arXiv:2310.00274v1) · zero-shot WER of open ASR models on African-accented EnglishSpeech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR models
124Distil-Whisper distil-large-v2 · fp16 Hugging Face (Distil-Whisper)48±2local~2.3GBhow to run › distil-whisper/distil-large-v3.5 model cardOpen ASR Leaderboardhuggingface/distil-whisper README (Distil-Whisper headline WER table)
125Distil-Whisper distil-small.en · fp16 Hugging Face (Distil-Whisper)48±4*local~0.9GBhow to run › Open ASR Leaderboardhuggingface/distil-whisper README (Distil-Whisper headline WER table)
129GigaAM Multilingual Large (CTC 600M) · fp32 (transformers remote code) Sber47±7*†local~2.3GBhow to run › ai-sage/GigaAM-Multilingual model card (Model Performance table)
131ESPnet E-Branchformer (no LM) · fp32 (espnet 202610.post2 + espnet_model_zoo 0.1.11) ESPnet46±4*†local~0.8GBhow to run › ESPnet LibriSpeech ASR recipe results (pinned September 2026)
132ESPnet Multiconvformer (no LM) · fp32 (espnet 202610.post2 + espnet_model_zoo 0.1.11) ESPnet46±4*†local~0.8GBhow to run › ESPnet LibriSpeech ASR recipe results (pinned September 2026)
134Moonshine Streaming Small · fp32 Useful Sensors (Moonshine AI)46±3local~1.2GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOpen ASR LeaderboardPicovoice speech-to-text-benchmark · English batch-engine WER (README)
136SenseVoice Small · q8_0-gguf (transcribe.cpp) Alibaba (FunAudioLLM)45±3local~0.3GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsmicrosoft/VibeVoice-ASR-BitNet model card (Accuracy table)
139Omnilingual ASR CTC 300M · bf16 Meta45±2local~1.3GBhow to run › Open ASR LeaderboardOmnilingual ASR: Open-Source Multilingual Speech Recognition for 1600+ Languages (arXiv:2511.09690v1)Open Universal Arabic ASR Leaderboard (Elm Research Center)
140Distil-Whisper distil-medium.en · fp16 Hugging Face (Distil-Whisper)44±3local~1.4GBhow to run › Open ASR Leaderboardhuggingface/distil-whisper README (Distil-Whisper headline WER table)
141Whisper small.en · fp32 OpenAI44±3local~1.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOpen ASR LeaderboardPicovoice speech-to-text-benchmark · English batch-engine WER (README)AfriSpeech-200 (arXiv:2310.00274v1) · zero-shot WER of open ASR models on African-accented EnglishSpeech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR models
142ESPnet Branchformer 18-layer (70 epochs, no LM) · fp32 (espnet 202610.post2 + espnet_model_zoo 0.1.11) ESPnet44±4*†local~0.7GBhow to run › ESPnet LibriSpeech ASR recipe results (pinned September 2026)
143Nemotron 3.5 ASR Streaming 0.6B · fp32 (transformers >=5.13.0) NVIDIA43±3local~2.6GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsVibeVoice-ASR-Streaming Technical Report (arXiv:2609.02812v2), Table 3 single-speaker recognitionPicovoice speech-to-text-benchmark · English batch-engine WER (README)Danish Speech-to-Text Leaderboard (RyeAI) · results datasetOpen Universal Arabic ASR Leaderboard (Elm Research Center)
144Whisper medium · fp16 OpenAI43±2local~2.3GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsESPnet LibriSpeech ASR recipe results (pinned September 2026)Omnilingual ASR: Open-Source Multilingual Speech Recognition for 1600+ Languages (arXiv:2511.09690v1)LiteASR (arXiv:2502.20583v2) · ESB WER of Whisper and LiteASR-compressed encodersPESTE · Persian Speech to Text benchmark (fleurs-fa-ir-v1)German dialect ASR Benchmark (Betthupferl; kamaal-08/bavarian-asr-leaderboard)+4
145Omnilingual ASR CTC 300M v2 · bf16 Meta43±3*local~1.3GBhow to run › Open ASR Leaderboard
147ESPnet Conformer 2020 + RNN LM · fp32 (espnet 202610.post2 + espnet_model_zoo 0.1.11) ESPnet43±4*†local~1GBhow to run › ESPnet LibriSpeech ASR recipe results (pinned September 2026)
149GigaAM Multilingual (CTC 220M) · fp32 (transformers remote code) Sber42±7*†local~0.9GBhow to run › ai-sage/GigaAM-Multilingual model card (Model Performance table)
150ESPnet Transformer 18-layer + RNN LM · fp32 (espnet 202610.post2 + espnet_model_zoo 0.1.11) ESPnet41±4*†local~1GBhow to run › ESPnet LibriSpeech ASR recipe results (pinned September 2026)
151ABR asr-19m-v2-en · fp32 TorchScript (transformers remote code @ dab6545) Applied Brain Research41±5*local~0.1GBhow to run › Open ASR Leaderboard
156Whisper small · fp32 OpenAI39±2local~1.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOmnilingual ASR: Open-Source Multilingual Speech Recognition for 1600+ Languages (arXiv:2511.09690v1)verliapp/stt-benchmark · independent STT accuracy benchmarkPESTE · Persian Speech to Text benchmark (fleurs-fa-ir-v1)Open ASR Leaderboard – Chilean Spanish (idsudd / Alonso Astroza)German dialect ASR Benchmark (Betthupferl; kamaal-08/bavarian-asr-leaderboard)+5
157Moonshine Base · fp32 Useful Sensors (Moonshine AI)38±3local~0.8GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOpen ASR Leaderboard
158Whisper base.en · fp32 OpenAI35±3local~0.9GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOpen ASR LeaderboardPicovoice speech-to-text-benchmark · English batch-engine WER (README)Speech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR models
159SpeechBrain wav2vec2 CTC (LibriSpeech) · fp32 SpeechBrain35±4local~2GBhow to run › Open ASR LeaderboardSpeechBrain Hugging Face ASR model cards: published LibriSpeech/VoxPopuli WER for its own checkpoints
160Vosk small en-us 0.15 · kaldi Alpha Cephei (Vosk)31±6local~0.3GBhow to run › Picovoice speech-to-text-benchmark · English batch-engine WER (README)Alpha Cephei Vosk models page (vendor-reported WER for its own Vosk models)
161Moonshine Tiny · fp32 Useful Sensors (Moonshine AI)29±3local~0.6GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOpen ASR Leaderboard
162Moonshine Streaming Tiny · fp32 Useful Sensors (Moonshine AI)28±3local~0.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOpen ASR LeaderboardPicovoice speech-to-text-benchmark · English batch-engine WER (README)
163Whisper tiny.en · fp32 OpenAI27±3local~0.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsOpen ASR LeaderboardPicovoice speech-to-text-benchmark · English batch-engine WER (README)Speech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR models
165Whisper base · fp32 OpenAI25±3local~0.9GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsPESTE · Persian Speech to Text benchmark (fleurs-fa-ir-v1)German dialect ASR Benchmark (Betthupferl; kamaal-08/bavarian-asr-leaderboard)Danish Speech-to-Text Leaderboard (RyeAI) · results datasetTurkish ASR Leaderboard (TurkASR-Bench, yagmurtuncer)Speech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR models
166wav2vec 2.0 Large 960h LV-60 self-training · fp32 Meta16±3local~2GBhow to run › Meta (facebook org) Hugging Face ASR model cards: published LibriSpeech WER for its own checkpointsOpen ASR LeaderboardAfriSpeech-200 (arXiv:2310.00274v1) · zero-shot WER of open ASR models on African-accented EnglishSpeech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR models
168HuBERT Large (LibriSpeech 960h ft) · fp32 Meta15±4local~2GBhow to run › Open ASR LeaderboardMeta (facebook org) Hugging Face ASR model cards: published LibriSpeech WER for its own checkpointsSpeech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR models
169wav2vec 2.0 Large Robust (LibriSpeech 960h ft) · fp32 Meta15±5local~2GBhow to run › Open ASR LeaderboardSpeech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR modelsDysarthric ASR with clinical context on the Speech Accessibility Project (arXiv:2605.02782v2)
170Whisper tiny · fp32 OpenAI14±3local~0.7GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision portsPESTE · Persian Speech to Text benchmark (fleurs-fa-ir-v1)German dialect ASR Benchmark (Betthupferl; kamaal-08/bavarian-asr-leaderboard)Danish Speech-to-Text Leaderboard (RyeAI) · results datasetTurkish ASR Leaderboard (TurkASR-Bench, yagmurtuncer)Speech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR models
173data2vec Audio Large 960h · fp32 Meta13±4local~2GBhow to run › Meta (facebook org) Hugging Face ASR model cards: published LibriSpeech WER for its own checkpointsOpen ASR Leaderboard
174wav2vec 2.0 Large 960h · fp32 Meta7±3local~2GBhow to run › Meta (facebook org) Hugging Face ASR model cards: published LibriSpeech WER for its own checkpointsOpen ASR LeaderboardAfriSpeech-200 (arXiv:2310.00274v1) · zero-shot WER of open ASR models on African-accented EnglishSpeech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR modelsDysarthric ASR with clinical context on the Speech Accessibility Project (arXiv:2605.02782v2)
175data2vec Audio Base 960h · fp32 Meta4±4local~1GBhow to run › Meta (facebook org) Hugging Face ASR model cards: published LibriSpeech WER for its own checkpointsOpen ASR Leaderboard
176wav2vec 2.0 Base 960h · fp32 Meta2±4local~1GBhow to run › Meta (facebook org) Hugging Face ASR model cards: published LibriSpeech WER for its own checkpointsOpen ASR LeaderboardSpeech Robust Bench (arXiv:2403.07937v3) · clean-speech WER of 25+ open ASR models
178MedASR · q8_0-gguf (transcribe.cpp) Google-14±4*local~0.1GBhow to run › transcribe.cpp model catalog · LibriSpeech test-clean WER of validated full-precision ports
—AuroraASR-1M · fp32 AuroraAI Researchnot scored yetlocal~0.5GBhow to run ›

+ 126 more don't fit your machine or budget · show them

187 of 187 catalogue models listed here · sources and licences

* new or thinly tested: ranked on too few benchmark results · † only the maker’s own numbers so far · ~RAM is estimated; full context may need more memory