NVIDIA Canary-1B-v2 è un modello ad alte prestazioni per il riconoscimento vocale automatico (ASR) e la traduzione simultanea. In questo tutorial, costruiamo un flusso di lavoro completo per la trascrizione, traduzione multilingua e generazione automatica di sottotitoli. Segue uno script Python integrato, adatto alla GPU, per esportare file audio in formato di sottotitoli SRT personalizzati in linguaggi diversi e preparare i file audio a una risoluzione di 16 kHz.
Installazione delle dipendenze: NeMo, librerie audio, NumPy e SciPy
La prima fase consiste nell’installare le librerie necessarie per l'esecuzione del tutorial:
- NeMo (toolkit per ASR) - Per caricare il modello Canary-1B-v2
- Librosa e SoundFile - Per la gestione audio
- Numpy e Scipy - Per calcoli e operazioni numeriche
Il codice Python sotto installa le dipendenze di sistema, crea un marker per gestire l’installazione one-time, e riavvia l’esecuzione per verificare l’avvio corretto delle dipendenze.
Una volta completato il processo di setup, si può riprendere la sessione per iniziare a caricare e utilizzare il modello NVIDIA Canary.
Caricamento NVIDIA Canary-1B-v2 e disponibilità della GPU
Con l’ambiente preparato, verifichiamo la presenza della GPU e carichiamo il modello per eseguire il riconoscimento vocale e la traduzione simultanea.
Per utilizzare il modello si richiedono:
- Librerie importate (numpy, torch, soundfile, librosa)
- Disponibilità della GPU, verificata tramite
torch.cuda.is_available() - Caricamento del modello
ASRModel()comeasr_model
Il modello supporta 48 lingue, inclusi linguaggi come inglese, francese, spagnolo, tedesco, italiano, ed è configurabile per gestire audio multilingue.
Preparazione audio a 16 kHz e ASR con traduzione
L’architettura di Canary richiede il formato audio ad una frequenza di campionamento di 16 kHz e in formato mono, in modo che la funzione prepare_audio normalizzi il file audio in entrata.
Le principali operazioni include:
- Scaricare un file audio da un URL (se necessario)
- Convertirlo in formato WAV a 16 kHz mono
- Utilizzare la funzione
transcribeper trascrivere in inglese - Tradurre l’audio in diversi lingue grazie alla funzione
transcribe()contarget_lang
Il codice esegue la trascrizione base in inglese e quindi esegue la traduzione su quattro lingue: francese, tedesco, spagnolo e italiano.
Generazione di timestamp e esportazione sottotitoli SRT
Con Canary-1B-v2, è possibile ottenere non solo il testo trascritto ma anche i timestamp di parole e segmenti. Queste informazioni vengono utilizzate ad esempio:
- Stampare i segmenti di trascrizione con orari di inizio/fine
- Eseguire la stampa dei timestamp di parole (first 10 parole)
- Generare file sottotitoli .SRT per la traduzione
Il modello genera le informazioni di timestamp grazie al parametri timestamps=True in transcribe(). L’esempio mostra come convertirne i segnali in file .SRT per la visualizzazione in software video.
Esecuzione di trascrizioni audio estese, processing in batch e benchmarking
NVIDIA Canary-1B-v2 supporta il riconoscimento di lunghe trascrizioni audio e operazioni batch per massimizzare l’efficienza:
Con lo script fornito, si replicano i contenuti audio (tile x6) e si esegue una trascrizione lunga del file per testare i tempi di esecuzione.
- Riprodurre l’audio originale in una clip estesa
- Eseguire la trascrizione batch
- Eseguire benchmarking per confrontare i tempo di inferenza
Per trascrizioni lunghe (oltre 30 minuti), il modello mostra una risposta stabile in tempo reale e scalabile.
Applicazioni reali e adattamenti
Una volta costruito il pipeline, il sistema può essere riproposto per:
- Trascrizione audio multilingue per conferenze
- Traduzione simultanea per video o podcast
- Generazione di sottotitoli SRT per accessibilità in streaming
- Ricerche su grandi dataset audio
Le funzionalità offerte da NVIDIA Canary-1B-v2 lo rendono ideale come componente nei flussi di lavoro di riconoscimento vocale, traduzione e trascrizione su larga scala.
Conclusione
Il tutorial ha coperto tutto il ciclo di vita di un progetto ASR con traduzione linguistica. Dall’installazione alle librerie, alla preparazione e all’elaborazione dell’audio, fino alla creazione di sottotitoli in diversi formati di linguaggio, si ha a disposizione uno strumento potente e adatto per la modifica di trascrizioni audio in un contesto multilingue. NVIDIA Canary-1B-v2, gestito tramite NeMo e Python, rispondono alle richieste di trascrizione vocale in maniera professionale, precisa e flessibile.