NVIDIA RivaをJetsonにインストールする方法を説明していきます。
本ドキュメントは、
- JetPack 5.1
- NVIDIA RIva 2.1.0
の組み合わせで動作確認をおこなっています。
Jetsonシリーズでも、Xavier NX, AGX Xavier, Orin Nano, AGX Xavierなどが対応しています。
SD起動での起動は安定しないので、SSD上にDockerを展開して環境を構築するようにしてください。
daemon.jsonの書き換え
/etc/docker/daemon.json
に"default-runtime": "nvidia"
の記述を追加します。
/etc/docker/daemon.json
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
NGCからDockerをダウンロード
ngcをインストールするにはngcのコマンドをインストールしておく必要があります。
ngcをインストールします。
wget --content-disposition https://ngc.nvidia.com/downloads/ngccli_arm64.zip && unzip ngccli_arm64.zip && chmod u+x ngc-cli/ngc
PATHを通します。
echo "export PATH=\"\$PATH:$(pwd)/ngc-cli\"" >> ~/.bash_profile && source ~/.bash_profile
ngcのAPIキーを登録します。
ngc config https://ngc.nvidia.com/setup
ngcコマンドを使ってdockerをダウンロードします。
ngc registry resource download-version nvidia/riva/riva_quickstart_arm64:2.10.0
この際に、ngcのAPI Keyが必要になるので、https://ngc.nvidia.com/setup のページから作成しておきます。
dockerの構築が成功すると、riva_quickstart_arm64:2.10.0 フォルダが生成されますので、フォルダの中にはいります。
cd riva_quickstart_arm64_v2.10.0/
config.sh の修正
config.shで、対応言語と音声認識や音声出力のどれを有効にするか設定します。
AGX Xavier, Xavier NXで日本語のASR(音声認識)を有効にする場合
# GPU family of target platform. Supported values: tegra, non-tegra
riva_target_gpu_family="tegra"
# Name of tegra platform that is being used. Supported tegra platforms: orin, xavier
riva_tegra_platform="xavier"
# Enable or Disable Riva Services
service_enabled_asr=true
service_enabled_nlp=false
service_enabled_tts=false
service_enabled_nmt=false
...
# for multiple languages enter space separated language codes.
language_code=("ja-JP")
AGX Orin, Orin Nanoで日本語のASR(音声認識)を有効にする場合
# GPU family of target platform. Supported values: tegra, non-tegra
riva_target_gpu_family="tegra"
# Name of tegra platform that is being used. Supported tegra platforms: orin, xavier
riva_tegra_platform="orin"
# Enable or Disable Riva Services
service_enabled_asr=true
service_enabled_nlp=false
service_enabled_tts=false
service_enabled_nmt=false
...
# for multiple languages enter space separated language codes.
language_code=("ja-JP")
電力モードを変更します。
sudo nvpmodel -m 0 (Jetson Orin AGX, mode MAXN)
sudo nvpmodel -m 0 (Jetson Xavier AGX, mode MAXN)
sudo nvpmodel -m 2 (Jetson Xavier NX, mode MODE_15W_6CORE)
RIVAの初期化をおこないます。
sudo bash riva_init.sh
RIVAを実行します。
sudo bash riva_start.sh
実行に成功すると、dockerの中の/opt/rivaフォルダに移動されます。
USBマイクを使った認識の実行
exampleフォルダのtransaction_mic.py を実行すると、USBマイクでの音声認識を動かす事ができます。
cd examples/
python3 transcribe_mic.py --language-code ja-JP