Whisper lokaal op een Mac: wat je nodig hebt, wat het kost en hoe je het draait

Lokaal Whisper betekent het spraakmodel Whisper van OpenAI draaien op je eigen Mac, zodat je audio op de machine tekst wordt in plaats van op een server ergens anders. Op een Mac is de engine die je moet kennen whisper.cpp, dat Apple chips als eersteklas behandelt, en de keuze die telt is het modelbestand: grotere modellen horen beter en nemen meer schijfruimte en geheugen in beslag.

Ik leg uit hoe de onderdelen samenwerken, wat elke modelgrootte kost volgens de eigen cijfers van whisper.cpp, de commando's om het zelf te draaien en waar YapToText past. Ik heb YapToText gemaakt, een gratis app die whisper.cpp draait met het standaardbestand Whisper Large v3 Turbo (Q5), dus weeg dat deel met dat in gedachten. Wil je alleen weten of er een Whisper-app voor de Mac is, dan geeft de pagina over Whisper-apps voor de Mac het antwoord.

Download YapToText in de Mac App StoreGratis te downloaden. Geen account, niets op slot, voor macOS 14 of nieuwer op een Mac met Apple chip. Broncode op GitHub.

Op deze pagina: 12 onderdelen
  1. Stappen
  2. Ken de drie onderdelen van lokaal Whisper
  3. Kies een model op schijfruimte en geheugen
  4. Draai Whisper zelf met whisper.cpp
    1. Stap 1: Haal de code en een model op
    2. Stap 2: Bouw het en transcribeer het voorbeeld
    3. Stap 3: Zet je eigen audio eerst om
    4. Of gebruik het Python-pakket van OpenAI
  5. Gebruik hetzelfde model in YapToText zonder Terminal
  6. Als lokaal Whisper traag is of je verkeerd verstaat
  7. Wat lokaal Whisper niet verandert
  8. Kort samengevat
  9. Handleidingen
  10. Meer handleidingen, in het Engels
  11. Bronnen
  12. Vragen

Stappen

  1. Kloon de repository whisper.cpp van GitHub en open de map in Terminal.
  2. Download een model met het script download-ggml-model.sh van het project, zoals large-v3-turbo-q5_0.
  3. Bouw het project met CMake, met de twee cmake-commando's uit de README.
  4. Zet je opname om in een 16-bits WAV-bestand, bijvoorbeeld met ffmpeg.
  5. Draai whisper-cli met je modelbestand en je WAV-bestand en lees het transcript in Terminal.

Ken de drie onderdelen van lokaal Whisper

Lokaal Whisper heeft drie onderdelen, en alle drie staan op je Mac. Het model is een bestand, de engine draait het en je audio hoeft de machine nooit te verlaten.

  • Het model. Whisper is het spraakherkenningsmodel van OpenAI, en OpenAI heeft de code en de modelgewichten uitgebracht onder de MIT-licentie. Je downloadt een modelbestand één keer en dat bestand doet het luisteren.
  • De engine. whisper.cpp is een eenvoudige implementatie van Whisper in C en C++, ook onder de MIT-licentie. De README noemt Apple chips een eersteklas burger, geoptimaliseerd via ARM NEON, Accelerate, Metal en Core ML, en zegt dat de inferentie op Apple chips volledig op de GPU draait via Metal. Het eigen pakket van OpenAI draait Whisper in plaats daarvan vanuit Python.
  • Je audio. Een opname of je microfoon gaat erin en tekst komt eruit. Internet is alleen nodig om het modelbestand in de eerste plaats te downloaden.

Dat is wat het onderscheidt van een clouddienst: er wordt niets geüpload om te worden getranscribeerd. Het betekent ook dat je Mac het werk doet, dus het model dat je kiest bepaalt hoeveel geheugen en schijfruimte dat werk kost.

