Whisper local pe un Mac: ce are nevoie, cât costă și cum îl rulați

Whisper local înseamnă rularea modelului de voce Whisper al OpenAI chiar pe Mac-ul dvs., astfel încât sunetul devine text pe aparat, nu pe un server oarecare. Pe un Mac, motorul de cunoscut este whisper.cpp, care tratează cipul Apple ca pe un cetățean de prim rang, iar decizia care contează este fișierul modelului: modelele mai mari aud mai bine și iau mai mult spațiu pe disc și mai multă memorie.

Explic cum se potrivesc piesele, cât costă fiecare dimensiune de model după cifrele proprii ale whisper.cpp, comenzile pentru a-l rula singur și unde își găsește locul YapToText. Eu am creat YapToText, o aplicație gratuită care rulează whisper.cpp cu fișierul standard Whisper Large v3 Turbo (Q5), așa că cântăriți partea aceea știind asta. Dacă vreți doar să aflați dacă există o aplicație Whisper pentru Mac, pagina aplicației Whisper pentru Mac răspunde la asta.

Descărcați YapToText din Mac App StoreDescărcare gratuită. Fără cont și fără funcții blocate, pentru macOS 14 sau ulterior pe un Mac cu cip Apple. Codul sursă pe GitHub.

Pe această pagină: 12 secțiuni
  1. Pași
  2. Cunoașteți cele trei piese ale Whisper local
  3. Alegeți un model după spațiul pe disc și memorie
  4. Rulați singur Whisper cu whisper.cpp
    1. Pasul 1: Luați codul și un model
    2. Pasul 2: Compilați-l și transcrieți exemplul
    3. Pasul 3: Convertiți mai întâi propriul sunet
    4. Sau folosiți pachetul Python al OpenAI
  5. Folosiți același model în YapToText, fără Terminal
  6. Dacă Whisper local este lent sau vă aude greșit
  7. Ce nu schimbă Whisper local
  8. Pe scurt
  9. Ghiduri
  10. Alte ghiduri, în engleză
  11. Surse
  12. Întrebări

Pași

  1. Clonați depozitul whisper.cpp de pe GitHub și deschideți folderul său în Terminal.
  2. Descărcați un model cu scriptul download-ggml-model.sh al proiectului, de exemplu large-v3-turbo-q5_0.
  3. Compilați proiectul cu CMake, folosind cele două comenzi cmake din README.
  4. Convertiți înregistrarea într-un fișier WAV pe 16 biți, de exemplu cu ffmpeg.
  5. Rulați whisper-cli cu fișierul modelului și fișierul WAV și citiți transcrierea în Terminal.

Cunoașteți cele trei piese ale Whisper local

Whisper local are trei piese, iar toate trei se află pe Mac-ul dvs. Modelul este un fișier, motorul îl rulează, iar sunetul dvs. nu trebuie niciodată să părăsească aparatul.

  • Modelul. Whisper este modelul de recunoaștere a vorbirii al OpenAI, iar OpenAI a lansat codul și ponderile modelului sub licența MIT. Descărcați o dată un fișier de model, iar acel fișier face ascultarea.
  • Motorul. whisper.cpp este o implementare simplă în C și C++ a Whisper, tot sub licența MIT. README-ul său numește cipul Apple un cetățean de prim rang, optimizat prin ARM NEON, Accelerate, Metal și Core ML, și spune că pe cip Apple inferența rulează integral pe GPU prin Metal. Pachetul propriu al OpenAI rulează în schimb Whisper din Python.
  • Sunetul dvs. Intră o înregistrare sau microfonul dvs., iar iese text. Internetul este necesar doar ca să descărcați fișierul modelului de la început.

Asta îl deosebește de un serviciu din cloud: nu se încarcă nimic pentru a fi transcris. Înseamnă și că Mac-ul dvs. face munca, așa că modelul pe care îl alegeți hotărăște cât de multă memorie și cât spațiu pe disc cere acea muncă.

