Vai al contenuto principale
GuideIntermedio4 min di lettura

La voce locale: da Whisper al text-to-speech

i
iaLocale Team
•
La voce locale: da Whisper al text-to-speech

Perché la voce è il prossimo passo

L'IA locale ha già dimostrato di funzionare per il testo: chat, riassunti, traduzioni. Ma la voce è il canale in cui viviamo davvero — riunioni, dettatura, assistenza, accessibilità. Portare la voce in locale significa controllare l'intero ciclo: dal microfono alla risposta, senza che un byte esca dal tuo hardware.

Questa guida mostra come costruire una pipeline di voce completamente locale: speech-to-text con Whisper, text-to-speech con Piper o Kokoro-82M, e i pezzi che le collegano.

Da audio a testo: Whisper e le sue implementazioni

Whisper di OpenAI è il modello di riferimento per la trascrizione automatica. Addestrato su oltre 680.000 ore di audio, supporta 99 lingue e offre dimensioni che vanno dal modello tiny (39M parametri) al large-v3 (1.55B). Il modello large-v3-turbo (809M) offre un buon compromesso tra qualità e velocità.

Per eseguirlo in locale con prestazioni accettabili, le implementazioni più usate sono:

  • faster-whisper — reimplementazione basata su CTranslate2, fino a 4 volte più veloce di openai/whisper con la stessa accuratezza e meno memoria. Supporta quantizzazione 8-bit su CPU e GPU.
  • whisper.cpp — versione in C/C++, ideale per ARM (Raspberry Pi, Apple Silicon) e CPU. Funziona senza GPU.

Il Word Error Rate (WER) è la metrica standard per confrontare le trascrizioni: un WER basso significa pochi errori per parola. Per le lingue più parlate, i modelli large restano i più accurati; per uso quotidiano su hardware modesto, medium o small con quantizzazione 8-bit sono già molto utili.

Da testo a voce: Piper e Kokoro-82M

Due voci locali spiccano per qualità e facilità d'uso:

Piper — TTS neural-based basato su VITS, con modelli pre-addestrati in più lingue (tra cui l'italiano). Leggero: gira su CPU, anche su Raspberry Pi 4, con latenza in tempo reale. Ottimo per risposte rapide, notifiche vocali, assistenti vocali.

Kokoro-82M — 82 milioni di parametri, architettura VITS, 80 lingue supportate, licenza Apache-2.0 per i modelli. La qualità delle voci è sorprendentemente alta per le dimensioni; la voce italiana af_heart è tra le più naturali in catalogo. Gira su CPU in modo efficiente, rendendolo un'opzione eccellente per chi vuole una voce locale senza una GPU dedicata.

Costruire la pipeline

Una pipeline minima di voce locale ha tre stadi:

  1. Acquisizione — microfono o file audio (WAV, MP3, OGG).
  2. Trascrizione (STT) — Whisper (faster-whisper o whisper.cpp) → testo.
  3. Sintesi (TTS) — Piper o Kokoro → audio di risposta.

Tra gli stadi puoi inserire un LLM locale (Ollama con Qwen, Llama, Mistral) per generare la risposta testuale prima della sintesi. Il risultato è un assistente vocale completo che funziona senza connessione.

Esempio rapido con faster-whisper e Piper

Trascrizione:

from faster_whisper import WhisperModel
model = WhisperModel("large-v3-turbo", compute_type="int8")
segments, info = model.transcribe("riunione.wav", language="it")
testo = " ".join(s.text for s in segments)
print(testo)

Sintesi:

echo "Riassunto: la riunione ha trattato tre punti." | piper --model it_IT-medium --output_file rispo.wav

Requisiti hardware

ComponenteMinimo (STT+TTS CPU)Consigliato (STT+TTS GPU)
CPU4 core (x86_64 o ARM)8+ core
RAM8 GB16 GB
GPUnon richiestaNVIDIA 8+ GB VRAM (o Apple Silicon M1/M2)
Disco~2 GB (modelli)~4 GB

Con large-v3-turbo quantizzato int8 su CPU, la trascrizione è in tempo reale su macchine recenti. Kokoro-82M su CPU ha una latenza di pochi secondi per frasi brevi.

Casi d'uso pratici

  • Dettatura — parla, il testo arriva nella tua app di note o di email.
  • Riunioni — trascrizione in tempo reale più riassunto con un LLM locale.
  • Accessibilità — sintesi vocale per documenti, email, notifiche.
  • Assistente personale — pipeline completa con LLM: domanda vocale, risposta vocale, tutto in locale.

Prodotti come TalkScribe dimostrano che l'intero ciclo (Whisper più LLM locale Qwen su GPU M-series) può vivere in un'app macOS nativa, senza cloud.

Dove andare dopo

Una volta che la pipeline di base funziona, i passi naturali sono:

  • Punteggiatura e capitalizzazione — Whisper la gestisce internamente; per flussi in tempo reale, considera faster-whisper con beam size 1.
  • Voice activity detection (VAD) — per spezzare l'audio in segmenti quando qualcuno parla, senza trasmettere stream continuo.
  • Sintonizzazione fine — se la tua voce o il tuo accento specifico danno WER alti, un piccolo dataset (10-30 minuti) può migliorare il modello.

La voce è il punto in cui l'IA locale smette di essere un esperimento e diventa un assistente che vive con te, sul tuo hardware, sempre disponibile.

Articolo generato con IA

#Guide#Locale#Trascrizione#TTS#Voice
Condividi:

Ti è piaciuto questo articolo?

Iscriviti alla newsletter per ricevere nuovi tutorial e guide.

Dopo l'iscrizione ricevi una email di conferma (double opt-in). Senza conferma non inviamo nulla. Nessuno spam, ti promettiamo.

Articoli Correlati