Whisper in locale su Mac: cosa serve, quanto costa e come farlo girare

Whisper in locale significa far girare il modello vocale Whisper di OpenAI sul tuo Mac, così l'audio diventa testo sulla tua macchina invece che su un server da qualche parte. Su un Mac, il motore da conoscere è whisper.cpp, che tratta il chip Apple come una piattaforma di prima classe, e la scelta che conta è il file del modello: i modelli più grandi sentono meglio e occupano più spazio su disco e più memoria.

Spiego come si incastrano i pezzi, quanto costa ogni dimensione di modello secondo le cifre di whisper.cpp stesso, i comandi per farlo girare da soli e dove si colloca YapToText. Ho creato YapToText, un'app gratuita che esegue whisper.cpp con il file standard di Whisper Large v3 Turbo (Q5), quindi pesa quella parte tenendolo presente. Se vuoi solo sapere se esiste un'app Whisper per Mac, la pagina sull'app Whisper per Mac risponde a questo.

Scarica YapToText dal Mac App StoreDownload gratuito. Senza account e senza niente di bloccato, per macOS 14 o versioni successive su un Mac con chip Apple. Codice sorgente su GitHub.

In questa pagina: 12 sezioni
  1. Passaggi
  2. Conosci i tre pezzi di Whisper in locale
  3. Scegli un modello in base a disco e memoria
  4. Esegui Whisper da solo con whisper.cpp
    1. Passaggio 1: prendi il codice e un modello
    2. Passaggio 2: compilalo e trascrivi l'esempio
    3. Passaggio 3: converti prima il tuo audio
    4. Oppure usa il pacchetto Python di OpenAI
  5. Usa lo stesso modello in YapToText senza Terminale
  6. Se Whisper in locale è lento o ti sente male
  7. Cosa Whisper in locale non cambia
  8. In breve
  9. Guide
  10. Altre guide, in inglese
  11. Fonti
  12. Domande

Passaggi

  1. Clona da GitHub il repository di whisper.cpp e apri la sua cartella in Terminale.
  2. Scarica un modello con lo script download-ggml-model.sh del progetto, ad esempio large-v3-turbo-q5_0.
  3. Compila il progetto con CMake, usando i due comandi cmake del suo README.
  4. Converti la tua registrazione in un file WAV a 16 bit, ad esempio con ffmpeg.
  5. Esegui whisper-cli con il file del modello e il tuo file WAV, e leggi la trascrizione in Terminale.

Conosci i tre pezzi di Whisper in locale

Whisper in locale ha tre pezzi, e tutti e tre stanno sul tuo Mac. Il modello è un file, il motore lo esegue e il tuo audio non deve mai lasciare la macchina.

  • Il modello. Whisper è il modello di riconoscimento vocale di OpenAI, e OpenAI ha rilasciato il suo codice e i pesi del modello con licenza MIT. Scarichi un file di modello una volta, e quel file fa l'ascolto.
  • Il motore. whisper.cpp è un'implementazione di Whisper in semplice C e C++, anch'essa con licenza MIT. Il suo README definisce il chip Apple una piattaforma di prima classe, ottimizzata con ARM NEON, Accelerate, Metal e Core ML, e dice che su chip Apple l'inferenza gira interamente sulla GPU tramite Metal. Il pacchetto di OpenAI esegue invece Whisper da Python.
  • Il tuo audio. Entra una registrazione o il tuo microfono, ed esce testo. Internet serve solo per scaricare, all'inizio, il file del modello.

È questo che lo distingue da un servizio cloud: non viene caricato nulla per essere trascritto. Significa anche che il lavoro lo fa il tuo Mac, quindi il modello che scegli decide quanta memoria e quanto spazio su disco richiede quel lavoro.

Poster dell'App Store con il titolo Nothing leaves your Mac, sopra la pagina AI Models di YapToText con entrambi i modelli contrassegnati come Included.
Figura 1. Il modello e il motore su una riga in YapToText: Whisper Large v3 Turbo (Q5), di OpenAI, eseguito da whisper.cpp, 574 MB e contrassegnato come Included.

Scegli un modello in base a disco e memoria

whisper.cpp pubblica quanto occupa ogni modello su disco e in memoria, e OpenAI pubblica quanti parametri ha ciascuno. Turbo è la versione più veloce di large-v3 di OpenAI, e il suo file a 5 bit occupa circa un quinto dello spazio su disco di large.

Verificato il 3 ottobre 2026, nel README e nell'elenco dei modelli di whisper.cpp e nel README di Whisper di OpenAI.