Afiș pentru App Store cu titlul Nothing leaves your Mac, deasupra paginii AI Models din YapToText, cu ambele modele marcate Included.
Figura 1. Modelul și motorul pe un singur rând în YapToText: Whisper Large v3 Turbo (Q5), de la OpenAI, rulat de whisper.cpp, 574 MB și marcat Included.

Alegeți un model după spațiul pe disc și memorie

whisper.cpp publică cât ia fiecare model pe disc și în memorie, iar OpenAI publică câți parametri are fiecare. Turbo este versiunea mai rapidă a lui large-v3 de la OpenAI, iar fișierul său pe 5 biți ia cam o cincime din spațiul pe disc al lui large.

Verificat pe 3 octombrie 2026, în README-ul și lista de modele whisper.cpp și în README-ul Whisper al OpenAI.

ModelulParametri (OpenAI)Fișier pe disc (whisper.cpp)Memorie (whisper.cpp)
tiny39 M75 MiBAproximativ 273 MB
base74 M142 MiBAproximativ 388 MB
small244 M466 MiBAproximativ 852 MB
medium769 M1.5 GiBAproximativ 2.1 GB
large (v1, v2 sau v3)1550 M2.9 GiBAproximativ 3.9 GB
large-v3, 5 biți (q5_0)large-v3 cuantizat1.1 GiBNelistat
large-v3-turbo809 M1.5 GiBNelistat
large-v3-turbo, 5 biți (q5_0)turbo cuantizat547 MiBNelistat

MiB și GiB se numără în pași de 1.024, așa că fișierul turbo de 547 MiB din lista whisper.cpp este același fișier pe care YapToText îl arată ca 574 MB. Așa pot două pagini cinstite să listeze același fișier ca 547 și ca 574 și să aibă amândouă dreptate. Tabelul de memorie al whisper.cpp acoperă cele cinci dimensiuni originale și nu dă nicio cifră pentru turbo sau pentru fișierele cuantizate.

Pagina AI Models din YapToText: Whisper Large v3 Turbo (Q5) și Phi-3.5 Mini Instruct marcate Included, biblioteca de modele dedesubt.
Figura 2. YapToText arată dimensiunile în MB, de aceea fișierul turbo pe care whisper.cpp îl listează ca 547 MiB apare aici ca 574 MB, cu celelalte modele Whisper listate sub el.

Câteva note în plus din cele două proiecte:

  • Modele doar pentru engleză. tiny, base, small și medium vin și ca fișiere .en de aceeași dimensiune, care aud doar engleza. OpenAI spune că tind să se descurce mai bine pentru engleză, mai ales tiny.en și base.en, și că diferența se micșorează pentru small.en și medium.en.
  • Modele cuantizate. Fișierele care se termină în q5_0 sunt cuantizate. whisper.cpp spune că modelele cuantizate au nevoie de mai puțină memorie și spațiu pe disc și, în funcție de hardware, pot fi procesate mai eficient.
  • Turbo. OpenAI îl numește o versiune optimizată a lui large-v3, cu transcriere mai rapidă și o degradare minimă a preciziei, și îl evaluează la de aproximativ 8 ori viteza lui large. Raportul a fost măsurat pe un A100, nu pe un Mac, iar OpenAI spune că turbo nu este antrenat pentru traducere.
  • Limbi. OpenAI spune că performanța Whisper variază mult în funcție de limbă.
  • Coloana de memorie a OpenAI. README-ul OpenAI listează în schimb VRAM necesar pentru pachetul său Python: aproximativ 1 GB pentru tiny și base, aproximativ 6 GB pentru turbo și aproximativ 10 GB pentru large. Acestea nu sunt cifre whisper.cpp.

Am ales fișierul turbo pe 5 biți pentru YapToText pentru că, la propriile mele dictări, a auzit aproape exact ce a auzit modelul complet, cu o treime din memorie. Sunt dictările unei singure persoane, nu un test de performanță, așa că încercați două dimensiuni pe propria voce înainte să vă hotărâți.

Rulați singur Whisper cu whisper.cpp

Rularea whisper.cpp pe cont propriu cere Terminal și cele două unelte pe care le presupun comenzile din README-ul său, Git și CMake. Acestea sunt comenzile din README, cu modelul înlocuit de fișierul turbo pe 5 biți. Ce obțineți este transcrierea unui fișier audio în Terminal, nu cuvinte scrise în aplicațiile dvs.

Pasul 1: Luați codul și un model

Terminal: Clonați whisper.cpp și descărcați modelul turbo pe 5 biți.

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

Ce se întâmplă: Proiectul ajunge într-un folder whisper.cpp, iar scriptul descarcă ggml-large-v3-turbo-q5_0.bin de la Hugging Face în folderul său models. Înlocuiți cu base.en sau small pentru o descărcare mai mică.

Pasul 2: Compilați-l și transcrieți exemplul

Terminal: Compilați whisper-cli, apoi rulați-l pe înregistrarea exemplu care vine cu proiectul.

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

Ce se întâmplă: CMake compilează proiectul, iar whisper-cli transcrie exemplul cu modelul descărcat și afișează textul în Terminal.

Pasul 3: Convertiți mai întâi propriul sunet

README-ul spune că whisper-cli rulează deocamdată doar cu fișiere WAV pe 16 biți și dă o comandă ffmpeg pentru a converti orice altceva. ffmpeg este o instalare separată.

Terminal: Transformați un MP3 în formatul WAV pe care îl citește whisper-cli.

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

Ce se întâmplă: ffmpeg scrie output.wav ca sunet de 16 kHz, mono, pe 16 biți, pe care îl dați apoi lui whisper-cli după -f.

Sau folosiți pachetul Python al OpenAI

Terminal: Instalați pachetul propriu al OpenAI, dacă preferați să lucrați în Python.

pip install -U openai-whisper

Ce se întâmplă: pip instalează comanda whisper. README-ul OpenAI spune că se așteaptă ca codul să funcționeze cu Python 3.8 până la 3.11, că are nevoie de ffmpeg și că modelul său implicit este turbo.

Pentru vorbire în direct, whisper.cpp include whisper-stream, care eșantionează microfonul dvs. la fiecare jumătate de secundă și transcrie continuu. Are nevoie de SDL2, iar README-ul îl numește un exemplu naiv. Aducerea cuvintelor în Mail, Slack sau în editorul dvs. este partea pe care o adaugă o aplicație.

Folosiți același model în YapToText, fără Terminal

YapToText rulează același motor și același fișier fără fereastră Terminal: o copie a whisper.cpp integrată în aplicație cu Metal și Accelerate, iar ggml-large-v3-turbo-q5_0.bin se află în descărcarea din App Store. Suma sa SHA-256 se potrivește cu fișierul de la Hugging Face, deci este modelul standard, nu unul reglat sau antrenat din nou. Am creat aplicația pentru că mâinile îmi fac tastarea dificilă și voiam ca Whisper să scrie în fiecare aplicație, nu să afișeze text într-o fereastră Terminal. Este fișierul pe care îl descarcă scriptul. Ce se schimbă este tot ce îl înconjoară.

Afiș pentru App Store cu titlul Yap it. Bam. It's typed. deasupra ferestrei Home din YapToText și a celor trei aspecte ale panoului plutitor.
Figura 3. Același fișier Whisper fără Terminal: cuvintele se formează în panoul plutitor pe măsură ce vorbiți și ajung la cursor în orice aplicație este în față.

