Lokal Whisper på en Mac: hvad den kræver, hvad den koster, og hvordan du kører den

Lokal Whisper betyder, at du kører OpenAI's talemodel Whisper på din egen Mac, så din lyd bliver til tekst på maskinen i stedet for på en server et sted. På en Mac er motoren, du skal kende, whisper.cpp, som behandler Apple-chip som en førsteklasses platform, og det valg, der betyder noget, er modelfilen: større modeller hører bedre og fylder mere på disken og i hukommelsen.

Jeg gennemgår, hvordan delene hænger sammen, hvad hver modelstørrelse koster ifølge whisper.cpp's egne tal, kommandoerne til at køre den selv og hvor YapToText passer ind. Jeg har lavet YapToText, en gratis app, der kører whisper.cpp med standardfilen Whisper Large v3 Turbo (Q5), så vej den del med det in mente. Vil du bare vide, om der findes en Whisper-app til Mac, svarer siden om Whisper-appen til Mac på det.

Hent YapToText i Mac App StoreGratis at hente. Ingen konto og ingen låste funktioner, til macOS 14 eller nyere på en Mac med Apple-chip. Kildekode på GitHub.

På denne side: 12 afsnit
  1. Trin
  2. Kend de tre dele af lokal Whisper
  3. Vælg en model efter diskplads og hukommelse
  4. Kør Whisper selv med whisper.cpp
    1. Trin 1: Hent koden og en model
    2. Trin 2: Byg den, og transskriber prøven
    3. Trin 3: Konvertér din egen lyd først
    4. Eller brug OpenAI's Python-pakke
  5. Brug den samme model i YapToText uden Terminal
  6. Hvis lokal Whisper er langsom eller hører forkert
  7. Hvad lokal Whisper ikke ændrer
  8. Kort fortalt
  9. Vejledninger
  10. Flere vejledninger, på engelsk
  11. Kilder
  12. Spørgsmål

Trin

  1. Klon repositoriet whisper.cpp fra GitHub, og åbn dets mappe i Terminal.
  2. Hent en model med projektets script download-ggml-model.sh, for eksempel large-v3-turbo-q5_0.
  3. Byg projektet med CMake ved hjælp af de to cmake-kommandoer fra dets README.
  4. Konvertér din optagelse til en 16-bit WAV-fil, for eksempel med ffmpeg.
  5. Kør whisper-cli med din modelfil og din WAV-fil, og læs transskriptionen i Terminal.

Kend de tre dele af lokal Whisper

Lokal Whisper har tre dele, og alle tre ligger på din Mac. Modellen er en fil, motoren kører den, og din lyd behøver aldrig forlade maskinen.

  • Modellen. Whisper er OpenAI's model til talegenkendelse, og OpenAI udgav kode og modelvægte under MIT-licensen. Du henter en modelfil én gang, og den fil står for lytningen.
  • Motoren. whisper.cpp er en ren implementering af Whisper i C og C++, også under MIT-licensen. Dens README kalder Apple-chip en førsteklasses platform, optimeret gennem ARM NEON, Accelerate, Metal og Core ML, og siger, at inferensen på Apple-chip kører helt på GPU'en gennem Metal. OpenAI's egen pakke kører i stedet Whisper fra Python.
  • Din lyd. En optagelse eller din mikrofon går ind, og tekst kommer ud. Internettet skal kun bruges til at hente modelfilen i første omgang.

Det er det, der adskiller den fra en tjeneste i skyen: intet uploades for at blive transskriberet. Det betyder også, at din Mac gør arbejdet, så den model, du vælger, afgør, hvor meget hukommelse og diskplads arbejdet kræver.

Plakat til App Store med overskriften »Nothing leaves your Mac« over YapToTexts side AI Models, hvor begge modeller er markeret Included.
Figur 1. Modellen og motoren på én linje i YapToText: Whisper Large v3 Turbo (Q5), fra OpenAI, kørt af whisper.cpp, 574 MB og markeret Included.

Vælg en model efter diskplads og hukommelse

whisper.cpp offentliggør, hvad hver model fylder på disken og i hukommelsen, og OpenAI offentliggør, hvor mange parametre hver af dem har. Turbo er OpenAI's hurtigere version af large-v3, og dens 5-bit-fil fylder omkring en femtedel af large på disken.

Tjekket den 3. oktober 2026 i README og modellisten til whisper.cpp og i OpenAI's README til Whisper.

