Il riconoscimento vocale trasforma un'onda sonora continua in parole distinte, e lo fa attraverso una serie fissa di passaggi. Il segnale del microfono viene campionato in numeri, i numeri diventano uno spettrogramma, una rete neurale associa allo spettrogramma il testo più probabile e un passaggio di formattazione rende quel testo leggibile. Ogni sistema moderno, dalla tastiera del telefono a un assistente per le note delle riunioni a un'app di dettatura, segue una versione di questa pipeline.
La risposta breve a «come fa a sapere che cosa ho detto» è: non lo sa, lo stima. Il modello restituisce il testo più probabile per il suono ricevuto, in base a ciò che ha visto durante l'addestramento. Questo solo fatto spiega gran parte dei comportamenti che si notano nella pratica: perché le frasi comuni escono perfette, perché il cognome di un collega no, e perché una pausa rumorosa può trasformarsi in una frase che nessuno ha detto.
Questo articolo ripercorre la pipeline fase per fase, senza matematica e senza entrare nei dettagli interni di un fornitore in particolare.
Il suono è un'onda di pressione. Il microfono la converte in una tensione elettrica e un convertitore analogico-digitale misura quella tensione molte migliaia di volte al secondo. Ogni misura è un campione.
La musica si registra di solito a 44.100 o 48.000 campioni al secondo. Al riconoscimento vocale ne servono raramente così tanti: le frequenze che portano la voce si trovano per lo più sotto gli 8 kHz, quindi la maggior parte dei sistemi lavora a 16.000 campioni al secondo (16 kHz). L'articolo su Whisper, per esempio, specifica che tutto l'audio viene ricampionato a 16.000 Hz prima di qualsiasi altra operazione. L'audio telefonico è spesso a 8 kHz, ed è uno dei motivi per cui le registrazioni telefoniche sono più difficili da trascrivere: una parte del segnale vocale non è mai stata catturata.
In questa fase non ci sono parole, né lettere, né rilevamento del silenzio. C'è solo un lungo elenco di numeri: un minuto di audio a 16 kHz ne contiene 960.000.
La forma d'onda grezza dice quanto è forte il segnale in ogni istante, ma l'informazione che distingue un suono linguistico da un altro sta nelle sue frequenze. Una «s» è un'esplosione di rumore ad alta frequenza; una vocale come la «a» ha bande di energia forti e stabili più in basso.
Per questo il sistema taglia l'audio in brevi finestre sovrapposte, in genere di circa 25 millisecondi, spostate di 10 millisecondi l'una dall'altra, e misura quanta energia ha ogni finestra a ogni frequenza. Affiancate, queste misure formano uno spettrogramma: il tempo su un asse, la frequenza sull'altro, l'intensità come luminosità.
La maggior parte dei sistemi usa uno spettrogramma log-Mel. «Mel» significa che le bande di frequenza sono distribuite come l'udito umano percepisce l'altezza dei suoni: fitte alle basse frequenze, rade alle alte. «Log» comprime l'intensità come fa l'orecchio. I modelli originali di Whisper usano 80 canali Mel su finestre di 25 ms con passo di 10 ms; il modello large-v3 è passato a 128. In ogni caso, un secondo di audio diventa circa 100 colonne di numeri, un input molto più compatto e informativo di 16.000 campioni grezzi.
È qui che gli approcci sono cambiati di più negli ultimi quindici anni.
Per decenni i sistemi di riconoscimento sono stati costruiti a partire da componenti separati. Un modello acustico stimava quali suoni linguistici (fonemi) erano probabili in ogni frame, un dizionario di pronuncia elencava come ogni parola è composta da fonemi e un modello linguistico valutava quali sequenze di parole erano plausibili. I modelli di Markov nascosti tenevano insieme il tutto nel tempo. Intorno al 2012 le reti neurali profonde hanno sostituito i più vecchi modelli a mistura gaussiana all'interno di questa pipeline e hanno ridotto sensibilmente i tassi di errore: la svolta si fa risalire di solito all'articolo congiunto di Hinton e colleghi di quattro gruppi di ricerca.
I sistemi moderni addestrano per lo più un'unica rete neurale che va direttamente dallo spettrogramma al testo. Prevalgono tre architetture:
| Approccio | Come allinea suono e testo | Punto di forza tipico |
|---|---|---|
| CTC (Graves et al., 2006) | Emette un'etichetta o un «blank» per ogni frame, poi fonde le ripetizioni | Veloce, semplice, adatto allo streaming |
| Transducer, RNN-T (Graves, 2012) | A ogni passo decide se emettere un token o leggere il frame successivo | Streaming a bassa latenza |
| Encoder-decoder con attention | Un encoder legge l'intero segmento, un decoder scrive il testo token dopo token | Alta accuratezza su enunciati completi |
Whisper è un esempio del terzo tipo: un Transformer encoder-decoder che legge blocchi di 30 secondi e scrive testo. La trascrizione in streaming, con le parole che compaiono mentre si sta ancora parlando, favorisce i primi due, perché possono produrre output prima che la frase sia finita.
L'output di solito non è fatto di parole intere ma di token sub-word: frammenti come «tras», «criz», «ione». Questo permette a un modello di scrivere parole che non ha mai visto per intero, ed è il motivo per cui il nome di un prodotto nuovo può uscire come una combinazione di frammenti plausibile ma sbagliata.
Un modello end-to-end non ha un dizionario separato, ma ha comunque un forte senso di quali sequenze di parole sono probabili, appreso dal testo abbinato al suo audio di addestramento. Qui conta la scala: i modelli originali di Whisper sono stati addestrati su 680.000 ore di audio etichettato, di cui 117.000 ore in 96 lingue diverse dall'inglese; large-v3 ha usato 1 milione di ore di audio con etichette deboli più 4 milioni di ore di audio pseudo-etichettato. Le lingue e gli accenti rari nei dati di addestramento vengono riconosciuti con meno precisione, per lo stesso motivo per cui lo sono i nomi rari.
La rete non restituisce una sola risposta. A ogni passo produce una probabilità per ogni token possibile. La decodifica è la ricerca della sequenza migliore nel complesso: la decodifica greedy prende ogni volta il token più probabile, mentre la beam search (ricerca a fascio) mantiene vive diverse frasi candidate e alla fine sceglie la migliore tra quelle complete.
È qui che agiscono anche i suggerimenti di vocabolario. Molti motori accettano un elenco di termini attesi o un breve prompt testuale; la guida al prompting di OpenAI per Whisper, per esempio, mostra un prompt che elenca nomi di prodotti e aziende per orientarne la grafia. Un suggerimento sposta le probabilità verso quelle parole, ma non può salvare un audio che il modello davvero non riesce a sentire.
L'output grezzo del riconoscimento tende ad apparire così: «quindi la riunione è alle tre e mezza del cinque marzo». Trasformarlo in «Quindi la riunione è alle 15:30 del 5 marzo.» è un compito a sé:
Alcuni modelli, Whisper compreso, imparano a produrre direttamente testo punteggiato perché le trascrizioni di addestramento erano punteggiate. Altri eseguono un modello dedicato dopo il riconoscimento. In ogni caso, gli errori di formattazione sono una categoria diversa dagli errori di riconoscimento: le parole possono essere giuste e il testo comunque difficile da leggere.
Conoscere la pipeline rende prevedibili gli errori tipici:
L'accuratezza viene di solito indicata con il word error rate (WER), il tasso di errore sulle parole: sostituzioni, cancellazioni e inserimenti divisi per il numero di parole effettivamente pronunciate. È utile per confrontare sistemi sullo stesso audio, ma i valori di fornitori diversi non sono direttamente confrontabili: le registrazioni di test sono diverse, e lo sono anche le regole di normalizzazione che stabiliscono se «15:30» e «tre e mezza» contano come la stessa cosa.
Per l'uso quotidiano, dalla pipeline discendono alcune conclusioni pratiche:
In Speak-Y la dettatura funziona in oltre 67 lingue con punteggiatura automatica, e la modalità riunione registra le chiamate in locale senza che entri un bot, trascrive separando i parlanti e per impostazione predefinita conserva le trascrizioni sul dispositivo; i pro e i contro della registrazione senza bot sono trattati in registrare le riunioni senza bot. Una volta che le trascrizioni esistono, la domanda successiva è che cosa farne: un server MCP locale permette ad assistenti IA come Claude o Cursor di cercarle e leggerle, come spiegato da zero in che cos'è un server MCP.
Un microfono trasforma la pressione dell'aria in una sequenza di numeri, di solito 16.000 campioni al secondo per il riconoscimento vocale. Il software converte brevi porzioni sovrapposte di quel segnale in uno spettrogramma, un'immagine di quali frequenze sono forti in ogni istante. Una rete neurale legge lo spettrogramma e prevede la sequenza più probabile di parole o frammenti di parola; un ultimo passaggio aggiunge punteggiatura, maiuscole e formattazione dei numeri.
Uno spettrogramma mostra come l'energia di un suono si distribuisce tra le frequenze nel tempo. I sistemi di riconoscimento usano di solito uno spettrogramma log-Mel, che dispone le frequenze come le percepisce l'udito umano. Whisper di OpenAI, per esempio, calcola uno spettrogramma log-Mel a 80 canali su finestre di 25 millisecondi con passo di 10 millisecondi, il che fornisce al modello 100 frame di caratteristiche per secondo di audio.
Il modello sceglie il testo più probabile per il suono che sente, e la probabilità viene dai dati di addestramento. Un cognome raro o il nome di un prodotto nuovo compariva poco o per nulla in quei dati, quindi vince una parola comune dal suono simile. I suggerimenti di vocabolario aiutano: molti motori accettano un elenco di termini attesi o un breve prompt testuale che orienta l'output verso quelle grafie.
Sì. I modelli che generano testo token dopo token possono produrre frasi scorrevoli durante il silenzio o il rumore. Uno studio FAccT del 2024, Careless Whisper, ha rilevato che circa l'1% delle trascrizioni di Whisper del suo campione conteneva intere frasi allucinate. Eliminare il silenzio prima del riconoscimento e rileggere le trascrizioni importanti riduce il rischio.
Il word error rate (WER), o tasso di errore sulle parole, è la metrica di accuratezza standard: sostituzioni più cancellazioni più inserimenti, diviso per il numero di parole della trascrizione di riferimento. Più è basso, meglio è, e può superare il 100% quando un sistema inserisce molte parole in più. I valori di WER sono confrontabili solo se provengono dallo stesso audio di test e dalle stesse regole di normalizzazione del testo.