Iată ce adaugă aplicația în jurul modelului:

  • Memorie pe care o dă înapoi. Pe pagina Energy, Keep models in memory hotărăște cât timp rămâne încărcat un model după o dictare: implicit 2 minute după folosire, cu variante de la Only while dictating la Until quit. Descărcarea mai devreme economisește energie și memorie, iar următoarea dictare după o descărcare durează câteva secunde în plus.
  • Loc pentru macOS. Când macOS rămâne fără memorie, YapToText își descarcă pe loc modelele încărcate și așteaptă cinci minute înainte să le încălzească din nou.
  • Un model mai ușor pe baterie. Switch models with the power source, dezactivat implicit, dă modelului de dictare și modelului de curățare câte o alegere pentru alimentare la priză și una pentru baterie.
  • Fișierul dvs. Sub Your own models pe pagina AI Models, Add Model primește orice .bin GGML whisper.cpp, deci funcționează și un model descărcat cu scriptul. Aplicația citește fișierul ca să afle ce este și respinge orice altceva.
  • Cifrele Mac-ului dvs. Cardul This Mac de pe pagina Energy arată cipul și memoria dvs., adică numărul de pus lângă tabelul de mai sus.

Dictation Model Library de pe pagina AI Models are alte zece modele Whisper, de la Tiny la Large v3, fiecare cu dimensiunea pe care o arată aplicația. Ghidul modelelor AI le listează, iar ghidul de energie explică configurările de memorie. Descărcarea din App Store are aproximativ 2,9 GB pentru că ambele modele ale aplicației sunt incluse în ea. Versiunea Homebrew are aproximativ 12 MB și are nevoie de descărcarea unui model de voce înainte de prima dictare.

Dacă Whisper local este lent sau vă aude greșit

Începeți cu remediile ieftine înainte să descărcați un model mai mare. Reparați microfonul și cuvintele înainte să schimbați modelul.

  1. Așteptați prima rulare. Un model trebuie încărcat înainte să poată transcrie. În YapToText, prima dictare după pornire durează o clipă. Dacă ați compilat whisper.cpp cu Core ML, README-ul spune că prima rulare pe un dispozitiv este lentă cât timp serviciul Neural Engine compilează modelul.
  2. Setați limba pe care o vorbiți. Selectorul Language din YapToText, de pe pagina AI Models, pornește pe limba de sistem a Mac-ului, iar o limbă pe care Whisper nu o poate folosi revine la detectarea automată. Pagina limbilor le listează pe toate 29.
  3. Reparați microfonul. Microfoanele Bluetooth au calitate de telefon, așa că microfonul propriu al Mac-ului aude mai bine. În YapToText, alegeți-l în selectorul Input din panoul din bara de meniu.
  4. Învățați-l cuvintele dvs. Pagina Dictionaries din YapToText pregătește Whisper cu numele și termenii dvs., nu doar corectează ce scrie. Ghidul dicționarelor arată cum.
  5. Folosiți un model doar pentru engleză, pentru engleză. Dacă memoria este puțină și vorbiți doar engleza, OpenAI spune că versiunile .en tind să se descurce mai bine, mai ales la tiny și base.
  6. Schimbați dimensiunea modelului. Mergeți mai mare dacă aude greșit și memoria permite sau mai mic dacă este lent. În YapToText, notele în stele de pe pagina AI Models arată compromisul, iar fiecare dictare din History își arată propriul timp de la oprire la text.
O intrare din History în YapToText, cu detaliile procesării deschise: transcrierea brută, transcrierea curățată, modul, livrarea, aplicația țintă și duratele.
Figura 4. Fiecare dictare din History poartă propriile durate: cât ați vorbit și timpul de la oprire la text, împărțit în transcriere, curățare AI și livrare.

Ce nu schimbă Whisper local

