Guida per trascrivere audio gratis con Whisper e Kaggle

Come trascrivere un file audio gratis con Whisper e Kaggle

Guida per trascrivere 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.
Logo Purple Swan, blog di programmazione, sviluppo software e tecnologia

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.

Schema audio trasformato in testo con Whisper.

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.

Logo Purple Swan, blog di programmazione, sviluppo software e tecnologia

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
HTML code displayed on a screen, demonstrating web structure and syntax.

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”.

Logo Purple Swan, blog di programmazione, sviluppo software e tecnologia

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.

Articoli simili

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *