Allucinazioni di Whisper: perché scrive parole che nessuno ha detto, e come evitarlo

Le allucinazioni di Whisper sono parole in una trascrizione che nessuno ha detto: una frase ripetuta all'infinito, un saluto di chiusura come "Thank you for watching" sopra il silenzio, o una frase intera inventata. Succede perché Whisper scrive il testo in modo simile a un modello linguistico, e quando l'audio è silenzioso, rumoroso o poco chiaro, la sua idea di ciò che di solito viene dopo può pesare più di ciò che ha davvero sentito.

La scheda del modello di OpenAI lo segnala, e uno studio del 2024 ha trovato frasi inventate in circa l'1% delle trascrizioni analizzate. Io creo YapToText, un'app di dettatura gratuita per Mac che esegue Whisper sul tuo Mac, perché faccio fatica a scrivere con le mani e detto ogni giorno, e buona parte del lavoro attorno al modello è andata proprio a intercettare questo problema. Qui sotto: come appaiono le allucinazioni, perché succedono, cosa ha trovato la ricerca, cosa fa YapToText e cosa puoi fare con qualsiasi configurazione di Whisper, whisper.cpp compreso.

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: 14 sezioni
  1. Passaggi
  2. Come appare un'allucinazione di Whisper
  3. Perché Whisper ha le allucinazioni
  4. Cosa ha trovato lo studio Careless Whisper
  5. Come si difende YapToText
    1. Prima che Whisper senta qualcosa
    2. Dopo il ritorno della trascrizione
    3. Quando il modello di pulizia sbaglia
  6. Vedere cosa ha sentito davvero Whisper
    1. Passaggio 1: apri la dettatura in History
    2. Passaggio 2: detta la prossima in modalità grezza
  7. Evitare le allucinazioni in qualsiasi app Whisper
  8. Consigli per chi usa whisper.cpp
  9. Cosa nessuna difesa può promettere
  10. In breve
  11. Guide
  12. Altre guide, in inglese
  13. Fonti
  14. Domande

Passaggi

  1. Ferma la registrazione appena finisci di parlare, oppure attiva Auto-stop after silence nella pagina Dictation.
  2. Premi Spazio per mettere in pausa durante una lunga riflessione, invece di registrare il silenzio.
  3. Scegli la lingua che parli nel selettore Language della pagina AI Models.
  4. Prima di trascrivere un file, taglia i silenzi lunghi e la musica, e convertilo in WAV a 16 bit se usi whisper-cli.
  5. In History, fai clic su Show pipeline details e leggi la trascrizione grezza, oppure premi 2 mentre parli per Raw Transcription.

Come appare un'allucinazione di Whisper

L'articolo di OpenAI su Whisper elenca i modi in cui il modello sbaglia con parole semplici: restare bloccato in cicli di ripetizione, non trascrivere le prime o le ultime parole di un segmento audio e l'allucinazione completa, in cui il modello produce una trascrizione del tutto estranea all'audio reale. Nella pratica si presentano in quattro forme. Un'allucinazione non è una parola capita male. È una parola senza nessun suono dietro.

  • Cicli di ripetizione. La stessa frase, lo stesso gruppo di parole o la stessa parola ancora e ancora, spesso alla fine di una registrazione che si spegne nel silenzio. La scheda del modello di OpenAI dice che l'architettura sequence-to-sequence rende il modello incline a generare testo ripetitivo, cosa che la ricerca a fascio (beam search) e la pianificazione della temperatura possono attenuare in una certa misura, ma non perfettamente.
  • Testo dal silenzio. Nella discussione del repository di Whisper intitolata "Share your hallucinations here", gli utenti segnalano righe come "Thank you for watching" e crediti dei sottotitoli che compaiono sopra silenzio, musica o effetti sonori, dove nessuno parlava.
  • Frasi inventate. Frasi intere che non sono mai state dette. L'articolo della Cornell sullo studio Careless Whisper dice che Whisper ogni tanto inventa frasi intere, a volte con linguaggio violento, informazioni personali inventate e siti web falsi.
  • Etichette e indicazioni di scena. Testo che sembra un copione più che un discorso. Le note di rilascio 1.4 di YapToText registrano una correzione per le etichette dei parlanti allucinate, come "Male speaker:", che comparivano nelle trascrizioni.