ModelloParametri (OpenAI)File su disco (whisper.cpp)Memoria (whisper.cpp)
tiny39 M75 MiBCirca 273 MB
base74 M142 MiBCirca 388 MB
small244 M466 MiBCirca 852 MB
medium769 M1.5 GiBCirca 2.1 GB
large (v1, v2 o v3)1550 M2.9 GiBCirca 3.9 GB
large-v3, 5 bit (q5_0)large-v3 quantizzato1.1 GiBNon indicata
large-v3-turbo809 M1.5 GiBNon indicata
large-v3-turbo, 5 bit (q5_0)Turbo quantizzato547 MiBNon indicata

MiB e GiB contano a passi di 1.024, quindi il file turbo da 547 MiB nell'elenco di whisper.cpp è lo stesso file che YapToText mostra come 574 MB. È così che due pagine oneste possono indicare lo stesso file come 547 e 574 e avere ragione entrambe. La tabella della memoria di whisper.cpp copre le cinque dimensioni originali e non dà alcuna cifra per turbo né per i file quantizzati.

La pagina AI Models di YapToText: Whisper Large v3 Turbo (Q5) e Phi-3.5 Mini Instruct contrassegnati come Included, con la libreria dei modelli sotto.
Figura 2. YapToText mostra le dimensioni in MB, ed è per questo che il file turbo che whisper.cpp elenca come 547 MiB qui risulta 574 MB, con gli altri modelli Whisper elencati sotto.

Qualche altra nota dai due progetti:

  • Modelli solo inglese. tiny, base, small e medium esistono anche come file .en della stessa dimensione che sentono solo l'inglese. OpenAI dice che tendono a funzionare meglio per l'inglese, soprattutto tiny.en e base.en, e che la differenza si riduce per small.en e medium.en.
  • Modelli quantizzati. I file che finiscono in q5_0 sono quantizzati. whisper.cpp dice che i modelli quantizzati richiedono meno memoria e meno spazio su disco e, a seconda dell'hardware, possono essere elaborati in modo più efficiente.
  • Turbo. OpenAI lo definisce una versione ottimizzata di large-v3 con trascrizione più veloce e un degrado minimo della precisione, e lo valuta circa 8 volte più veloce di large. Quel rapporto è stato misurato su una A100, non su un Mac, e OpenAI dice che turbo non è addestrato per la traduzione.
  • Lingue. OpenAI dice che le prestazioni di Whisper variano molto a seconda della lingua.
  • La colonna della memoria di OpenAI. Il README di OpenAI elenca invece la VRAM richiesta dal suo pacchetto Python: circa 1 GB per tiny e base, circa 6 GB per turbo e circa 10 GB per large. Non sono numeri di whisper.cpp.

Ho scelto il file turbo a 5 bit per YapToText perché, sulle mie dettature, sentiva quasi esattamente ciò che sentiva il modello completo, con un terzo della memoria. Sono le dettature di una sola persona, non un benchmark, quindi prova due dimensioni sulla tua voce prima di decidere.

Esegui Whisper da solo con whisper.cpp

Far girare whisper.cpp da soli richiede Terminale e i due strumenti che i comandi del suo README danno per scontati, Git e CMake. Questi sono i comandi del README stesso, con il modello sostituito dal file turbo a 5 bit. Ciò che ottieni è la trascrizione di un file audio in Terminale, non parole scritte nelle tue app.

Passaggio 1: prendi il codice e un modello

Terminale: Clona whisper.cpp e scarica il modello turbo a 5 bit.

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

Cosa succede: Il progetto arriva in una cartella whisper.cpp, e lo script scarica ggml-large-v3-turbo-q5_0.bin da Hugging Face nella sua cartella models. Sostituisci con base.en o small per un download più piccolo.

Passaggio 2: compilalo e trascrivi l'esempio

Terminale: Compila whisper-cli, poi eseguilo sulla registrazione di esempio che accompagna il progetto.

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

Cosa succede: CMake compila il progetto, e whisper-cli trascrive l'esempio con il modello che hai scaricato e stampa il testo in Terminale.

Passaggio 3: converti prima il tuo audio

Il README dice che whisper-cli per ora funziona solo con file WAV a 16 bit, e dà un comando ffmpeg per convertire qualsiasi altro formato. ffmpeg è un'installazione a parte.

Terminale: Trasforma un MP3 nel formato WAV che whisper-cli legge.

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

Cosa succede: ffmpeg scrive output.wav come audio a 16 kHz, mono, a 16 bit, che poi passi a whisper-cli dopo -f.

Oppure usa il pacchetto Python di OpenAI

Terminale: Installa il pacchetto di OpenAI, se preferisci lavorare in Python.

pip install -U openai-whisper

Cosa succede: pip installa il comando whisper. Il README di OpenAI dice che il codice dovrebbe funzionare con Python da 3.8 a 3.11, richiede ffmpeg e il suo modello predefinito è turbo.

