Intermedio 11 minAudio

Vosk: riconoscimento vocale in tempo reale, fuori ligne

Risposta diretta

Vosk (alphacep/vosk-api, licenza Apache 2.0, sviluppato da Alpha Cephei) è un motore di riconoscimento vocale offline che trascrive in streaming, con modelli portabili di circa 50 MB per lingua — il modello francese leggero vosk-model-small-fr-0.22 pesa 41 MB. Copre 20 lingue e oltre, funziona su Raspberry Pi o smartphone, ma rimane meno preciso di Whisper su audio difficile: da riservare ai comandi vocali e all'uso in tempo reale.

Vosk è un motore di riconoscimento vocale offline, sviluppato dalla società Alpha Cephei e basato sul motore Kaldi, molto leggero, che funziona in flusso continuo: trascrive mentre si parla, su un processore modesto, con modelli di qualche decina di megabyte. Non compete con i grandi modelli in termini di qualità del testo — fa qualcosa di diverso, e ciò che fa non si sostituisce facilmente. Questa guida illustra i numeri pubblicati dal progetto, inclusi quelli dei due modelli ufficiali in francese, prima di proporre un confronto onesto con Whisper.

Di Mohamed Meguedmi·Agg. 2026-09-28·Testato su Windows, macOS e Linux

#Cosa fa Vosk in modo diverso

I modelli di trascrizione di riferimento elaborano file: ricevono una registrazione completa e restituiscono un testo una volta terminata l'elaborazione. Vosk elabora un flusso: riceve l'audio in piccoli blocchi e produce risultati parziali e poi definitivi man mano che si parla, con una latenza vicina a zero grazie alla sua API di streaming. È la scheda ufficiale del progetto a descrivere questa « zero-latency response with streaming API » come una sua caratteristica centrale, al pari delle dimensioni dei suoi modelli.

Questa differenza di architettura spiega tutto il resto: modelli minuscoli, esecuzione su CPU senza difficoltà, un consumo di memoria compatibile con un Raspberry Pi o un telefono di fascia bassa e una qualità del testo inferiore a quella dei grandi modelli quando l'audio è difficile da interpretare o rumoroso.

#Vosk in cifre, anche per il francese

Il kit IA Locale

Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita

Il progetto è preciso su ciò che propone. Il repository ufficiale annuncia il riconoscimento per «20+ languages and dialects», binding per Python, Java, Node.js, C#, C++, Rust e Go, e modelli «portabili» da 50 MB, con modelli server nettamente più grandi per chi desidera maggiore precisione. Il tutto è pubblicato sotto licenza Apache 2.0, una garanzia utile quando un progetto deve giustificare le proprie dipendenze open source davanti a un ufficio legale.

I due modelli ufficiali in francese (catalogo alphacephei.com/vosk/models)
ModelloDimensioneTasso di errore per parola (più basso = meglio)Uso previsto
vosk-model-small-fr-0.2241 MB23,95 (Common Voice) · 19,30 (MTEDX) · 27,25 (podcast)Android, iOS, Raspberry Pi
vosk-model-fr-0.221,4 GB14,72 (Common Voice) · 11,64 (MLS) · 13,10 (MTEDX)Server, maggiore precisione

La differenza di dimensioni (41 MB contro 1,4 GB) comporta una netta differenza di accuratezza, con un tasso di errore sulle parole che arriva quasi a raddoppiare a seconda del set di test. È il compromesso centrale di Vosk, quantificato anziché presunto: essendo più leggero, commette errori più spesso; questo è accettabile per un comando vocale con un vocabolario ristretto, molto meno per trascrivere un'intervista. Oltre ai modelli ufficiali, il progetto LinTO, portato avanti dall'azienda software francese Linagora, pubblica i propri modelli in francese compatibili con Vosk: un riferimento utile per un progetto francofono che vuole confrontare più fonti prima di scegliere.

Il dettaglio dei quattro set di test (Common Voice, MTEDX, podcast, MLS) va letto anche come un avvertimento metodologico, più che come una semplice classifica da prendere così com'è: il tasso di errore sulle parole può raddoppiare da un set all'altro per uno stesso modello, con valori tra 19,30 su MTEDX e 27,25 sui podcast per la versione leggera. Un audio pulito registrato in studio e una conversazione registrata in presenza di rumore ambientale non danno la stessa qualità, qualunque sia il modello scelto: un motivo in più per fare prove su registrazioni rappresentative dell'uso reale anziché affidarsi a un unico valore medio pubblicato su una scheda prodotto.

#Il tempo reale, la sua vera specialità