ModelParametre (OpenAI)Fil på disken (whisper.cpp)Hukommelse (whisper.cpp)
tiny39 M75 MiBOmkring 273 MB
base74 M142 MiBOmkring 388 MB
small244 M466 MiBOmkring 852 MB
medium769 M1,5 GiBOmkring 2,1 GB
large (v1, v2 eller v3)1550 M2,9 GiBOmkring 3,9 GB
large-v3, 5-bit (q5_0)Kvantiseret large-v31,1 GiBIkke opført
large-v3-turbo809 M1,5 GiBIkke opført
large-v3-turbo, 5-bit (q5_0)Kvantiseret turbo547 MiBIkke opført

MiB og GiB tæller i trin på 1.024, så turbofilen på 547 MiB i whisper.cpp's liste er den samme fil, som YapToText viser som 574 MB. Sådan kan to ærlige sider opføre den samme fil som 547 og 574, og begge have ret. whisper.cpp's hukommelsestabel dækker de fem oprindelige størrelser og giver intet tal for turbo eller for de kvantiserede filer.

Siden AI Models i YapToText: Whisper Large v3 Turbo (Q5) og Phi-3.5 Mini Instruct markeret Included, modelbiblioteket nedenunder.
Figur 2. YapToText viser størrelser i MB, og derfor står den turbofil, som whisper.cpp opfører som 547 MiB, som 574 MB her, med de andre Whisper-modeller opført nedenunder.

Nogle flere noter fra de to projekter:

  • Modeller kun til engelsk. tiny, base, small og medium findes også som .en-filer af samme størrelse, der kun hører engelsk. OpenAI siger, at de har tendens til at klare sig bedre på engelsk, især tiny.en og base.en, og at forskellen bliver mindre for small.en og medium.en.
  • Kvantiserede modeller. Filer, der ender på q5_0, er kvantiserede. whisper.cpp siger, at kvantiserede modeller kræver mindre hukommelse og diskplads og, afhængigt af hardwaren, kan behandles mere effektivt.
  • Turbo. OpenAI kalder den en optimeret version af large-v3 med hurtigere transskription og en minimal forringelse af nøjagtigheden, og vurderer den til omkring 8 gange hastigheden af large. Det forhold blev målt på en A100, ikke på en Mac, og OpenAI siger, at turbo ikke er trænet til oversættelse.
  • Sprog. OpenAI siger, at Whispers ydeevne varierer meget afhængigt af sproget.
  • OpenAI's hukommelseskolonne. OpenAI's README opfører i stedet den nødvendige VRAM for dens Python-pakke: omkring 1 GB for tiny og base, omkring 6 GB for turbo og omkring 10 GB for large. Det er ikke tal fra whisper.cpp.

Jeg valgte 5-bit-turbofilen til YapToText, fordi den på mine egne dikteringer hørte næsten præcis det, den fulde model hørte, med en tredjedel af hukommelsen. Det er ét menneskes dikteringer, ikke en benchmark, så prøv to størrelser på din egen stemme, før du beslutter dig.

Kør Whisper selv med whisper.cpp

At køre whisper.cpp selv kræver Terminal og de to værktøjer, som kommandoerne i dens README forudsætter, Git og CMake. Det er README'ens egne kommandoer, med modellen byttet ud med 5-bit-turbofilen. Det, du får, er en transskription af en lydfil i Terminal, ikke ord skrevet ind i dine apps.

Trin 1: Hent koden og en model

Terminal: Klon whisper.cpp, og hent 5-bit-turbomodellen.

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

Hvad der sker: Projektet havner i en mappe med navnet whisper.cpp, og scriptet henter ggml-large-v3-turbo-q5_0.bin fra Hugging Face ind i dens mappe models. Byt base.en eller small ind for en mindre overførsel.

Trin 2: Byg den, og transskriber prøven

Terminal: Byg whisper-cli, og kør den derefter på den prøveoptagelse, der følger med projektet.

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

Hvad der sker: CMake bygger projektet, og whisper-cli transskriberer prøven med den model, du hentede, og skriver teksten i Terminal.

Trin 3: Konvertér din egen lyd først

README'en siger, at whisper-cli i øjeblikket kun kører med 16-bit WAV-filer, og den giver en ffmpeg-kommando til at konvertere alt andet. ffmpeg er en separat installation.

Terminal: Gør en MP3 til det WAV-format, som whisper-cli læser.

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

Hvad der sker: ffmpeg skriver output.wav som 16 kHz, mono, 16-bit lyd, som du derefter giver til whisper-cli efter -f.

Eller brug OpenAI's Python-pakke

Terminal: Installér OpenAI's egen pakke, hvis du hellere vil arbejde i Python.

pip install -U openai-whisper

Hvad der sker: pip installerer kommandoen whisper. OpenAI's README siger, at koden forventes at virke med Python 3.8 til 3.11, at den kræver ffmpeg, og at dens standardmodel er turbo.