Il difetto opposto, le parole perse all'inizio o alla fine, è collegato, ed è per questo che una prima parola mancante e un'ultima riga inventata possono venire dalla stessa registrazione. Le normali parole capite male sono un altro problema con altri rimedi, trattati nella guida a Whisper per Mac.

Perché Whisper ha le allucinazioni

OpenAI spiega la causa nella scheda del modello. Poiché i modelli sono stati addestrati in modo debolmente supervisionato su dati rumorosi su larga scala, le loro previsioni possono includere testo che nell'audio non viene davvero pronunciato. La scheda del modello suggerisce che succeda perché il modello combina il tentativo di prevedere la parola successiva con quello di trascrivere l'audio, e dice che il comportamento può essere peggiore nelle lingue con meno risorse o meno visibilità. Quando c'è poco suono su cui basarsi, la metà del modello che indovina fa più lavoro.

Questo indica le condizioni che lo favoriscono:

  • Silenzio e pause lunghe. Lo studio Careless Whisper ha trovato che le allucinazioni si verificano in modo sproporzionato per chi parla con quote più lunghe di tempo senza voce, cioè pause più lunghe.
  • Musica ed effetti sonori. Le segnalazioni nel repository di Whisper si concentrano sui tratti senza parlato.
  • Un segnale rumoroso o debole. Un parlato meno chiaro dà al modello meno punti a cui ancorare ogni parola.
  • La lingua. OpenAI dice che le prestazioni variano molto a seconda della lingua, e la scheda del modello dice che l'allucinazione può essere peggiore nelle lingue con meno risorse.

Un altro dettaglio conta per riconoscerle. Lo studio ha trovato che le allucinazioni dell'API Whisper di OpenAI non erano deterministiche, cioè producevano testo casuale diverso a ogni esecuzione, e ha usato le differenze tra due esecuzioni sullo stesso audio per individuarle. Se il tuo strumento dà testo diverso per lo stesso audio in due esecuzioni, la parte che è cambiata merita un'altra occhiata.

Cosa ha trovato lo studio Careless Whisper

Lo studio è "Careless Whisper: Speech-to-Text Hallucination Harms", di Allison Koenecke, Anna Seo Gyeong Choi, Katelyn X. Mei, Hilke Schellmann e Mona Sloane, presentato alla ACM Conference on Fairness, Accountability, and Transparency, FAccT 2024. La percentuale è piccola. Il danno di una sola frase inventata può essere grande.

Controllato il 5 ottobre 2026, nell'articolo su arXiv e nella ACM Digital Library, e nella notizia della Cornell.

  • Cosa hanno provato. Quasi 40 ore di audio da AphasiaBank, 13.140 segmenti, di persone con afasia e di un gruppo di controllo, inviati all'API Whisper di OpenAI nel 2023.
  • Quanto spesso. Circa l'1% delle trascrizioni conteneva frasi intere allucinate che non esistevano in nessuna forma nell'audio di partenza.
  • Quanto gravi. Il 38% delle allucinazioni includeva danni espliciti, come perpetuare la violenza, inventare associazioni inesatte o far intendere un'autorità falsa.
  • Per chi. Le persone con afasia hanno avuto più allucinazioni del gruppo di controllo, e i segmenti con più tempo senza voce avevano più probabilità di produrle.
  • Nel tempo. Quando gli autori hanno rieseguito l'audio a dicembre 2023, molti esempi erano risolti, ma 12 segmenti audio su 187 producevano ancora allucinazioni.

Due cose da tenere distinte quando leggi questi numeri. Descrivono l'API ospitata da OpenAI su quel campione nel 2023, non whisper.cpp, non Whisper Large v3 Turbo e non YapToText, quindi non sono una previsione per la tua dettatura. E non sono un motivo per allarmarsi: sono un motivo per rileggere ciò che hai dettato, cosa che comunque conviene fare. Se le pause lunghe fanno parte del tuo modo di parlare, la dettatura per condizione dice onestamente dove YapToText può non bastare.

Come si difende YapToText

