Trascrivere un'intervista, sottotitolare un video, ricavare il testo di una lezione o di un podcast: sono operazioni che un tempo richiedevano ore di lavoro manuale o servizi a pagamento. Oggi puoi farle gratis, sul tuo computer, con Whisper, il modello di riconoscimento vocale open source rilasciato da OpenAI. In questa guida vediamo come installarlo e usarlo davvero, dai comandi base fino ai sottotitoli con marcatura temporale, scegliendo lo strumento giusto in base al tuo hardware.

A chi serve e cosa otterrai

Questa guida è pensata per giornalisti, studenti, ricercatori, podcaster, creatori di contenuti e chiunque debba trasformare audio o video in testo. Alla fine sarai in grado di: ottenere la trascrizione di un file audio in italiano (e in decine di altre lingue), generare sottotitoli nel formato standard SRT, e persino tradurre il parlato in inglese. Tutto in locale, senza caricare i tuoi file su server esterni: un vantaggio decisivo per la privacy quando si lavora con contenuti riservati.

Prerequisiti: un computer Windows, macOS o Linux; Python 3.9 o superiore installato; qualche dimestichezza con il terminale. Una scheda grafica NVIDIA con CUDA accelera molto il lavoro, ma non è obbligatoria: si può trascrivere anche solo con la CPU, più lentamente.

Quale strumento scegliere: tre opzioni a confronto

Whisper esiste in più implementazioni. Le tre più usate:

  • openai-whisper — la versione ufficiale, la più semplice da installare e con un comodo comando da terminale che genera direttamente i sottotitoli. Ottima per iniziare, ma non è la più veloce.
  • faster-whisper — una reimplementazione basata su CTranslate2: stessi modelli, ma fino a 4 volte più veloce e con minor consumo di memoria. È la mia prima scelta per chi deve trascrivere molti file o tenere d'occhio i tempi.
  • whisper.cpp — scritta in C++, gira benissimo su CPU e su Mac con Apple Silicon, senza bisogno di Python. Perfetta per chi vuole leggerezza e nessuna dipendenza pesante.

Tutte usano gli stessi modelli, che esistono in varie taglie: tiny, base, small, medium e large-v3. Più grande è il modello, migliore è la qualità (soprattutto in italiano), ma maggiori sono i requisiti: il modello large-v3 chiede circa 10 GB di VRAM, mentre small o medium sono un buon compromesso su macchine modeste.

Whisper trascrive interviste, podcast e lezioni in italiano e in decine di lingue.

Passo 1: installare ffmpeg e Whisper

Whisper ha bisogno di ffmpeg per leggere i file audio e video. Installalo così:

# macOS (con Homebrew)
brew install ffmpeg

# Ubuntu / Debian
sudo apt update && sudo apt install ffmpeg

# Windows (con Chocolatey)
choco install ffmpeg

Poi installa la versione ufficiale di Whisper con pip:

pip install -U openai-whisper

Passo 2: la prima trascrizione (e i sottotitoli SRT)

Con la versione ufficiale basta un comando. Per trascrivere un file in italiano e ottenere subito il file dei sottotitoli:

whisper intervista.mp3 --language Italian --model medium --output_format srt

Whisper scarica il modello la prima volta, elabora l'audio e salva nella cartella corrente i file con la trascrizione, incluso un .srt pronto da caricare su YouTube o in un editor video. Puoi chiedere più formati insieme (per esempio --output_format all per ottenere testo, SRT, VTT e altri).

Passo 3: la versione veloce con faster-whisper

Se hai molti file o vuoi sfruttare al meglio la GPU, passa a faster-whisper. Installa:

pip install faster-whisper

Poi crea uno script Python, ad esempio trascrivi.py:

from faster_whisper import WhisperModel

# Su GPU NVIDIA: device="cuda", compute_type="float16"
# Solo CPU:      device="cpu",  compute_type="int8"
model = WhisperModel("large-v3", device="cuda", compute_type="float16")

segments, info = model.transcribe("intervista.mp3", language="it")
print("Lingua rilevata:", info.language)

for s in segments:
    print(f"[{s.start:.2f}s -> {s.end:.2f}s] {s.text}")

Esegui con python trascrivi.py. Ogni segmento riporta l'inizio e la fine in secondi: sono i dati che servono per costruire i sottotitoli e per ritrovare un passaggio nell'audio originale.

faster-whisper è fino a quattro volte più veloce a parità di modello e qualità.

Passo 4: l'alternativa senza Python (whisper.cpp)

Se vuoi evitare Python e ottenere il massimo dalla CPU, usa whisper.cpp. L'audio va prima convertito in WAV mono a 16 kHz:

ffmpeg -i intervista.mp3 -ar 16000 -ac 1 intervista.wav

git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
sh ./models/download-ggml-model.sh large-v3
cmake -B build && cmake --build build -j
./build/bin/whisper-cli -m models/ggml-large-v3.bin -f ../intervista.wav -l it

Il flag -l it imposta l'italiano; aggiungendo -osrt ottieni anche qui un file di sottotitoli.

Tradurre e altri casi avanzati

Whisper sa anche tradurre: con la versione ufficiale, whisper lezione.mp3 --task translate produce la traduzione in inglese del parlato (la traduzione è supportata verso l'inglese). Per separare automaticamente i diversi interlocutori — utile nelle interviste a più voci — esiste WhisperX, che aggiunge l'allineamento preciso delle parole e la diarizzazione. È uno strumento più complesso da configurare, ma indispensabile quando serve sapere chi ha detto cosa.

Errori comuni e come risolverli

  • «ffmpeg not found»: ffmpeg non è installato o non è nel PATH. Reinstallalo (Passo 1) e riapri il terminale.
  • «CUDA out of memory»: il modello scelto è troppo grande per la tua GPU. Scendi di taglia (da large-v3 a medium o small) oppure usa compute_type="int8".
  • Trascrizione lentissima: stai girando su CPU. È normale; usa un modello più piccolo o, se hai una GPU NVIDIA, assicurati che device="cuda" sia attivo.
  • Punteggiatura o nomi sbagliati: passa a un modello più grande, che in italiano migliora sensibilmente, e rileggi sempre i punti critici.

Quando non usare Whisper in locale

Whisper in locale è ideale per privacy, costo zero e volumi medi. Se però devi trascrivere centinaia di ore al mese e non hai una GPU, i servizi cloud a pagamento possono risultare più pratici e veloci. E se ti serve la massima accuratezza su audio molto disturbato, conviene comunque una revisione umana finale. Per la stragrande maggioranza degli usi quotidiani, però, questa configurazione gratuita è più che sufficiente: una volta impostata, trascrivere un'ora di audio diventa questione di pochi minuti.