Trascrivere un'intervista, una lezione, un podcast o l'audio di un video puo' richiedere ore di lavoro manuale. Con Whisper, il modello di riconoscimento vocale open source di OpenAI, si puo' fare in pochi minuti, gratis e soprattutto in locale: l'audio non lascia mai il tuo computer, un vantaggio decisivo per interviste riservate, dati sensibili o semplicemente per chi tiene alla privacy. Questa guida ti porta dall'installazione fino ai sottotitoli, con i comandi reali da digitare.
A chi serve e cosa ti serve prima di iniziare
Questa guida e' pensata per giornalisti, ricercatori, studenti, creator e chiunque debba trasformare parlato in testo. Non serve essere programmatori esperti: bastano un minimo di dimestichezza con il terminale e la voglia di seguire i passaggi. Prerequisiti reali:
- Un computer Windows, macOS o Linux. Whisper funziona anche solo con la CPU; con una scheda grafica NVIDIA va molto piu' veloce.
- Python 3.9 o superiore installato.
- FFmpeg, il coltellino svizzero dell'audio/video, necessario a Whisper per leggere i file.
- Spazio su disco: i modelli vanno da poche centinaia di MB (tiny/base) a circa 3 GB (large).
Alla fine saprai trascrivere qualsiasi file audio o video, generare sottotitoli e scegliere lo strumento giusto in base al tuo hardware.
Quale versione di Whisper scegliere: tre opzioni a confronto
Esistono tre modi principali per usare Whisper, ognuno con i suoi pro e contro.
- openai/whisper (ufficiale, Python): il piu' semplice da installare e usare, ottimo per iniziare. Piu' lento e piu' esigente di memoria rispetto alle alternative. Prima scelta per i principianti.
- faster-whisper (SYSTRAN): reimplementazione basata su CTranslate2, fino a 4 volte piu' veloce e con minor consumo di memoria, a parita' di accuratezza. Prima scelta per chi trascrive tanti file o vuole velocita'.
- whisper.cpp: versione in C++ senza dipendenze pesanti, eccellente su Mac con chip Apple e su macchine modeste. Ideale per portabilita' e uso da riga di comando. Prima scelta per Mac Apple Silicon e hardware leggero.
Consiglio pratico: parti da openai/whisper per capire il funzionamento, poi passa a faster-whisper quando la velocita' diventa importante.
Passo 1: installare FFmpeg e Whisper
Per prima cosa installa FFmpeg. Su macOS con Homebrew:
brew install ffmpeg
Su Windows con winget:
winget install Gyan.FFmpeg
Su Linux (Debian/Ubuntu):
sudo apt update && sudo apt install ffmpeg
Poi crea un ambiente virtuale Python (buona pratica per non "sporcare" il sistema) e installa Whisper:
python -m venv whisper-env
source whisper-env/bin/activate # su Windows: whisper-env\Scripts\activate
pip install -U openai-whisper
Passo 2: la prima trascrizione da terminale
Con Whisper installato, trascrivere un file e' questione di un comando. Per un file in italiano, usando il modello medium (buon equilibrio tra qualita' e velocita'):
whisper intervista.mp3 --model medium --language Italian
Whisper scarichera' il modello la prima volta, poi produrra' automaticamente diversi file nella cartella: il testo semplice (.txt), i sottotitoli (.srt e .vtt), e un file con i tempi (.tsv) e uno .json. I modelli disponibili, dal piu' leggero al piu' pesante, sono: tiny, base, small, medium, large. Piu' grande e' il modello, migliore la trascrizione ma piu' lenta e piu' esigente di memoria.
Per estrarre e trascrivere direttamente l'audio di un video basta passare il file video: FFmpeg pensa al resto.
whisper lezione.mp4 --model medium --language Italian --output_format srt
Passo 3: velocizzare tutto con faster-whisper
Quando i file sono molti o lunghi, conviene faster-whisper. Installalo con:
pip install faster-whisper
Poi usalo da uno script Python. Questo esempio trascrive un file e stampa i segmenti con i loro tempi:
from faster_whisper import WhisperModel
# "int8" usa poca memoria ed e' veloce su CPU; con GPU NVIDIA usa device="cuda"
model = WhisperModel("medium", device="cpu", compute_type="int8")
segments, info = model.transcribe("intervista.mp3", language="it")
print(f"Lingua rilevata: {info.language}")
for seg in segments:
print(f"[{seg.start:.2f}s -> {seg.end:.2f}s] {seg.text}")
Con una GPU NVIDIA e device="cuda", compute_type="float16", la stessa trascrizione puo' diventare drasticamente piu' rapida. Su CPU, int8 e' la scelta migliore per non saturare la memoria.
Passo 4: generare sottotitoli e usarli
Il file .srt prodotto da Whisper e' gia' pronto per essere caricato su YouTube, importato in un montaggio video o usato da un lettore multimediale. Per "incollare" i sottotitoli dentro il video (hardsub) puoi usare direttamente FFmpeg:
ffmpeg -i lezione.mp4 -vf subtitles=lezione.srt lezione_sottotitolata.mp4
Se vuoi ripulire o tradurre i sottotitoli, puoi passare il testo a un modello linguistico (ChatGPT, Claude, Gemini) con un prompt come questo:
Ti incollo un file di sottotitoli in formato SRT in italiano. Correggi refusi e punteggiatura mantenendo intatti numeri di blocco e marche temporali, senza alterare i tempi. Restituisci solo il file SRT corretto.
Casi avanzati: chi parla e quando (diarizzazione)
Whisper trascrive cosa viene detto, ma non distingue chi parla. Per attribuire le battute a persone diverse — utile nelle interviste a piu' voci — serve la diarizzazione. Lo strumento piu' usato e' WhisperX, che combina Whisper con l'allineamento preciso delle parole e con modelli di diarizzazione:
pip install whisperx
whisperx intervista.mp3 --language it --diarize --highlight_words True
La diarizzazione richiede in genere un token di accesso a modelli di riconoscimento del parlante e piu' risorse, ma il risultato e' una trascrizione con l'indicazione "Speaker 1", "Speaker 2" e cosi' via.
Errori comuni e come risolverli
- "ffmpeg not found" o "No such file or directory: 'ffmpeg'": FFmpeg non e' installato o non e' nel PATH. Reinstallalo e riavvia il terminale.
- Trascrizione in inglese di un audio italiano: hai dimenticato
--language Italian(olanguage="it"). Specifica sempre la lingua per evitare che Whisper "traduca" o sbagli. - Memoria esaurita / "CUDA out of memory": usa un modello piu' piccolo (
smallinvece dilarge) oppure, su faster-whisper,compute_type="int8". - Trascrizione molto lenta: sei su CPU con un modello grande. Passa a faster-whisper o a un modello piu' leggero, oppure usa una GPU.
- Testo con parole ripetute o "allucinazioni" nei silenzi: capita con audio rumorosi o lunghe pause. Prova un modello piu' grande o pulisci l'audio con FFmpeg prima della trascrizione.
Alternative e quando non usare Whisper in locale
Whisper in locale e' la scelta migliore per privacy, costo zero e uso ripetuto. Ma non e' sempre l'opzione giusta. Se devi trascrivere un solo file al volo e non hai un computer adeguato, i servizi cloud (come le API di trascrizione dei grandi fornitori o strumenti dedicati) sono piu' comodi, anche se a pagamento e con l'audio inviato a terzi. Se ti serve una trascrizione in tempo reale, valuta soluzioni pensate per lo streaming. E se lavori con lingue o dialetti poco rappresentati, verifica sempre la qualita' su un campione prima di fidarti.
Come proseguire: una volta ottenuta la trascrizione, puoi automatizzare il flusso (una cartella "in ingresso" che trascrive da sola i nuovi file), collegare il testo a un sistema di ricerca sui tuoi documenti, o usarlo come base per riassunti automatici con un modello linguistico. Whisper e' il primo tassello: da li' in poi, l'audio diventa testo su cui puoi costruire qualsiasi cosa.