YapToText esegue il file standard di Whisper Large v3 Turbo (Q5) tramite whisper.cpp. Non ho riaddestrato il modello. Quello che ho costruito è una pipeline attorno a esso, e una parte di quella pipeline esiste per tenere fuori dal tuo documento le parole che nessuno ha detto. Il modello è quello standard. Il lavoro è andato nelle difese che lo circondano.

Prima che Whisper senta qualcosa

  • I silenzi lunghi vengono compressi prima della trascrizione, così il modello non va alla deriva.
  • Il rumore viene misurato a ogni dettatura, e il rumore costante viene sottratto solo quando il rapporto lo richiede. Una voce bassa viene alzata rispetto alla stanza.
  • Le registrazioni rumorose ricevono una ricerca più profonda. La decodifica passa da greedy a beam search quando la registrazione risulta rumorosa.
  • Il mezzo secondo prima che premi il tasto viene conservato, così le prime parole non vengono tagliate.
Poster dell'App Store intitolato It hears you through anything, con l'elenco dei passaggi audio sopra il pannello di registrazione espanso.
Figura 1. I passaggi attorno al modello standard, dalla rimozione del rumore di fondo alla comprensione del silenzio. La maggior parte della difesa dalle allucinazioni avviene qui e subito dopo il ritorno della trascrizione.

Dopo il ritorno della trascrizione

  • I cicli di ripetizione vengono intercettati e rimossi. Una difesa comprime i cicli in cui Whisper cade sulle code silenziose, e dalla 1.4 una dettatura lunga che finisce nel silenzio non ripete più la sua ultima frase all'infinito.
  • Le etichette dei parlanti inventate vengono rimosse, insieme alle indicazioni di scena. Prima della correzione della 1.4, un'etichetta come "Male speaker:" poteva perfino essere imparata come vocabolario.
  • I convenevoli allucinati dal silenzio vengono intercettati e rimossi.
  • Il silenzio non scrive nulla. Se una dettatura era solo silenzio, YapToText dice "Didn't catch that" e non viene trascritto nulla.
  • Una trascrizione breve riceve un secondo passaggio. Se il testo torna più corto del parlato in ingresso, parte un passaggio di recupero.

Quando il modello di pulizia sbaglia

Ogni modalità tranne Raw Transcription consegna la trascrizione a un piccolo modello di pulizia sul tuo Mac, e anche un modello linguistico può inventare. L'app controlla il suo lavoro: se il risultato sembra la risposta di un assistente, cresce ben oltre ciò che hai detto, ripete il testo di riferimento o inventa dei puntini di sospensione, viene scartato e al suo posto viene scritta la trascrizione grezza. Al modello di pulizia viene anche detto di non eliminare mai una frase e di non aggiungere nulla che tu non abbia detto. La pagina sulla dettatura con l'IA descrive queste regole.

Ognuna di queste modifiche viene misurata su un insieme di mie dettature reali prima di essere rilasciata. Sono le registrazioni di una sola persona, non un benchmark, e intercettato e rimosso non è la stessa cosa di mai: un nuovo tipo di allucinazione può comunque passare.

Vedere cosa ha sentito davvero Whisper

Il modo più rapido per distinguere un'allucinazione da un errore della pulizia è guardare cosa ha prodotto Whisper prima che qualsiasi altra cosa lo toccasse. Se il testo inventato è nella trascrizione grezza, l'ha scritto Whisper. Se non c'è, è stata la pulizia.

Passaggio 1: apri la dettatura in History

  • Tu: Apri History, trova la dettatura e fai clic su Show pipeline details (mostra i dettagli della pipeline).
  • YapToText: Mostra la trascrizione grezza sopra il testo finale, con la modalità, la lingua e i tempi sotto.
  • Controlla: Leggi la trascrizione grezza confrontandola con ciò che ricordi di aver detto.
Una voce della History di YapToText con i dettagli della pipeline aperti: trascrizione grezza, trascrizione ripulita, modalità, consegna, app di destinazione e tempi.
Figura 2. La trascrizione grezza sta sopra il testo ripulito, così una riga che nessuno ha detto si può ricondurre a Whisper o alla pulizia.

