Trascrivere a mano un'intervista di un'ora puo' portare via mezza giornata. Con Whisper, il modello di riconoscimento vocale open source di OpenAI, lo stesso lavoro si fa in pochi minuti, gratis e sul proprio computer, senza caricare i file su servizi esterni. Questa guida spiega come installarlo e usarlo davvero, su Windows, macOS e Linux, scegliendo la versione giusta per il proprio hardware.

A chi serve e cosa otterrai

E' utile a chi deve trascrivere interviste, lezioni, riunioni, podcast, note vocali o sottotitolare video: giornalisti, studenti, ricercatori, creator, segreterie. Alla fine avrai un testo trascritto, un file di sottotitoli .srt sincronizzato e una procedura ripetibile a costo zero. Prerequisiti reali: un PC con Windows 10/11, macOS o Linux; da 2 a 10 GB liberi su disco a seconda del modello; almeno 8 GB di RAM per i modelli grandi; opzionale ma molto utile una GPU NVIDIA per andare piu' veloci. Serve un minimo di dimestichezza con il terminale (un paio di comandi); in alternativa indico anche app con interfaccia grafica.

Quale strumento scegliere

Tutti usano lo stesso modello Whisper, ma in implementazioni diverse:

  • OpenAI Whisper (pip install openai-whisper): l'implementazione di riferimento in Python. Semplice, ma lenta su CPU. Pro: e' lo standard. Contro: la piu' pesante.
  • faster-whisper: stesso modello riscritto con CTranslate2, fino a quattro volte piu' veloce e con meno consumo di memoria. E' la mia prima scelta per chi non ha paura di tre righe di Python.
  • whisper.cpp: versione in C++, gira benissimo su Mac con chip Apple Silicon e anche su CPU modeste, con modelli quantizzati. Ottima se non vuoi installare Python.
  • WhisperX: aggiunge i timestamp a livello di parola e la diarizzazione (capire chi parla). Utile per interviste a piu' voci.
  • App con interfaccia: Buzz (Windows/macOS/Linux), Vibe, MacWhisper (macOS). Pro: niente terminale. Contro: meno controllo sui parametri.

E i servizi online? L'API di OpenAI (modelli whisper-1 e i piu' recenti gpt-4o-transcribe e gpt-realtime-whisper) costa intorno a 0,006 dollari al minuto; ci sono anche AssemblyAI, Deepgram, Google. Pro: zero installazione, scalabile. Contro: i file lasciano il tuo computer (privacy) e su molte ore il conto sale. Regola pratica: per uso personale o materiale sensibile, Whisper in locale; per centinaia di ore al mese senza GPU, valuta l'API.

Installazione passo passo con faster-whisper

  1. Installa Python 3.10 o superiore (da python.org) e ffmpeg, che serve a leggere audio e video: su macOS brew install ffmpeg, su Windows choco install ffmpeg (oppure scarica i binari ufficiali), su Linux sudo apt install ffmpeg.
  2. Apri il terminale e installa la libreria:
    pip install faster-whisper
  3. Crea un file trascrivi.py con questo contenuto:
    from faster_whisper import WhisperModel
    
    # 'large-v3' = massima qualita'; usa 'medium' o 'small' se sei su CPU lenta
    model = WhisperModel('large-v3', device='cpu', compute_type='int8')
    
    segments, info = model.transcribe(
        'intervista.mp3',
        language='it',          # forza l'italiano; togli la riga per il rilevamento automatico
        beam_size=5,
        vad_filter=True,        # ignora i silenzi, riduce le allucinazioni
    )
    
    print(f'Lingua: {info.language} - durata: {info.duration:.0f}s')
    with open('trascrizione.txt', 'w', encoding='utf-8') as out:
        for seg in segments:
            print(f'[{seg.start:7.2f} -> {seg.end:7.2f}]  {seg.text.strip()}')
            out.write(seg.text.strip() + ' ')
  4. Metti il tuo file audio (per esempio intervista.mp3) nella stessa cartella e lancia:
    python trascrivi.py
    Vedrai scorrere il testo con i tempi e troverai trascrizione.txt pronto.