Til live tale har whisper.cpp whisper-stream, som tager prøver fra din mikrofon hvert halve sekund og transskriberer løbende. Den kræver SDL2, og README'en kalder den et naivt eksempel. At få ordene ind i Mail, Slack eller din editor er den del, en app tilføjer.

Brug den samme model i YapToText uden Terminal

YapToText kører den samme motor og den samme fil uden et Terminal-vindue: en kopi af whisper.cpp bygget ind i appen med Metal og Accelerate, og ggml-large-v3-turbo-q5_0.bin inde i overførslen fra App Store. Dens SHA-256 stemmer med filen på Hugging Face, så det er standardmodellen, ikke en specialtilpasset eller gentrænet en. Jeg lavede appen, fordi mine hænder gør det svært at skrive, og jeg ville have Whisper til at skrive ind i alle apps i stedet for at udskrive i et Terminal-vindue. Det er den fil, scriptet henter. Det, der ændrer sig, er alt omkring den.

Plakat til App Store med overskriften »Yap it. Bam. It's typed.« over YapToTexts hjemmevindue og de tre layouts til det svævende panel.
Figur 3. Den samme Whisper-fil uden Terminal: ordene tager form i det svævende panel, mens du taler, og lander ved din markør i den app, der er forrest.

Her er det, appen lægger omkring modellen:

  • Hukommelse, den giver tilbage. På siden Energy afgør Keep models in memory, hvor længe en model forbliver indlæst efter en diktering: som standard 2 minutes after use, med valg fra Only while dictating til Until quit. At fjerne dem tidligere sparer energi og hukommelse, og den næste diktering efter en fjernelse tager nogle ekstra sekunder.
  • Plads til macOS. Når macOS løber tør for hukommelse, dropper YapToText straks sine indlæste modeller og venter fem minutter, før den varmer dem op igen.
  • En lettere model på batteri. Switch models with the power source, som er slået fra som standard, giver dikteringsmodellen og oprydningsmodellen hver et valg, når den er tilsluttet strøm, og et, når den kører på batteri.
  • Din egen fil. Under Your own models på siden AI Models tager Add Model en hvilken som helst .bin i GGML-format til whisper.cpp, så en model, du har hentet med scriptet, virker også. Appen læser filen for at se, hvad den er, og afviser alt andet.
  • Din Macs tal. Kortet This Mac på siden Energy viser din chip og hukommelse, som er det tal, du skal holde op mod tabellen ovenfor.

Dictation Model Library på siden AI Models har ti flere Whisper-modeller, fra Tiny til Large v3, hver med den størrelse, appen viser. Vejledningen til AI-modeller opregner dem, og vejledningen til energi forklarer indstillingerne for hukommelse. Overførslen fra App Store er omkring 2,9 GB, fordi begge appens modeller ligger i den. Versionen fra Homebrew er omkring 12 MB og kræver en overførsel af en talemodel før sin første diktering.

Hvis lokal Whisper er langsom eller hører forkert

Begynd med de billige rettelser, før du henter en større model. Ret mikrofonen og ordene, før du ændrer modellen.

  1. Vent den første kørsel ud. En model skal indlæses, før den kan transskribere. I YapToText tager den første diktering efter start et øjeblik. Hvis du har bygget whisper.cpp med Core ML, siger dens README, at den første kørsel på en enhed er langsom, mens tjenesten Neural Engine kompilerer modellen.
  2. Indstil det sprog, du taler. YapToTexts vælger Language på siden AI Models starter på din Macs systemsprog, og et sprog, Whisper ikke kan bruge, falder tilbage til automatisk registrering. Siden om sprog opregner alle 29.
  3. Ret mikrofonen. Bluetooth-mikrofoner har telefonkvalitet, så Macens egen mikrofon hører bedre. I YapToText vælger du den i vælgeren Input i panelet i menulinjen.
  4. Lær den dine ord. YapToTexts side Dictionaries forbereder Whisper med dine navne og fagudtryk og retter ikke bare det, den skriver. Vejledningen til ordbøger viser hvordan.
  5. Brug en model kun til engelsk til engelsk. Hvis hukommelsen er knap, og du kun taler engelsk, siger OpenAI, at .en-versionerne har tendens til at klare sig bedre, mest ved tiny og base.
  6. Ændr modelstørrelsen. Gå større, hvis den hører forkert, og din hukommelse tillader det, eller mindre, hvis den er langsom. I YapToText viser stjernebedømmelserne på siden AI Models afvejningen, og hver diktering i History viser sin egen tid fra stop til tekst.