Passaggio 2: detta la prossima in modalità grezza

  • Tu: Mentre parli, premi 2, Raw Transcription nell'ordine predefinito con Auto mode attiva.
  • YapToText: Scrive le parole di Whisper con la punteggiatura di base e senza nessun modello di IA, per quella sola dettatura.
  • Controlla: Ciò che arriva è ciò che Whisper ha sentito. Per tenere grezza ogni dettatura, disattiva Post-transcription analysis nella pagina Home.

Copy Raw Transcript (copia la trascrizione grezza), nel menu di esportazione di ogni voce di History, mette negli appunti la versione precedente alla pulizia. E se vuoi rileggere ogni dettatura lunga prima che arrivi, attiva Review before inserting in Settings, Advanced, Text output. La guida alle modalità spiega cosa può cambiare ciascuna modalità.

Evitare le allucinazioni in qualsiasi app Whisper

La maggior parte delle allucinazioni nasce dal silenzio, quindi la prevenzione migliore è dare a Whisper meno silenzio. Questi accorgimenti funzionano con qualsiasi app Whisper, e le impostazioni di YapToText sono indicate dove servono. Meno silenzio entra, meno parole inventate escono.

  1. Fermati quando hai finito. Tocca il tasto appena finisci di parlare, invece di lasciare la registrazione in corso. In YapToText, Auto-stop after silence, disattivato per impostazione predefinita nella scheda Recording della pagina Dictation, chiude una dettatura dopo da 0,5 a 5 secondi di quiete.
  2. Fai una pausa di proposito. Per una lunga riflessione nel mezzo, premi Spazio per mettere in pausa la dettatura e di nuovo per riprendere. Lo spazio non viene mai scritto.
  3. Imposta la lingua. Scegli la lingua che parli nel selettore Language della pagina AI Models invece di lasciare che Whisper la deduca. La pagina delle lingue le elenca tutte e 29.
  4. Dagli un segnale pulito. Microfono vicino, stanza silenziosa, musica spenta. Pause music and video while dictating di YapToText, attiva per impostazione predefinita, mette in pausa la riproduzione mentre parli.
  5. Taglia prima le registrazioni. Prima di trascrivere un file, elimina i lunghi tratti di silenzio e di musica all'inizio e alla fine con un qualsiasi editor audio.
  6. Leggi prima che conti. Leggi la trascrizione grezza di tutto ciò che verrà inviato, archiviato o citato.
La pagina delle impostazioni Dictation di YapToText su un Mac: le schede Keys, Recording, Microphone e Delivery.
Figura 3. Auto-stop after silence sta nella scheda Recording della pagina Dictation, disattivato per impostazione predefinita. Attivalo per chiudere una dettatura quando smetti di parlare.

La pagina dei tasti e delle scorciatoie tratta Spazio, Esc e gli altri.

Consigli per chi usa whisper.cpp

Se esegui Whisper da solo tramite whisper.cpp, controlli tu l'audio che entra, ed è lì che sta la maggior parte della prevenzione. Audio pulito e tagliato è il rimedio più economico che esista contro le allucinazioni.

  • Converti nel modo giusto. Il README di whisper.cpp dice che whisper-cli per ora funziona solo con file WAV a 16 bit, e dà un comando ffmpeg per convertire tutto il resto.
  • Taglia prima. Elimina i silenzi lunghi e la musica prima di convertire, così il modello non li vede mai.
  • Imposta la lingua, se puoi. Guarda nell'output della guida di whisper-cli se c'è un'opzione per la lingua, invece di affidarti al rilevamento.
  • Prova un'altra dimensione del modello. Se parli solo inglese e la memoria è poca, OpenAI dice che i modelli .en solo inglese tendono a funzionare meglio per l'inglese, soprattutto a dimensione tiny e base.
  • Sappi cos'è la modalità dal vivo. whisper-stream campiona il microfono ogni mezzo secondo e trascrive in continuazione, e il README la definisce un esempio ingenuo.

Terminale: Converti una registrazione tagliata nel formato WAV che whisper-cli legge, con il comando del README.

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.

Anche un file di modello che hai scaricato per whisper.cpp funziona in YapToText: sotto Your own models nella pagina AI Models, Add Model accetta qualsiasi file .bin GGML di whisper.cpp. La guida a Whisper in locale ha la configurazione completa, le dimensioni dei modelli e i dati sulla memoria.

Cosa nessuna difesa può promettere

  • Ogni allucinazione. Le difese intercettano gli schemi che ho visto e provato. Uno nuovo può passare, ed è per questo che la trascrizione grezza è sempre a un clic.
  • Parole mai sentite. Nessuna difesa può recuperare il parlato che il microfono non ha captato, e rimuovere il testo inventato lascia un vuoto, non le parole vere.
  • Una percentuale mia. Non ho misurato un tasso di allucinazioni per YapToText né per nessun modello, quindi questa pagina cita solo lo studio pubblicato, con i suoi limiti.
  • Extra della trascrizione di file. I file tornano come testo semplice, senza marcatori temporali, quindi non si può saltare da una riga sospetta al suo punto nell'audio. La pagina sui file audio descrive questa funzione.
  • Pause lunghe come stile di parlato. Whisper è un modello generico, e nulla in YapToText cambia il modo in cui gestisce un parlato con pause lunghe oltre a comprimere il silenzio.
  • Un Mac Intel. YapToText richiede un Mac con Apple silicon e macOS 14 o versioni successive.

Le difese abbassano le probabilità. Rileggere ciò che hai dettato resta l'ultimo controllo.

In breve

  • Cos'è. È testo senza parlato dietro: cicli, saluti sopra il silenzio, frasi ed etichette inventate.
  • Perché. Whisper prevede oltre a trascrivere, e silenzio, pause, musica e rumore danno spazio alla previsione.
  • In YapToText. I silenzi lunghi vengono compressi. Cicli di ripetizione, etichette dei parlanti e convenevoli dal silenzio vengono rimossi. Una pulizia fuori misura viene scartata.
  • Per tutti. Fermati quando finisci, taglia il silenzio, imposta la lingua e leggi la trascrizione grezza.

YapToText è gratuita sul Mac App Store, e Whisper gira sul tuo Mac.

Dai a Whisper meno silenzio e controlla cosa ha scritto. Se YapToText scrive qualcosa che non hai detto, apri una issue su GitHub (in inglese) con la trascrizione grezza da History. 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

Perché Whisper ha le allucinazioni?

La scheda del modello di OpenAI dice che Whisper è stato addestrato su dati rumorosi su larga scala e può produrre testo che non è stato pronunciato, probabilmente perché prevede la parola successiva oltre a trascrivere. Silenzio, pause lunghe, musica e rumore danno a questa previsione più spazio.

Perché Whisper scrive "thank you for watching"?

È un tipo noto di allucinazione sopra il silenzio o la musica. Gli utenti nella discussione "Share your hallucinations here" del repository di Whisper la segnalano insieme ai crediti dei sottotitoli. Fermare la registrazione quando finisci di parlare e tagliare il silenzio gli lascia meno spazio.

Perché Whisper continua a ripetere lo stesso testo?

L'articolo di OpenAI elenca il restare bloccati in cicli di ripetizione come un modo in cui il modello sbaglia, e la sua scheda dice che l'architettura è incline a produrre testo ripetitivo. I cicli compaiono spesso su una coda silenziosa, che la difesa di YapToText comprime.

Quanto sono frequenti le allucinazioni di Whisper?

Lo studio Careless Whisper ha trovato che circa l'1% delle trascrizioni dell'API Whisper di OpenAI nel suo campione del 2023 conteneva frasi inventate. Il tuo tasso dipende dal tuo audio, dal tuo modello e dalla tua app.

Come si correggono le allucinazioni di Whisper?

Dagli meno silenzio: fermati quando hai finito, fai le pause di proposito e taglia le registrazioni. Imposta la lingua, usa un segnale del microfono pulito e leggi la trascrizione grezza per vedere cosa ha scritto davvero Whisper.

YapToText ha le allucinazioni?

Esegue Whisper, quindi può averle. Comprime i silenzi lunghi, rimuove i cicli di ripetizione, le etichette dei parlanti inventate e i convenevoli allucinati dal silenzio, e scarta una pulizia che cresce ben oltre ciò che hai detto. History mostra la trascrizione grezza.