Latenza
Il testo appare mentre si parla, permettendo così comandi vocali e sottotitoli in tempo reale.
Risultati parziali
L'applicazione può reagire prima della fine della frase — indispensabile per una parola di attivazione o un comando breve.
Ingombro
41 MB per il modello francese leggero, contro 1,4 GB per la versione server e spesso diversi gigabyte per un grande modello generalista.
Vocabolario ristretto
È possibile limitare il riconoscimento a un elenco di parole attese, il che aumenta notevolmente la precisione sui comandi.

Quest'ultimo punto è sottovalutato. Per controllare un'applicazione con la voce, limitare il vocabolario a cinquanta comandi possibili trasforma un motore di qualità media in un motore molto affidabile, mentre un grande modello generalista continuerà a esitare tra omofoni simili. Lo conferma anche la scheda ufficiale, che cita « reconfigurable vocabulary » tra le funzioni native del motore, accanto all'identificazione del parlante: due capacità che pochi motori di queste dimensioni offrono nativamente.

#Vosk o Whisper

Due strumenti, due funzioni
CriterioVoskWhisper e derivati
ModalitàFlusso continuoFile
LatenzaQuasi nulla (API streaming)Dopo l'elaborazione
Dimensione dei modelliDa 41 MB a 1,4 GB a seconda della varianteDa centinaia di MB a diversi GB
HardwareProcessore poco potente, per sistemi embeddedProcessore adeguato, GPU auspicabile
Qualità su audio difficileCorretto, misurato (WER ≈ 15–28 secondo il modello e il test)Nettamente migliore
Punteggiatura e formattazioneLimitatoBuona
Da scegliere perComandi vocali, uso in tempo reale, sistemi embeddedTrascrizione di riunioni, interviste e video

Non c'è un vincitore assoluto. Una pipeline ben progettata usa spesso entrambi: Vosk per rilevare un comando o mostrare un feedback immediato mentre l'utente parla, un modello più pesante come Faster-Whisper per produrre la trascrizione definitiva, più fedele, una volta terminata la registrazione e quando sono disponibili le risorse di calcolo.

#I casi in cui vince

  1. 01
    Comando vocale di un'applicazione
    Vocabolario ristretto, latenza minima, nessuna dipendenza dalla rete.
  2. 02
    Sottotitolazione in diretta
    Riunione interna, conferenza, accessibilità in tempo reale.
  3. 03
    Hardware embedded
    Un nanocomputer o un dispositivo autonomo, dove un modello di grandi dimensioni non entra in memoria: il progetto cita esplicitamente Raspberry Pi e Android come piattaforme di destinazione.
  4. 04
    Riservatezza rigorosa senza GPU
    Un normale computer che non deve inviare nulla e non ha una scheda grafica.

Questi quattro casi hanno un punto in comune: accettano una qualità del testo discreta anziché eccellente, in cambio di una latenza quasi nulla e di un consumo di risorse compatibile con hardware modesto. Quando si impone il vincolo opposto — massima qualità richiesta, latenza tollerabile di qualche secondo — un modello che lavora su file come Faster-Whisper torna a essere la scelta più vantaggiosa. Questo spiega perché i due strumenti, nella maggior parte dei casi, convivono anziché sostituirsi a vicenda in una pipeline vocale completa e ben progettata.

#Formati audio ed esportazione del testo

In pratica, un progetto di trascrizione non si limita mai alla sola chiamata al motore: bisogna leggere il formato di input ricevuto, convertirlo se necessario, poi scrivere il risultato in un formato utilizzabile nelle fasi successive e spesso gestire contemporaneamente più fornitori di registrazioni. La pipeline documentata nello studio citato sopra illustra questo percorso completo: lettura di diversi formati audio comuni (WAV, MP3, FLAC, OGG) tramite moduli Python di pre-elaborazione, riconoscimento tramite il KaldiRecognizer di Vosk, poi esportazione del testo ottenuto in un documento strutturato pronto per essere riletto o archiviato.

Questo dettaglio è importante perché Vosk stesso richiede in ingresso un flusso audio in un formato preciso (PCM mono, generalmente 16 kHz), non un file qualsiasi così com'è. Un progetto che riceve audio eterogeneo — registrazioni da telefoni, esportazioni di videoconferenze, file compressi di varia provenienza — ha quindi quasi sempre bisogno di una fase di conversione prima del motore, ed è spesso lì, anziché nel motore stesso, che si nascondono i bug che peggiorano il riconoscimento senza segnalare un errore esplicito, menzionati più sopra in questa guida.

#Personalizzare il modello linguistico

Sotto il cofano, il riconoscimento vocale di Vosk si basa sul proprio KaldiRecognizer, derivato dal motore di riconoscimento vocale Kaldi: un dettaglio che spiega perché il progetto eredita tutto l'ecosistema di strumenti di personalizzazione di Kaldi anziché ripartire da zero per ogni nuova lingua o settore. Un recente lavoro di ricerca sul tema, basato su una pipeline Vosk personalizzata, ha misurato l'effetto concreto di un modello linguistico adattato: i modelli personalizzati riducono il tasso di errore sulle parole, in particolare in presenza di terminologia tecnica, accenti marcati o audio rumoroso.