En post i YapToTexts History med pipelinedetaljer åbne: rå transskription, renset transskription, tilstand, aflevering, målapp og tider.
Figur 4. Hver diktering i History har sine egne tider: hvor længe du talte, og tiden fra stop til tekst delt op i transskription, AI-oprydning og aflevering.

Hvad lokal Whisper ikke ændrer

At køre Whisper lokalt flytter arbejdet over på din Mac, og det er alt, det flytter. Lokalt ændrer, hvor din stemme havner, ikke hvor godt den høres.

  • Fejl. Modellen afgør, hvor godt den hører, uanset hvor den kører, så et navn, den hører forkert, kræver en post i en ordbog eller en bedre mikrofon, ikke et andet sted.
  • Oversættelse. OpenAI siger, at turbo ikke er trænet til oversættelse, og YapToText beder kun Whisper om at transskribere, aldrig om at oversætte.
  • Én overførsel. En lokal model skal stadig ankomme én gang. whisper.cpp's script henter den fra Hugging Face, YapToTexts version fra App Store har den indbygget, og versionen fra Homebrew henter den fra siden AI Models.
  • Intel-Mac'er. whisper.cpp opfører Mac'er med Intel og Arm som understøttede. YapToText kræver Apple-chip og macOS 14 eller nyere, og der påstås intet for Intel-Mac'er.
  • Tal for nøjagtighed. Jeg offentliggør ingen procenter for nøjagtighed for nogen model. Stjernerne og din egen History er vejledningen.

For at bevise, at en opsætning virkelig er lokal, har siden om offline diktering en test på et minut: slå Wi-Fi fra, og dikter.

Kort fortalt

  • Lokal Whisper. Det er en modelfil og en motor på din Mac, uden at noget uploades.
  • Modellen. 5-bit-turbofilen, 547 MiB i whisper.cpp's liste, er den, YapToText leveres med.
  • Gør det selv. Klon whisper.cpp, hent en model, byg med CMake, og kør whisper-cli på en 16-bit WAV-fil.
  • Eller spring Terminal over. YapToText kører den samme fil og skriver ind i alle apps, gratis.

Vælg modellen efter din Macs hukommelse og derefter efter din egen stemme. Hvis noget her ikke passer med det, du ser, så opret et issue på GitHub. Jeg læser dem alle.

Hent YapToText i Mac App StoreGratis at hente. Ingen konto og ingen låste funktioner, til macOS 14 eller nyere på en Mac med Apple-chip. Kildekode på GitHub.

Hvem der skriver. Ryleigh Newman udvikler software, har svært ved at skrive på tastatur og dikterer hver dag med YapToText, den app, som dette websted handler om. Siden er oversat fra engelsk. Appens brugerflade og resten af webstedet er på engelsk. Mere om projektet, på engelsk.

Vejledninger

Flere vejledninger, på engelsk

Kilder

Spørgsmål

Hvordan kører jeg Whisper lokalt på en Mac?

Brug whisper.cpp: klon repositoriet, hent en model med dets script download-ggml-model.sh, byg den med CMake, og kør whisper-cli på en 16-bit WAV-fil. Eller installér en app, der har den indbygget, som YapToText, der kører Whisper Large v3 Turbo uden nogen opsætning.

Hvor meget hukommelse kræver Whisper?

Det afhænger af modellen. whisper.cpp opfører omkring 273 MB for tiny, 852 MB for small, 2,1 GB for medium og 3,9 GB for large og siger, at kvantiserede modeller kræver mindre. Den giver intet tal for hukommelse til turbo.

Hvad er den bedste lokale Whisper-model?

Large v3 Turbo er det sted, jeg ville begynde, og dens 5-bit-fil er den, YapToText leveres med: 547 MiB i whisper.cpp's liste. Hvis hukommelsen er knap, bruger small eller base langt mindre, og OpenAI siger, at versionerne kun til engelsk har tendens til at klare sig bedre på engelsk ved de mindste størrelser.

Hvor stor er modellen Whisper Large v3 Turbo?

1,5 GiB i whisper.cpp's modelliste, eller 547 MiB som 5-bit-filen q5_0, hvilket er 574 MB talt i decimale enheder. OpenAI opfører turbo med 809 millioner parametre.

Kræver lokal Whisper internettet?

Kun for at hente modellen én gang. Bagefter transskriberer whisper.cpp og YapToText uden forbindelse, og versionen fra App Store af YapToText følger med modellen indbygget, så den springer selv den overførsel over.

Kan jeg bruge en whisper.cpp-model i YapToText?

Ja. Under Your own models på siden AI Models tager Add Model en hvilken som helst .bin-fil i GGML-format til whisper.cpp, og appen ser selv på filen, hvad den er.