Poster voor de App Store met de kop Nothing leaves your Mac, boven de pagina AI Models van YapToText, met beide modellen gemarkeerd als Included.
Figuur 1. Het model en de engine op één regel in YapToText: Whisper Large v3 Turbo (Q5), van OpenAI, gedraaid door whisper.cpp, 574 MB en gemarkeerd als Included.

Kies een model op schijfruimte en geheugen

whisper.cpp publiceert wat elk model op schijf en in het geheugen inneemt, en OpenAI publiceert hoeveel parameters elk model heeft. Turbo is de snellere versie van large-v3 van OpenAI, en het 5-bitsbestand neemt ongeveer een vijfde van de schijfruimte van large in.

Gecontroleerd op 3 oktober 2026, in de README en de modellijst van whisper.cpp en in de Whisper-README van OpenAI.

ModelParameters (OpenAI)Bestand op schijf (whisper.cpp)Geheugen (whisper.cpp)
tiny39 M75 MiBOngeveer 273 MB
base74 M142 MiBOngeveer 388 MB
small244 M466 MiBOngeveer 852 MB
medium769 M1,5 GiBOngeveer 2,1 GB
large (v1, v2 of v3)1550 M2,9 GiBOngeveer 3,9 GB
large-v3, 5-bits (q5_0)Gekwantiseerd large-v31,1 GiBNiet vermeld
large-v3-turbo809 M1,5 GiBNiet vermeld
large-v3-turbo, 5-bits (q5_0)Gekwantiseerd turbo547 MiBNiet vermeld

MiB en GiB tellen in stappen van 1.024, dus het turbobestand van 547 MiB in de lijst van whisper.cpp is hetzelfde bestand dat YapToText toont als 574 MB. Zo kunnen twee eerlijke pagina's één bestand als 547 en als 574 noemen en allebei gelijk hebben. De geheugentabel van whisper.cpp behandelt de vijf oorspronkelijke groottes en geeft geen cijfer voor turbo of voor de gekwantiseerde bestanden.

De pagina AI Models in YapToText: Whisper Large v3 Turbo (Q5) en Phi-3.5 Mini Instruct gemarkeerd als Included, met de modelbibliotheek eronder.
Figuur 2. YapToText toont groottes in MB, daarom staat het turbobestand dat whisper.cpp als 547 MiB noemt hier als 574 MB, met de andere Whisper-modellen eronder.

Nog een paar opmerkingen uit de twee projecten:

  • Modellen alleen voor Engels. tiny, base, small en medium bestaan ook als .en-bestanden van dezelfde grootte die alleen Engels verstaan. OpenAI zegt dat ze voor Engels meestal beter presteren, vooral tiny.en en base.en, en dat het verschil kleiner wordt bij small.en en medium.en.
  • Gekwantiseerde modellen. Bestanden die eindigen op q5_0 zijn gekwantiseerd. whisper.cpp zegt dat gekwantiseerde modellen minder geheugen en schijfruimte nodig hebben en, afhankelijk van de hardware, efficiënter kunnen worden verwerkt.
  • Turbo. OpenAI noemt het een geoptimaliseerde versie van large-v3 met snellere transcriptie en een minimaal verlies aan nauwkeurigheid, en geeft het ongeveer 8 keer de snelheid van large. Die verhouding is gemeten op een A100 en niet op een Mac, en OpenAI zegt dat turbo niet is getraind voor vertaling.
  • Talen. OpenAI zegt dat de prestaties van Whisper sterk verschillen per taal.
  • De geheugenkolom van OpenAI. De README van OpenAI noemt in plaats daarvan het benodigde VRAM voor het Python-pakket: ongeveer 1 GB voor tiny en base, ongeveer 6 GB voor turbo en ongeveer 10 GB voor large. Dat zijn geen cijfers van whisper.cpp.

Ik koos het 5-bits turbobestand voor YapToText omdat het bij mijn eigen dictaten bijna precies hoorde wat het volledige model hoorde, met een derde van het geheugen. Dat zijn de dictaten van één persoon en geen benchmark, dus probeer twee groottes op je eigen stem voordat je kiest.

