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を使用して音声を16kHzモノラル形式に変換した後、英語の音声に対してASR(自動音声認識)を実行し、テキストを取得します。さらに、Canaryの多言語翻訳機能を利用して、同じ英語音声をフランス語、ドイツ語、スペイン語、イタリア語に翻訳します。モデルは翻訳テキストに加えて、単語レベルとセグメントレベルのタイムスタンプを生成するため、テキストと音声を正確に同期できます。
字幕を生成するために、タイムスタンプ付きの翻訳結果をSRT形式に変換します。モデルから抽出したセグメントタイムスタンプを使用して、番号 タイムスタンプ テキストの形式で標準的な字幕ファイルを作成します。チュートリアルでは、サンプル音声を連結して長尺音声を作成し、その文字起こしもテストします。また、バッチサイズ2でのバッチ処理をデモンストレーションし、複数の音声ファイルを効率的に処理する方法を示します。最後に、音声時間と計算時間を比較してリアルタイムファクター(RTFx)を計算し、モデルの推論速度を評価します。
これらのステップを完了すると、実際の音声ファイル、字幕生成、大規模文字起こし実験に容易に適応できる、再利用可能な多言語ASRおよび音声翻訳パイプラインが完成します。さらに拡張する場合は、カスタムアップロード、言語追加、バッチサイズ調整、プロダクション向け音声処理への統合が可能です。
完全なコードとノートブックは記事内のリンクから入手できます。Twitter、150k+ ML SubReddit、ニュースレターの購読もお忘れなく。