Per il parlato dal vivo, whisper.cpp include whisper-stream, che campiona il tuo microfono ogni mezzo secondo e trascrive in continuo. Richiede SDL2, e il README lo definisce un esempio ingenuo. Portare le parole in Mail, Slack o nel tuo editor è la parte che aggiunge un'app.

Usa lo stesso modello in YapToText senza Terminale

YapToText esegue lo stesso motore e lo stesso file senza una finestra di Terminale: una copia di whisper.cpp integrata nell'app con Metal e Accelerate, e ggml-large-v3-turbo-q5_0.bin dentro il download dell'App Store. Il suo SHA-256 corrisponde al file su Hugging Face, quindi è il modello standard, non uno ottimizzato o riaddestrato su misura. Ho creato l'app perché faccio fatica a scrivere con le mani, e volevo Whisper che scrivesse in ogni app invece di stampare in una finestra di Terminale. È il file che scarica lo script. Cambia tutto ciò che c'è attorno.

Poster dell'App Store con il titolo Yap it. Bam. It's typed. sopra la finestra Home di YapToText e i tre layout del pannello mobile.
Figura 3. Lo stesso file Whisper senza Terminale: le parole si formano nel pannello mobile mentre parli e arrivano al cursore in qualsiasi app sia davanti.

Ecco cosa aggiunge l'app attorno al modello:

  • Memoria che restituisce. Nella pagina Energy, Keep models in memory decide per quanto tempo un modello resta caricato dopo una dettatura: 2 minuti dopo l'uso per impostazione predefinita, con scelte da Only while dictating a Until quit. Scaricarlo prima fa risparmiare energia e memoria, e la dettatura dopo uno scaricamento richiede qualche secondo in più.
  • Spazio per macOS. Quando a macOS manca memoria, YapToText scarica subito i modelli caricati e aspetta cinque minuti prima di riscaldarli di nuovo.
  • Un modello più leggero a batteria. Switch models with the power source, disattivato per impostazione predefinita, dà al modello di dettatura e al modello di pulizia una scelta ciascuno per quando sei collegato alla corrente e per quando sei a batteria.
  • Il tuo file. Sotto Your own models nella pagina AI Models, Add Model accetta qualsiasi .bin GGML di whisper.cpp, quindi funziona anche un modello scaricato con lo script. L'app legge il file per capire cos'è e rifiuta qualsiasi altra cosa.
  • I numeri del tuo Mac. La scheda This Mac nella pagina Energy mostra il tuo chip e la tua memoria, che sono i numeri da confrontare con la tabella qui sopra.

La Dictation Model Library nella pagina AI Models ha altri dieci modelli Whisper, da Tiny a Large v3, ciascuno con la dimensione che l'app mostra. La guida ai modelli AI li elenca, e la guida all'energia spiega le impostazioni della memoria. Il download dell'App Store pesa circa 2,9 GB perché dentro ci sono entrambi i modelli dell'app. La versione Homebrew pesa circa 12 MB e richiede il download di un modello vocale prima della prima dettatura.

Se Whisper in locale è lento o ti sente male

Parti dalle soluzioni economiche prima di scaricare un modello più grande. Sistema il microfono e le parole prima di cambiare il modello.

  1. Aspetta la prima esecuzione. Un modello deve caricarsi prima di poter trascrivere. In YapToText la prima dettatura dopo l'avvio richiede un attimo. Se hai compilato whisper.cpp con Core ML, il suo README dice che la prima esecuzione su un dispositivo è lenta mentre il servizio Neural Engine compila il modello.
  2. Imposta la lingua che parli. Il selettore Language di YapToText nella pagina AI Models parte dalla lingua di sistema del tuo Mac, e una lingua che Whisper non può usare ripiega sul rilevamento automatico. La pagina sulle lingue le elenca tutte e 29.
  3. Sistema il microfono. I microfoni Bluetooth hanno qualità da telefono, quindi il microfono del Mac sente meglio. In YapToText, sceglilo nel selettore Input del pannello della barra dei menu.
  4. Insegnagli le tue parole. La pagina Dictionaries di YapToText prepara Whisper con i tuoi nomi e termini, non si limita a correggere ciò che scrive. La guida ai dizionari mostra come.
  5. Usa un modello solo inglese per l'inglese. Se la memoria è poca e parli solo inglese, OpenAI dice che le versioni .en tendono a funzionare meglio, soprattutto con tiny e base.
  6. Cambia la dimensione del modello. Vai su uno più grande se sente male e la memoria lo consente, o su uno più piccolo se è lento. In YapToText, le valutazioni a stelle nella pagina AI Models mostrano il compromesso, e ogni dettatura in History mostra il suo tempo tra lo stop e il testo.