Rularea locală a Whisper mută munca pe Mac-ul dvs. și atât mută. Local schimbă unde ajunge vocea dvs., nu cât de bine este auzită.

  • Greșeli. Modelul hotărăște cât de bine aude, oriunde rulează, așa că un nume pe care îl aude greșit are nevoie de o intrare de dicționar sau de un microfon mai bun, nu de alt loc.
  • Traducere. OpenAI spune că turbo nu este antrenat pentru traducere, iar YapToText îi cere lui Whisper doar să transcrie, niciodată să traducă.
  • O descărcare. Un model local tot trebuie să ajungă o dată. Scriptul whisper.cpp îl aduce de la Hugging Face, versiunea App Store a YapToText îl are înăuntru, iar versiunea Homebrew îl aduce de pe pagina AI Models.
  • Mac-uri Intel. whisper.cpp listează Mac-urile Intel și Arm ca fiind acceptate. YapToText are nevoie de cip Apple și macOS 14 sau ulterior și nu se afirmă nimic despre Mac-urile Intel.
  • Cifre de precizie. Nu public procente de precizie pentru niciun model. Stelele și propriul dvs. History sunt ghidul.

Ca să dovediți că o configurare este cu adevărat locală, pagina despre dictarea offline are un test de un minut: opriți Wi-Fi și dictați.

Pe scurt

  • Whisper local. Este un fișier de model și un motor pe Mac-ul dvs., fără să se încarce nimic.
  • Modelul. Fișierul turbo pe 5 biți, 547 MiB în lista whisper.cpp, este cel pe care îl livrează YapToText.
  • Faceți-o singur. Clonați whisper.cpp, descărcați un model, compilați cu CMake și rulați whisper-cli pe un fișier WAV pe 16 biți.
  • Sau săriți peste Terminal. YapToText rulează același fișier și scrie în orice aplicație, gratuit.

Alegeți modelul după memoria Mac-ului dvs., apoi după propria voce. Dacă ceva de aici nu corespunde cu ce vedeți, deschideți un issue pe GitHub. Fiecare este citit.

Descărcați YapToText din Mac App StoreDescărcare gratuită. Fără cont și fără funcții blocate, pentru macOS 14 sau ulterior pe un Mac cu cip Apple. Codul sursă pe GitHub.

Cine scrie. Ryleigh Newman dezvoltă software, tastează cu dificultate și dictează în fiecare zi cu YapToText, aplicația despre care este acest site. Această pagină este tradusă din engleză. Interfața aplicației și restul site-ului sunt în engleză. Mai multe despre proiect, în engleză.

Ghiduri

Alte ghiduri, în engleză

Surse

Întrebări

Cum rulez Whisper local pe un Mac?

Folosiți whisper.cpp: clonați depozitul, descărcați un model cu scriptul download-ggml-model.sh, compilați cu CMake și rulați whisper-cli pe un fișier WAV pe 16 biți. Sau instalați o aplicație care îl include, precum YapToText, care rulează Whisper Large v3 Turbo fără nicio configurare.

Câtă memorie are nevoie Whisper?

Depinde de model. whisper.cpp listează aproximativ 273 MB pentru tiny, 852 MB pentru small, 2,1 GB pentru medium și 3,9 GB pentru large și spune că modelele cuantizate au nevoie de mai puțin. Nu dă nicio cifră de memorie pentru turbo.

Care este cel mai bun model Whisper local?

Large v3 Turbo este de unde aș porni, iar fișierul său pe 5 biți este cel pe care îl livrează YapToText: 547 MiB în lista whisper.cpp. Dacă memoria este puțină, small sau base folosesc mult mai puțin, iar OpenAI spune că versiunile doar pentru engleză tind să se descurce mai bine pentru engleză la cele mai mici dimensiuni.

Cât de mare este modelul Whisper Large v3 Turbo?

1,5 GiB în lista de modele whisper.cpp sau 547 MiB ca fișier q5_0 pe 5 biți, adică 574 MB în unități zecimale. OpenAI listează turbo la 809 milioane de parametri.

Are nevoie Whisper local de internet?

Doar pentru a descărca o dată modelul. După aceea, whisper.cpp și YapToText transcriu fără conexiune, iar versiunea App Store a YapToText vine cu modelul înăuntru, așa că sare chiar și peste acea descărcare.

Pot folosi un model whisper.cpp în YapToText?

Da. Sub Your own models pe pagina AI Models, Add Model primește orice fișier .bin GGML whisper.cpp, iar aplicația află ce este din fișierul însuși.