Quale modello usare: memoria e qualita' a confronto

ModelloMemoria circaVelocita'Qualita' in italiano
tiny~1 GBvelocissimoscarsa
base~1 GBmolto velocemediocre
small~2 GBvelocebuona
medium~5 GBmediamolto buona
large-v3~10 GBlenta su CPUottima

Per l'italiano consiglio almeno small; se hai una GPU NVIDIA usa large-v3 senza pensarci, cambiando nel codice device='cuda', compute_type='float16': la trascrizione di un'ora puo' richiedere meno di un minuto.

Forme d'onda audio su un computer, trascrizione automatica di interviste e podcast con Whisper in locale
Whisper trasforma ore di audio in testo e sottotitoli senza inviare nulla in rete.

Generare i sottotitoli .srt e azzeccare i nomi propri

Per ottenere un file di sottotitoli pronto per un video, la via piu' rapida e' whisper.cpp. Su Mac o Linux:

git clone https://github.com/ggml-org/whisper.cpp
cd whisper.cpp
make
bash ./models/download-ggml-model.sh large-v3
./build/bin/whisper-cli -m models/ggml-large-v3.bin -f video-audio.wav -l it -osrt

Otterrai video-audio.wav.srt da caricare su YouTube o nel tuo editor video. Un trucco utile con tutte le versioni: passare un prompt iniziale con i termini ricorrenti, cosi' Whisper li scrive giusti. In faster-whisper:

segments, info = model.transcribe(
    'puntata.mp3', language='it',
    initial_prompt='Anthropic, NVIDIA, GPT, Hugging Face, Mistral, agenti AI'
)
Risultato atteso: nomi come "Anthropic" o "Hugging Face" trascritti correttamente invece di versioni storpiate foneticamente.

Varianti e casi avanzati

  • Capire chi parla: con WhisperX (pip install whisperx) puoi aggiungere la diarizzazione; serve un token gratuito di Hugging Face per il modello pyannote.
  • Tradurre invece di trascrivere: aggiungi task='translate' e Whisper restituira' il testo in inglese.
  • Riassumere dopo: passa la trascrizione a un LLM in locale con Ollama oppure a ChatGPT/Claude per ricavarne un sommario, i punti chiave o il verbale di una riunione.

Errori comuni e come risolverli

  • ffmpeg not found oppure [Errno 2]: ffmpeg non e' installato o non e' nel PATH. Installalo e riapri il terminale.
  • Trascrizione lentissima: usa faster-whisper, un modello piu' piccolo, compute_type='int8' oppure la GPU.
  • Frasi inventate sui silenzi o sulla musica: attiva vad_filter=True (gia' presente nello script sopra).
  • Lingua sbagliata: forza language='it' invece di lasciare il rilevamento automatico.
  • CUDA out of memory: passa a un modello piu' piccolo o a compute_type='int8_float16'.
  • Audio strano o a piu' canali: converti prima con ffmpeg -i input.m4a -ac 1 -ar 16000 audio.wav.

Quando non usare questo approccio

Se devi trascrivere centinaia di ore al mese e non hai una GPU, l'API a consumo ti fa risparmiare tempo a un costo contenuto. Se ti serve la trascrizione dal vivo, in tempo reale durante una chiamata, Whisper "da file" non basta: guarda i modelli in streaming come gpt-realtime-whisper o servizi specializzati. E se l'audio e' di pessima qualita' (registrazione lontana, molto rumore), nessun modello fa miracoli: meglio ripulire prima la traccia.

Come proseguire

Una volta presa la mano, conviene costruirsi una piccola pipeline: una cartella "da trascrivere", uno script che processa tutti i file e un secondo passaggio che manda le trascrizioni a un modello per riassunti o sottotitoli tradotti. La documentazione di riferimento e' su GitHub di OpenAI Whisper, su faster-whisper e, per la versione in C++, su whisper.cpp.