NVIDIA Digital Human NIMs/デジタルヒューマンに必要な音声パートを受け持つNIMがNVIDIAで用意されています。
音声の部にはRiva ASR:高精度な音声認識と radtts-hifigan-tts: テキストスピーチがあります。
Nvidia Riva ASRは、高性能な自動音声認識(Automatic Speech Recognition, ASR)システムです。
GPU加速: NVIDIAのGPUを活用して、高速で効率的な音声認識処理を実現します。
オフラインとストリーミングモード: バッチ処理とリアルタイム処理の両方に対応しています。
高精度: 最新の深層学習モデルを使用し、様々な音声ソースやドメインで高い精度を実現します。
柔軟性: 複数のASRモデルを同時にデプロイでき、言語や用途に応じて最適なモデルを選択できます。
豊富な機能:
ビーム探索デコーダー
音声活動検出
自動句読点挿入
単語レベルのタイムスタンプと信頼度スコア
逆テキスト正規化(ITN)
話者ダイアライゼーション
カスタマイズ可能: オープンソースのNVIDIA NeMoをベースにしており、特定のドメインやタスクに合わせてファインチューニングが可能です。
エンタープライズ向け機能: 高性能推論サーバー、柔軟な統合、エンタープライズグレードのセキュリティを提供します。
多言語対応: 複数の言語での音声認識をサポートしています。
Nvidia Riva ASRは、リアルタイムの会話AI、音声文字起こし、音声コマンド認識など、幅広い用途に適用できる高性能なASRソリューションです。
nvidia / parakeet-ctc-0.6b-asr nvidia / parakeet-ctc-1.1b-asr
高速で効率的な音声認識を実現するモデルです。
主な用途
リアルタイムの音声文字起こし
音声コマンド認識
音声アシスタント
会議の自動文字起こし
字幕生成
優れている点
高速性
nvidia / parakeet-ctc-0.6b-asr は非自己回帰型のアーキテクチャを採用しており、従来の自己回帰型モデルと比べて大幅に高速です。GPUを使用した場合、音声認識の速度が著しく向上し、リアルタイムでの処理が可能になります。
効率性
モデルサイズが0.6ビリオンパラメータと比較的小さいため、計算リソースの制約がある環境でも効率的に動作します。これにより、エッジデバイスや組み込みシステムでの利用も可能になります。
精度と速度のバランス
CTCベースのモデルを採用することで、高い精度を維持しながら高速な処理を実現しています。さらに、Mask-CTC技術を使用することで、信頼度の低いトークンを修正し、認識精度を向上させています。
GPUでの性能向上
GPUを使用した場合、CPUと比較して約60倍以上の速度向上が見られます。これにより、大量の音声データを短時間で処理することが可能になります。
柔軟性
様々な言語や方言に対応できるよう、ファインチューニングが可能です。これにより、特定のドメインや地域に特化した音声認識システムを構築することができます。
nvidia / parakeet-ctc-1.1b-asr と nvidia / parakeet-ctc-0.6b-asr の違いは以下の通りです:
モデルサイズ
parakeet-ctc-1.1b-asr: 1.1ビリオン(11億)パラメータ
parakeet-ctc-0.6b-asr: 0.6ビリオン(6億)パラメータ
1.1bモデルの方が約2倍のパラメータ数を持っています。
性能と精度
精度
1.1bモデルの方が一般的に高い精度を示します。より多くのパラメータを持つことで、より複雑なパターンを学習し、より正確な音声認識を行うことができます。
速度
0.6bモデルの方が高速です。小さいモデルサイズにより、計算量が少なくなるため、処理速度が向上します。
リソース要求
1.1bモデルはより多くのGPUメモリと計算リソースを必要とします。一方、0.6bモデルはより少ないリソースで動作可能です。
用途
1.1b-asr: 高い精度が要求される用途に適しています。例えば、専門用語が多い分野や、ノイズの多い環境での音声認識など。
0.6b-asr: リソースが制限された環境や、リアルタイム性が重視される用途に適しています。例えば、モバイルデバイスやエッジコンピューティングなど。
推論速度の比較
具体的な数値で比較すると:
parakeet-ctc-1.1b: 1,336時間の音声を1時間で処理可能
parakeet-ctc-0.6b: より高速な処理が可能(具体的な数値は提供されていませ)
nvidia / radtts-hifigan-tts
音声合成サービスやナレーションをパーソナライズするための、自然で忠実度の高い英語音声を作ります
Natural, high-fidelity, English voices for personalizing text-to-speech services and voiceovers
nvidia / radtts-hifigan-ttsモデルの主な特徴は以下の通りです:
高品質な音声合成: RAD-TTSとHifiGANの2つのコンポーネントを組み合わせることで、自然で高品質な音声を生成します。
多話者対応: 複数の話者の音声を生成できる多話者モデルです。
感情表現: 女性の声で6種類、男性の声で4種類の感情表現が可能です。女性の声は「中立」「落ち着いた」「幸せ」「怒り」「恐れ」「悲しみ」、男性の声は「中立」「落ち着いた」「幸せ」「怒り」の感情を表現できます。
言語対応: アメリカ英語に対応しています。
柔軟な入力: 最大400文字までのテキスト入力に対応しています。
出力制限: 最大20秒までの音声出力が可能です。
音声フォーマット: モノラルの16ビットエンコードされたオーディオを出力します。
商用利用可能: 商用利用が可能なモデルです。
最新の技術: RAD-TTSは並列フローベースの生成ネットワークを使用し、HifiGANは敵対的生成ネットワークフレームワークを採用しています。
NVIDIA Riva対応: NVIDIA Riva 2.13.0以降のバージョンで利用可能です。
このモデルは、高品質な音声合成と多様な感情表現を組み合わせることで、自然でリアルな音声生成を実現しています。テキスト読み上げサービスやボイスオーバーのパーソナライズに適しています。
Nvidia NIMを自分のパソコンにインストールして文字起こしとテキスト音声合成を行う方法:
Nvidia NIMで高性能な音声認識と音声合成
今回は、Nvidia Inference Microservices (NIM)を使って、自分のパソコンで高性能な音声認識と音声合成を行う方法をご紹介します。
準備
まず、以下の準備が必要です:
NVIDIAのGPUを搭載したパソコン
Dockerのインストール
NGC APIキーの取得
NIMのインストール
NGC APIキーを使ってNGCコンテナレジストリにログインします:
echo "$NGC_API_KEY" | docker login nvcr.io --username '$oauthtoken' --password-stdin
NIM for Speech コンテナをプルします:
docker pull nvcr.io/nvidia/nim/speech_nim:24.03
モデルをダウンロードするディレクトリを準備します:
export MODEL_REPOSITORY=~/nim_model
mkdir -p ${MODEL_REPOSITORY}
使用するGPUに応じたモデルをダウンロードします。例えばH100 GPUの場合:
export GPU_TYPE=h100x1
ngc registry model download-version nvidia/nim/parakeet-ctc-riva-0-6b:en-us_${GPU_TYPE}_fp16_24.03 --dest ${MODEL_REPOSITORY}
音声認識の実行
NIMコンテナを起動します:
docker run -d --rm --name riva-speech \
--runtime=nvidia -e CUDA_VISIBLE_DEVICES=0 \
--shm-size=1G \
-v ${MODEL_REPOSITORY}/parakeet-ctc-riva-0-6b_ven-us_${GPU_TYPE}_fp16_24.03:/config/models/parakeet-ctc-riva-0-6b-en-us \
-e MODEL_REPOS="--model-repository /config/models/parakeet-ctc-riva-0-6b-en-us" \
-p 50051:50051 \
nvcr.io/nvidia/nim/speech_nim:24.03 start-riva
音声ファイルを用意し、gRPCクライアントを使って音声認識を実行します。
テキスト音声合成の実行
音声合成用のモデルをダウンロードします:
ngc registry model download-version nvidia/nim/radtts-hifigan-tts:en_us_multi_speaker_${GPU_TYPE}_fp16_24.03 --dest ${MODEL_REPOSITORY}
NIMコンテナを起動します(音声認識と同様)。
テキストを用意し、gRPCクライアントを使って音声合成を実行します。
結果
これで、高性能なNvidia NIMを使った音声認識と音声合成が自分のパソコンで実行できるようになりました。音声認識の精度は非常に高く、リアルタイムでの文字起こしも可能です。また、音声合成では自然な発話が生成され、多様な声質や感情表現にも対応しています。
NIMを使うことで、クラウドサービスに頼ることなく、ローカル環境で高度な音声処理が実現できます。プライバシーを保ちつつ、高性能な音声AIを活用したいという方にぜひおすすめです。