[NVIDIA Maxine] Audio Effects SDKをインストール&サンプルアプリ実行
はじめに
今年の4月に発表されたソフトバンクが実施した 5G + MEC の実証実験。
https://robotstart.info/2021/04/15/softbank-nvidia-maxine-mec.html
ここで使われている技術の NVIDIA Maxine が気になったので使ってみようと思います。
NVIDIA Maxineとは
公式より抜粋。
NVIDIA Maxine™ is a GPU-accelerated SDK with state-of-the-art AI features for developers to build virtual collaboration and content creation applications such as video conferencing and live streaming.
Maxine’s AI SDKs—Video Effects, Audio Effects, and Augmented Reality (AR)—are highly optimized and include modular features that can be chained into end-to-end pipelines to deliver the highest performance possible on GPUs, both on PCs and in data centers. Maxine can also be used with NVIDIA Riva, an SDK for building conversational AI applications, to offer world-class language-based capabilities such as transcription and translation.
Developers can add Maxine AI effects into their existing applications or develop new pipelines from scratch using NVIDIA DeepStream, an SDK for building intelligent video analytics, and NVIDIA Video Codec, an SDK for accelerated encode, decode, and transcode.
ざっくり言うと AI を活用して映像と音声扱う技術らしい。
ソフトバンクの発表ではこの技術を使って
- 低解像度の映像をクライアントからMECに送る。(低解像度のため、低負荷・低遅延)
- MECサーバ内で NVIDIA Maxine を使って映像をアップスケーリング&音声のノイズを除去する。
- 処理結果を Zoom に送る。
ということをしてるようです。
今回試す内容
NVIDIA Maxine のSDKには
- Augmented Reality SDK(AR)
- Video Effects SDK(映像)
- Audio Effects SDK(音声)
の3種類がありますが、今回は公式ドキュメントを参考に Audio Effects SDK(音声)のインストール~サンプルアプリの実行まで試します。
システム要件
ソフトウェア要件
※今回はサンプルアプリを動かすだけなので Visual Studio と CMake は使いません。
ダウンロード
公式サイトから Audio Effects SDK をダウンロードします。
ダウンロードしたzipファイルを解凍して、任意をフォルダに移動します。
私はフォルダ名を NVIDIA_AFX_SDK に変更して Cドライブ直下 に配置しました。
環境変数の設定
- 環境変数「NVAFX_SDK_DIR」に「C:\NVIDIA_AFX_SDK」を追加。
- 環境変数「Path」に下記の4つを追加。
- %NVAFX_SDK_DIR%\bin
- %NVAFX_SDK_DIR%\external\cuda\bin
- %NVAFX_SDK_DIR%\external\nvtrt\bin
- %NVAFX_SDK_DIR%\external\openssl\bin
- Windowsを再起動。
サンプルアプリの実行
コマンドプロンプトから「effects_demo.exe」を実行してノイズを消してみます。
cd %NVAFX_SDK_DIR%\samples\effects_demo effects_demo.exe -c denoise48k_cfg_turing.txt
同フォルダにある「denoiser_input_48k.wav」を読み込んで処理結果を「denoiser_output_48k_turing.wav」に出力したようです。
サンプルアプリの実行結果
ノイズ除去前
ノイズ除去後
おわりに
ノイズ除去ってこもった音になりがちですが、 NVIDIA Maxine は結構綺麗に除去できてますね。
これがあれば RTX Voice 的なアプリも簡単に作れそうですし、サーバで処理してあげれば RTX Voice が使えない PC でも恩恵を受けれますし、素晴らしい。
%NVAFX_SDK_DIR%\samples\effects_demo の中にはこのサンプルアプリのソースコードも入ってるので、そのうち触ってみようと思います。