Come trascrivere un file audio gratis con Whisper e Kaggle

Hai un file audio e vuoi trasformarlo in testo senza pagare nulla?
In questa guida vedremo come usare Whisper, il modello open source di OpenAI, all’interno di un Notebook Kaggle, direttamente dal browser e senza installare software sul computer.
È una soluzione ideale per trascrivere:
- riunioni
- lezioni
- interviste
- podcast
- note vocali
- meeting di lavoro.

In breve
Useremo un Notebook Kaggle gratuito, caricheremo un file audio, installeremo Whisper e salveremo la trascrizione in formato .txt.
Cos’è Whisper
Whisper è un modello di riconoscimento vocale sviluppato da OpenAI. È in grado di trascrivere decine di lingue, riconoscere accenti e gestire un linguaggio naturale con ottima accuratezza.
Oggi esistono anche implementazioni alternative come faster-whisper, whisper.cpp e WhisperX. In questa guida useremo la libreria ufficiale openai-whisper, semplice e adatta ai principianti.

Perché usare Kaggle
Kaggle mette gratuitamente a disposizione Notebook Python eseguibili nel browser. Quando disponibile, è possibile utilizzare anche una GPU NVIDIA per accelerare la trascrizione.
La disponibilità della GPU dipende però dalle quote gratuite dell’account e non è sempre garantita. Se non è disponibile, Whisper funzionerà comunque utilizzando la CPU.
Cosa serve
- un account Kaggle gratuito;
- un file audio (mp3, wav, m4a, flac, ogg);
- una connessione Internet.
Ricorda!
Evita di caricare file con dati sensibili, privati o riservati se non hai il diritto di elaborarli. Se stai trascrivendo meeting di lavoro, interviste o conversazioni con altre persone, assicurati di avere il consenso necessario.
Creazione del Notebook
Crea un nuovo Notebook su Kaggle e, se disponibile, abilita la GPU dalle impostazioni del Notebook.



Nessun problema
Se non trovi la GPU o non è disponibile, puoi continuare comunque con la CPU.
La trascrizione potrebbe solo richiedere più tempo.
Caricamento del file
Carica il file con Add Data. Verrà salvato nella cartella
/kaggle/input/
intervista.mp3
Ricorda!
Il nome della cartella e del file cambia in base a come hai chiamato il tuo dataset e il tuo audio. Copia sempre il percorso reale del tuo file dentro Kaggle.
Installazione
!pip install -q openai-whisper
Per ottenere prestazioni migliori puoi usare anche:
pip install faster-whisper
che utilizza CTranslate2, consuma meno memoria ed è generalmente molto più veloce.
Verifica di FFmpeg
Su Kaggle FFmpeg è normalmente già installato. Puoi verificarlo con:
!ffmpeg -version

Caricamento del modello
import torch
import whisper
from pathlib import Path
AUDIO_PATH = Path("/kaggle/input/audio-intervista/intervista.mp3")
device = "cuda" if torch.cuda.is_available() else "cpu"
model = whisper.load_model("base", device=device)
I modelli disponibili comprendono tiny, base, small, medium, large, oltre alle versioni più recenti large-v2, large-v3 e turbo.
In generale i modelli più grandi offrono una precisione superiore, ma richiedono più memoria e tempo di elaborazione.

I consigli di Enrico
Per la maggior parte delle prove iniziali, usa “base”. Se la trascrizione non è abbastanza precisa, passa a “small”.

Baby steps
Se il Notebook stampa “Device usato: cuda”, stai usando la GPU. Se stampa “Device usato: cpu”, stai usando la CPU.
Trascrizione
result = model.transcribe(
str(AUDIO_PATH),
language="it", # ometti il parametro per il rilevamento automatico
fp16=torch.cuda.is_available(),
verbose=False,
temperature=0
)
Se conosci la lingua dell’audio è utile specificarla. Se invece il file contiene più lingue o non conosci la lingua parlata, è preferibile lasciare che Whisper la rilevi automaticamente.
La trascrizione completa si trova in:
text = result["text"]
I timestamp sono disponibili in:
segments = result["segments"]
e, se necessario, puoi ottenere anche i timestamp parola per parola con word_timestamps=True.
Whisper supporta anche la traduzione verso l’inglese tramite:
task="translate"
Ricorda!
Dopo la trascrizione, rileggi sempre il testo.
Whisper è molto utile, ma può commettere errori, soprattutto se l’audio è disturbato, ci sono più persone che parlano insieme o alcune parole sono poco chiare.
Salvataggio
OUTPUT_PATH = Path("/kaggle/working") / f"{AUDIO_PATH.stem}.txt"
with open(OUTPUT_PATH, "w", encoding="utf-8") as f:
f.write(result["text"])
Il file verrà salvato nella cartella /kaggle/working/ e potrà essere scaricato dalla sezione Output del Notebook.
Limiti
La qualità dipende da rumore, qualità della registrazione, numero di persone che parlano e modello scelto. File molto lunghi possono richiedere molta RAM.
Privacy
Se il file contiene dati personali o informazioni riservate, verifica che il caricamento su Kaggle sia compatibile con le tue esigenze di privacy e con le eventuali normative applicabili.
Quanto costa?
Puoi utilizzare questa procedura gratuitamente entro i limiti delle risorse offerte da Kaggle. Non servono API OpenAI né abbonamenti.
Conclusione
Con Whisper e Kaggle puoi trasformare un file audio in testo in pochi minuti, direttamente dal browser. La soluzione è semplice, gratuita entro le quote disponibili e facilmente estendibile a progetti più avanzati. Se in futuro avrai bisogno di prestazioni superiori, potrai valutare implementazioni come faster-whisper senza modificare il flusso di lavoro generale.
