WhisperX: Trascrizioni di precisione
Strumento open source per trascrizione audio avanzata.
Guida Pratica a WhisperX: Trascrizione e Diarizzazione (Speaker-ID)
WhisperX è uno strumento avanzato basato sull'IA di OpenAI (Whisper) che non solo trascrive l'audio con altissima precisione, ma offre due funzionalità cruciali per un uso professionale:
- Allineamento temporale: Assegna un tempo preciso (millisecondi) a ogni singola parola.
- Diarizzazione (Pyannote): Riconosce e separa le voci dei diversi interlocutori.
Questa guida ti accompagna passo passo nell'installazione e nell'uso.
FASE 1: Preparazione di Hugging Face e Pyannote
La diarizzazione di WhisperX si appoggia a modelli creati da "Pyannote" e ospitati su Hugging Face. Questi modelli sono gratuiti, ma "gated" (protetti).
- Crea un account gratuito su Hugging Face.
- Accetta le condizioni d'uso per
pyannote/speaker-diarization-3.1epyannote/segmentation-3.0. - Crea un token con permessi di tipo Read (inizierà con
hf_...).
FASE 2: Installazione dell'Ambiente
WhisperX richiede una scheda video (GPU) NVIDIA. Esegui questi comandi:
sudo apt-get update && sudo apt-get install -y ffmpeg
pip install git+https://github.com/m-bain/whisperX.git
pip install transformers==4.50.0
pip install --force-reinstall torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 FASE 3: Esecuzione del Comando Principale
whisperx "nome_file_audio.wav" \
--model large-v3 \
--language en \
--diarize \
--min_speakers 2 \
--max_speakers 2 \
--hf_token IL_TUO_TOKEN_QUI \
--compute_type float16 \
--output_dir /cartella/di/salvataggio \
--output_format all Spiegazione dei Parametri:
- --model large-v3: Usa il modello Whisper più grande e intelligente.
- --language [codice]: Forza la lingua dell'audio (es.
en,it,id). - --diarize: Attiva il riconoscimento di chi sta parlando.
- --min_speakers / --max_speakers: Aiuta l'IA a non creare voci "fantasma".
- --compute_type float16: Ottimizza il consumo di RAM video.
- --output_format all: Genera tutti i formati utili.
Attenzione: Il problema dell'Align Model (Lingue non standard)
Se usi lingue meno diffuse (es. Indonesiano), aggiungi un modello Wav2Vec2 specifico al comando:--align_model indonesian-nlp/wav2vec2-large-xlsr-indonesian
FASE 4: I Formati di Output
- .json: Testo, tempi al millisecondo per parola, ID speaker.
- .srt / .vtt: Formati standard per sottotitoli.
- .txt: Testo semplice e pulito.
- .tsv: Formato tabellare per Excel o Sheets.