Draai Whisper zelf met whisper.cpp

whisper.cpp zelf draaien vraagt Terminal en de twee tools die de commando's in de README veronderstellen, Git en CMake. Dit zijn de eigen commando's uit de README, met het model vervangen door het 5-bits turbobestand. Je krijgt een transcript van een audiobestand in Terminal, niet woorden die in je apps worden getypt.

Stap 1: Haal de code en een model op

Terminal: Kloon whisper.cpp en download het 5-bits turbomodel.

git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
sh ./models/download-ggml-model.sh large-v3-turbo-q5_0

Wat er gebeurt: Het project komt in een map whisper.cpp te staan, en het script downloadt ggml-large-v3-turbo-q5_0.bin van Hugging Face naar de map models. Vervang het door base.en of small voor een kleinere download.

Stap 2: Bouw het en transcribeer het voorbeeld

Terminal: Bouw whisper-cli en draai het daarna op de voorbeeldopname die bij het project zit.

cmake -B build
cmake --build build -j --config Release
./build/bin/whisper-cli -m models/ggml-large-v3-turbo-q5_0.bin -f samples/jfk.wav

Wat er gebeurt: CMake bouwt het project, en whisper-cli transcribeert het voorbeeld met het model dat je downloadde en toont de tekst in Terminal.

Stap 3: Zet je eigen audio eerst om

De README zegt dat whisper-cli momenteel alleen werkt met 16-bits WAV-bestanden, en geeft een ffmpeg-commando om al het andere om te zetten. ffmpeg is een aparte installatie.

Terminal: Zet een MP3 om in het WAV-formaat dat whisper-cli leest.

ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav

Wat er gebeurt: ffmpeg schrijft output.wav als 16 kHz-audio, mono en 16 bit, dat je daarna na -f aan whisper-cli geeft.

Of gebruik het Python-pakket van OpenAI

Terminal: Installeer het eigen pakket van OpenAI, als je liever in Python werkt.

pip install -U openai-whisper

Wat er gebeurt: pip installeert het commando whisper. De README van OpenAI zegt dat de code naar verwachting werkt met Python 3.8 tot 3.11, dat ffmpeg nodig is en dat het standaardmodel turbo is.

Voor live spraak bevat whisper.cpp whisper-stream, dat je microfoon elke halve seconde bemonstert en doorlopend transcribeert. Het heeft SDL2 nodig en de README noemt het een naïef voorbeeld. De woorden in Mail, Slack of je editor krijgen is het deel dat een app toevoegt.

Gebruik hetzelfde model in YapToText zonder Terminal

YapToText draait dezelfde engine en hetzelfde bestand zonder Terminal-venster: een kopie van whisper.cpp ingebouwd in de app met Metal en Accelerate, en ggml-large-v3-turbo-q5_0.bin in de download uit de App Store. De SHA-256 komt overeen met het bestand op Hugging Face, dus het is het standaardmodel en geen aangepast of opnieuw getraind model. Ik heb de app gemaakt omdat typen met mijn handen moeilijk is, en ik wilde dat Whisper in elke app typt in plaats van in een Terminal-venster af te drukken. Het is het bestand dat het script downloadt. Wat verandert is alles eromheen.

Poster voor de App Store met de kop Yap it. Bam. It's typed. boven het Home-venster van YapToText en de drie indelingen van het zwevende paneel.
Figuur 3. Hetzelfde Whisper-bestand zonder Terminal: de woorden vormen zich in het zwevende paneel terwijl je praat en komen bij je cursor terecht in de app die vooraan staat.

Dit voegt de app toe rondom het model:

  • Geheugen dat het teruggeeft. Op de pagina Energy bepaalt Keep models in memory hoe lang een model geladen blijft na een dictaat: standaard 2 minuten na gebruik, met keuzes van Only while dictating tot Until quit. Sneller uit het geheugen halen bespaart energie en geheugen, en het volgende dictaat na het uitladen duurt een paar seconden langer.
  • Ruimte voor macOS. Raakt macOS geheugen tekort, dan laat YapToText de geladen modellen meteen vallen en wacht het vijf minuten voordat het ze weer opwarmt.
  • Een lichter model op batterij. Switch models with the power source, standaard uit, geeft het dictaatmodel en het opschoonmodel elk een keuze voor aan het stopcontact en een voor op batterij.
  • Je eigen bestand. Onder Your own models op de pagina AI Models neemt Add Model elk whisper.cpp GGML-.bin-bestand aan, dus een model dat je met het script downloadde werkt ook. De app leest het bestand om te zien wat het is en wijst al het andere af.
  • De cijfers van je Mac. De kaart This Mac op de pagina Energy toont je chip en geheugen, en dat is het getal om naast de tabel hierboven te leggen.

De Dictation Model Library op de pagina AI Models heeft nog tien Whisper-modellen, van Tiny tot Large v3, elk met de grootte die de app toont. De gids over AI-modellen noemt ze, en de gids over energie legt de geheugeninstellingen uit. De download uit de App Store is ongeveer 2,9 GB omdat beide modellen van de app erin zitten. De Homebrew-versie is ongeveer 12 MB en heeft een download van een spraakmodel nodig voor het eerste dictaat.

Als lokaal Whisper traag is of je verkeerd verstaat

Begin met de goedkope oplossingen voordat je een groter model downloadt. Herstel de microfoon en de woorden voordat je het model verandert.

  1. Wacht de eerste keer af. Een model moet laden voordat het kan transcriberen. In YapToText duurt het eerste dictaat na het starten even. Heb je whisper.cpp met Core ML gebouwd, dan zegt de README dat de eerste keer op een apparaat traag is terwijl de service van de Neural Engine het model compileert.
  2. Stel de taal in die je spreekt. De kiezer Language op de pagina AI Models van YapToText begint met de systeemtaal van je Mac, en een taal die Whisper niet kan gebruiken valt terug op automatische detectie. De pagina over talen noemt alle 29.
  3. Herstel de microfoon. Bluetooth-microfoons hebben telefoonkwaliteit, dus de eigen microfoon van de Mac hoort beter. Kies hem in YapToText in de kiezer Input van het paneel in de menubalk.
  4. Leer het je woorden. De pagina Dictionaries van YapToText prepareert Whisper met je namen en termen, en herstelt niet alleen wat het typt. De gids over woordenlijsten laat zien hoe.
  5. Gebruik een model alleen voor Engels bij Engels. Is het geheugen krap en spreek je alleen Engels, dan zegt OpenAI dat de .en-versies meestal beter presteren, vooral bij tiny en base.
  6. Verander de modelgrootte. Ga groter als het verkeerd verstaat en je geheugen het toelaat, of kleiner als het traag is. In YapToText laten de sterbeoordelingen op de pagina AI Models de afweging zien, en elk dictaat in History toont zijn eigen tijd van stoppen tot tekst.
Een item in History van YapToText met geopende pipelinegegevens: ruw transcript, opgeschoond transcript, modus, aflevering, doelapp en tijden.
Figuur 4. Elk dictaat in History heeft zijn eigen tijden: hoe lang je sprak, en de tijd van stoppen tot tekst verdeeld in transcriptie, AI-opschoning en aflevering.

Wat lokaal Whisper niet verandert

