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() come asr_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 transcribe per trascrivere in inglese
    • Tradurre l’audio in diversi lingue grazie alla funzione transcribe() con target_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.