Per un progetto francofono, questo apre una strada concreta oltre alla scelta tra il modello leggero e il modello server: inserire un lessico settoriale (nomi di prodotti, gergo interno, acronimi, nomi propri locali) nel modello linguistico anziché limitarsi al vocabolario generico. Richiede più lavoro di un semplice download, ma è la leva che più avvicina un'installazione di Vosk alla qualità di un modello di grandi dimensioni in un ambito specifico, senza pagarne il costo in termini di calcolo né di latenza.

!
Il formato di input, fonte di errori silenziosi
Vosk richiede un flusso PCM mono, generalmente campionato esattamente a 16 kHz. Un file stereo, una frequenza di campionamento diversa o un formato compresso non convertito peggiorano il riconoscimento senza che venga mai visualizzato un errore esplicito: il sintomo fa pensare a un modello scadente, mentre la vera causa è a monte, nella conversione.

#Implementazione

Il funzionamento è semplice: si installa il pacchetto (pip install vosk in Python), si scarica un modello per la lingua desiderata, si apre un flusso audio, si inviano segmenti al motore, si leggono i risultati parziali e poi quelli definitivi. Sono disponibili binding per Python, Java, Node.js, C#, C++, Rust e Go, e un server WebSocket permette di collegare una pagina web o un'applicazione mobile a un motore che gira sulla tua macchina.

Installare Vosk e scaricare il modello francese leggero
pip install vosk
curl -LO https://alphacephei.com/vosk/models/vosk-model-small-fr-0.22.zip
unzip vosk-model-small-fr-0.22.zip

Due aspetti da considerare prima di mettere in produzione: la qualità dipende fortemente dal modello linguistico scelto — la tabella sopra dà un ordine di grandezza, ma fai delle prove sulle tue registrazioni prima di basarti sul modello — e la frequenza di campionamento dell'audio deve corrispondere a quella attesa dal modello, altrimenti la qualità del riconoscimento peggiora senza un messaggio di errore esplicito.

#FAQ

Vosk è gratuito?+
Sì: il repository alphacep/vosk-api è pubblicato sotto licenza Apache 2.0, una delle licenze open source più permissive, che consente l'uso commerciale senza royalty. Verifica comunque la licenza dello specifico modello linguistico che scarichi: anche i due modelli francesi ufficiali sono distribuiti sotto licenza Apache 2.0, ma alcuni modelli di terze parti del catalogo hanno condizioni proprie.
Serve una scheda grafica?+
No, ed è proprio questo il suo punto di forza: il progetto è pensato per funzionare sul processore, anche su dispositivi embedded come un Raspberry Pi o uno smartphone Android, con modelli portabili di circa 50 MB — esattamente 41 MB per il modello francese leggero ufficiale.
Vosk o Whisper?+
Vosk per il live, i comandi vocali e l'uso embedded, con latenza quasi nulla grazie alla sua API di streaming. Whisper e i suoi derivati come Faster-Whisper per trascrivere file con la migliore qualità testuale. I due si combinano molto bene in una stessa catena.
Funziona in francese e con quale qualità?+
Sì, esistono due modelli ufficiali: vosk-model-small-fr-0.22 (41 MB, tasso di errore sulle parole intorno a 20-27 a seconda del test) per i sistemi embedded, e vosk-model-fr-0.22 (1,4 GB, intorno a 12-14) per una maggiore precisione lato server. Esistono anche alternative tramite il progetto LinTO del produttore di software francese Linagora.
È possibile limitare il vocabolario riconosciuto?+
Sì, ed è l'impostazione che incide di più sulla precisione dei comandi vocali: limitare il riconoscimento a un elenco di frasi previste migliora nettamente l'affidabilità, una funzione che il progetto documenta esplicitamente con il nome di vocabolario riconfigurabile, insieme all'identificazione del parlante.
Quali dimensioni del modello scegliere per un progetto embedded?+
Il modello leggero da 41 MB (vosk-model-small-fr-0.22 per il francese) resta la soluzione di riferimento per Raspberry Pi o Android. Il modello server da 1,4 GB riduce quasi della metà il tasso di errore sulle parole misurato sugli stessi set di test, ma richiede più memoria e capacità di calcolo disponibili, il che lo esclude da un'implementazione realmente embedded.
È possibile migliorare la precisione senza cambiare modello?+
Sì, personalizzando il modello linguistico con il lessico professionale del progetto piuttosto che cambiando la dimensione del modello. Uno studio recente basato sulla pipeline Vosk mostra che questo approccio riduce il tasso di errore sulle parole, in particolare in presenza di gergo tecnico, accenti marcati o audio rumoroso, senza il costo computazionale di un modello più pesante.
Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.