Whisper lokaal draaien verplaatst het werk naar je Mac, en dat is alles wat het verplaatst. Lokaal verandert waar je stem heen gaat, niet hoe goed die wordt verstaan.

  • Fouten. Het model bepaalt hoe goed het verstaat, waar het ook draait, dus een naam die het verkeerd hoort vraagt een item in de woordenlijst of een betere microfoon, geen andere plek.
  • Vertalen. OpenAI zegt dat turbo niet is getraind voor vertaling, en YapToText vraagt Whisper alleen te transcriberen en nooit te vertalen.
  • Eén download. Een lokaal model moet nog steeds één keer binnenkomen. Het script van whisper.cpp haalt het op bij Hugging Face, de versie van YapToText uit de App Store heeft het erin en de Homebrew-versie haalt het op via de pagina AI Models.
  • Macs met Intel. whisper.cpp noemt Macs met Intel en Arm als ondersteund. YapToText heeft een Apple chip en macOS 14 of nieuwer nodig, en voor Macs met Intel wordt niets beweerd.
  • Cijfers over nauwkeurigheid. Ik publiceer geen percentages voor nauwkeurigheid van welk model dan ook. De sterren en je eigen History zijn de gids.

Om te bewijzen dat een opzet echt lokaal is, heeft de pagina over offline dicteren een test van een minuut: zet wifi uit en dicteer.

Kort samengevat

  • Lokaal Whisper. Het is een modelbestand en een engine op je Mac, waarbij niets wordt geüpload.
  • Het model. Het 5-bits turbobestand, 547 MiB in de lijst van whisper.cpp, is het bestand dat YapToText meelevert.
  • Doe het zelf. Kloon whisper.cpp, download een model, bouw met CMake en draai whisper-cli op een 16-bits WAV-bestand.
  • Of sla Terminal over. YapToText draait hetzelfde bestand en typt in elke app, gratis.

Kies het model op het geheugen van je Mac en daarna op je eigen stem. Klopt iets hier niet met wat je ziet, open dan een issue op GitHub. Ik lees ze allemaal.

Download YapToText in de Mac App StoreGratis te downloaden. Geen account, niets op slot, voor macOS 14 of nieuwer op een Mac met Apple chip. Broncode op GitHub.

Wie dit schrijft. Ryleigh Newman ontwikkelt software, kan moeilijk typen en dicteert elke dag met YapToText, de app die deze site beschrijft. Deze pagina is vertaald uit het Engels. De interface van de app en de rest van de site zijn in het Engels. Meer over het project, in het Engels.

Handleidingen

Meer handleidingen, in het Engels

Bronnen

Vragen

Hoe draai ik Whisper lokaal op een Mac?

Gebruik whisper.cpp: kloon de repository, download een model met het script download-ggml-model.sh, bouw het met CMake en draai whisper-cli op een 16-bits WAV-bestand. Of installeer een app die het bevat, zoals YapToText, dat Whisper Large v3 Turbo draait zonder opzet.

Hoeveel geheugen heeft Whisper nodig?

Dat hangt af van het model. whisper.cpp noemt ongeveer 273 MB voor tiny, 852 MB voor small, 2,1 GB voor medium en 3,9 GB voor large, en zegt dat gekwantiseerde modellen minder nodig hebben. Voor turbo geeft het geen geheugencijfer.

Wat is het beste lokale Whisper-model?

Large v3 Turbo is waar ik zou beginnen, en het 5-bits bestand is het bestand dat YapToText meelevert: 547 MiB in de lijst van whisper.cpp. Is het geheugen krap, dan gebruiken small of base veel minder, en OpenAI zegt dat de versies alleen voor Engels bij de kleinste groottes meestal beter presteren voor Engels.

Hoe groot is het model Whisper Large v3 Turbo?

1,5 GiB in de modellijst van whisper.cpp, of 547 MiB als het 5-bits q5_0-bestand, wat 574 MB is in decimale eenheden. OpenAI noemt voor turbo 809 miljoen parameters.

Heeft lokaal Whisper internet nodig?

Alleen om het model één keer te downloaden. Daarna transcriberen whisper.cpp en YapToText zonder verbinding, en de versie van YapToText uit de App Store bevat het model al, dus die slaat zelfs die download over.

Kan ik een whisper.cpp-model gebruiken in YapToText?

Ja. Onder Your own models op de pagina AI Models neemt Add Model elk whisper.cpp GGML-.bin-bestand aan, en de app ziet aan het bestand zelf wat het is.