Una voce della cronologia di YapToText con i dettagli della pipeline aperti: trascrizione grezza, trascrizione pulita, modalità, consegna, app di destinazione e tempi.
Figura 4. Ogni dettatura in History porta con sé i propri tempi: quanto hai parlato e il tempo tra lo stop e il testo diviso in trascrizione, pulizia con IA e consegna.

Cosa Whisper in locale non cambia

Far girare Whisper in locale sposta il lavoro sul tuo Mac, e solo quello. Il locale cambia dove va la tua voce, non quanto bene viene sentita.

  • Errori. È il modello a decidere quanto bene sente, ovunque giri, quindi un nome che sente male richiede una voce nel dizionario o un microfono migliore, non un posto diverso.
  • Traduzione. OpenAI dice che turbo non è addestrato per la traduzione, e YapToText chiede a Whisper solo di trascrivere, mai di tradurre.
  • Un download. Un modello locale deve comunque arrivare una volta. Lo script di whisper.cpp lo prende da Hugging Face, la versione dell'App Store di YapToText lo ha incluso e la versione Homebrew lo scarica dalla pagina AI Models.
  • Mac Intel. whisper.cpp elenca i Mac Intel e Arm come supportati. YapToText richiede un chip Apple e macOS 14 o versioni successive, e per i Mac Intel non si promette nulla.
  • Cifre di precisione. Non pubblico percentuali di precisione per nessun modello. Le stelle e la tua History sono la guida.

Per dimostrare che una configurazione è davvero locale, la pagina sulla dettatura offline ha un test di un minuto: spegni il Wi-Fi e detta.

In breve

  • Whisper in locale. È un file di modello e un motore sul tuo Mac, senza caricare nulla.
  • Il modello. Il file turbo a 5 bit, 547 MiB nell'elenco di whisper.cpp, è quello incluso in YapToText.
  • Fai da te. Clona whisper.cpp, scarica un modello, compila con CMake ed esegui whisper-cli su un file WAV a 16 bit.
  • Oppure salta Terminale. YapToText esegue lo stesso file e scrive in qualsiasi app, gratis.

Scegli il modello in base alla memoria del tuo Mac, poi in base alla tua voce. Se qualcosa qui non corrisponde a ciò che vedi, apri una issue su GitHub. Le leggo tutte.

Scarica YapToText dal Mac App StoreDownload gratuito. Senza account e senza niente di bloccato, per macOS 14 o versioni successive su un Mac con chip Apple. Codice sorgente su GitHub.

Chi scrive. Ryleigh Newman sviluppa software, fa fatica a scrivere con le mani e detta ogni giorno con YapToText, l'app descritta in questo sito. Questa pagina è tradotta dall'inglese. L'interfaccia dell'app e il resto del sito sono in inglese. Di più sul progetto, in inglese.

Guide

Altre guide, in inglese

Fonti

Domande

Come faccio girare Whisper in locale su un Mac?

Usa whisper.cpp: clona il repository, scarica un modello con lo script download-ggml-model.sh, compila con CMake ed esegui whisper-cli su un file WAV a 16 bit. Oppure installa un'app che lo include, come YapToText, che esegue Whisper Large v3 Turbo senza alcuna configurazione.

Quanta memoria serve a Whisper?

Dipende dal modello. whisper.cpp indica circa 273 MB per tiny, 852 MB per small, 2.1 GB per medium e 3.9 GB per large, e dice che i modelli quantizzati ne richiedono meno. Non dà alcuna cifra di memoria per turbo.

Qual è il miglior modello Whisper in locale?

Large v3 Turbo è da dove partirei, e il suo file a 5 bit è quello incluso in YapToText: 547 MiB nell'elenco di whisper.cpp. Se la memoria è poca, small o base ne usano molta meno, e OpenAI dice che le versioni solo inglese tendono a funzionare meglio per l'inglese alle dimensioni più piccole.

Quanto è grande il modello Whisper Large v3 Turbo?

1.5 GiB nell'elenco dei modelli di whisper.cpp, oppure 547 MiB come file q5_0 a 5 bit, che sono 574 MB contati in unità decimali. OpenAI indica turbo a 809 milioni di parametri.

Whisper in locale ha bisogno di internet?

Solo per scaricare il modello una volta. Dopo, whisper.cpp e YapToText trascrivono senza connessione, e la versione dell'App Store di YapToText ha il modello incluso, quindi salta anche quel download.

Posso usare un modello di whisper.cpp in YapToText?

Sì. Sotto Your own models nella pagina AI Models, Add Model accetta qualsiasi file .bin GGML di whisper.cpp, e l'app capisce cos'è dal file stesso.