如何使用NVIDIA Canary-1B-v2進行ASR、翻譯和自動SRT字幕匯出(Python)
本教程使用NVIDIA Canary-1B-v2構建多語言ASR和語音翻譯流水線,涵蓋環境搭建、音訊預處理、英語ASR、多語言翻譯、時間戳提取、SRT字幕匯出、長音訊轉錄、批次處理及效能基準測試。
在本教程中,我們將使用NVIDIA Canary-1B-v2構建一個完整的語音識別與翻譯工作流。首先,在GPU執行時中安裝所需的系統包、NeMo ASR工具包、音訊處理庫以及相容的NumPy和SciPy版本。隨後,載入Canary模型至GPU裝置以便高效推理。
我們透過librosa將音訊轉換為16 kHz單聲道格式,然後對英文音訊執行ASR(自動語音識別),並獲得文本轉錄。接著,利用Canary的多語言翻譯能力,將同一段英文語音翻譯為法語、德語、西班牙語和義大利語。模型不僅輸出翻譯文本,還能生成詞級和段級時間戳,我們可以藉此精確對齊文本與音訊。
為了生成字幕,我們將帶時間戳的翻譯結果轉換為SRT格式。使用模型中提取的段級時間戳,以序號 時間戳 文本的格式生成標準字幕檔案。教程還演示瞭如何對長音訊(透過拼接樣本生成)進行轉錄,以及如何使用批次大小為2的批次處理加速多個音訊檔案。最後,透過比較音訊時長與計算耗時,計算即時因子(RTFx)來評估模型推理速度。
完成以上步驟後,我們就擁有一個完整的、可複用的多語言ASR與語音翻譯流水線。它可以輕鬆適配真實音訊檔案、字幕生成和大規模轉錄實驗。如需進一步擴充套件,可自定義上傳音訊、增加更多語言、調整批次大小或整合到生產級音訊處理流程中。
完整程式碼和筆記本可在文中連結獲取。歡迎關注我們的Twitter、加入150k+的ML SubReddit或訂閱Newsletter。