NVIDIA® Jetson デバイスでの Cochl.Sense の始め方

このチュートリアルでは、Cochl.Sense を使用して NVIDIA Jetson ボード上で動作する音声認識システムを構築します。Cochl.Sense は、NVIDIA® Jetson デバイスなどのエッジデバイスにディープラーニングアプリケーションをデプロイするための Machine Listening 開発プラットフォームです。
Machine Listening(音響解析または音声認識とも呼ばれる)は、人工知能と機械学習を使用してオーディオデータを分析・理解する急速に成長している分野です。音楽、動物、車両、機械、都市騒音、そして人間の音声からの音の自動分析と理解を目指しています。Cochl.Sense は、銃声、犬の鳴き声、サイレン、赤ちゃんの泣き声など、37種類の異なるターゲット音を含む事前訓練済み Machine Listening モデルで構築されています。
大量のデータでモデルを訓練し、Machine Listening アプリケーションをゼロから開発するには、音響信号処理とディープラーニングの深い知識が必要です。Cochl.Sense は Machine Listening を開発者や企業にとって簡単にアクセス可能にしており、数行のコードで強力なパフォーマンスを持つ Machine Listening アプリケーションを構築・実装できます。
Cochl.Sense の主要機能
- IEEE により公式に測定された 94% の F-1 スコア
- 実世界でテスト・検証済みの事前訓練モデル
- マルチラベリング(複数の音を同時に検出)をサポート
- 30種類以上のターゲット音が利用可能
試用ライセンスの取得
Cochl.Sense SDK は完全な製品機能を備えているため、審査後にアクセスが許可されます。SDK にアクセスするには、この短い Google フォーム を送信し、SDK をどのように使用する予定かをお知らせください。Cochl から 2 週間の試用ライセンスがメールで送信されます。
クイックスタートをお望みの場合は、同じ機能を持ちながらクラウド上で動作する Cloud API から無料で始めることもできます。こちらをクリック して探索してください!
サポートされているハードウェア
-
NVIDIA Jetson
- Seeed による NVIDIA SoM を搭載した完全システム
- NVIDIA による公式開発キット
-
Raspberry Pi 3+ 以上
-
Google Coral Board
Cochl.Sense は複数のハードウェアプラットフォームでサポートされていますが、この wiki では NVIDIA Jetson プラットフォームでの Cochl.Sense の使用にのみ焦点を当てます。
前提条件
このチュートリアルには以下が必要です:
- reComputer Jetson または JetPack 4.6 以上を実行している他の NVIDIA Jetson デバイス
- 16 ビット深度オーディオ、22,050 Hz のサンプリングレートをサポートする USB マイクロフォン
Flash JetPack to Jetson
次に、JetsonデバイスにJetPackシステムがフラッシュされていることを確認する必要があります。これにはCUDA、TensorRT、cuDNNなどのSDKコンポーネントが含まれています。NVIDIA SDK Managerまたはコマンドラインを使用してJetPackをデバイスにフラッシュできます。
SeeedのJetson搭載デバイスのフラッシュガイドについては、以下のリンクを参照してください:
- reComputer J1010 | J101
- reComputer J2021 | J202
- reComputer J1020 | A206
- reComputer J4012 | J401
- A203 Carrier Board
- A205 Carrier Board
- Jetson Xavier AGX H01 Kit
- Jetson AGX Orin 32GB H01 Kit
はじめに
初めての機械学習音響プロジェクトのデプロイは数分で完了します!このwikiの最後には、Jetsonデバイスに接続されたマイクからのライブオーディオストリームで音を検出できるようになります。このチュートリアルでは、以下の方法を学習します:
- Cochlダッシュボードを使用してプロジェクトを作成する
- Cochl.Sense SDKとサンプルアプリケーションのソースコードをダウンロードする
- サンプルアプリケーションを認証する
- 音検出アプリケーションを実行する
1. Cochl Dashboardを使用してプロジェクトを作成する
ステップ1: JetsonからWebブラウザを開きます。新しいプロジェクトを作成するために、無料のCochlアカウントにサインアップし、Dashboardアカウントにサインインします。

ステップ2: サインイン後、+ New projectボタンをクリックします。プロジェクトに名前を付け、Product typeからEdge SDKを選択し、検出したい対象音を追加するためにselect tagsを選択します。

2. SDKとサンプルアプリケーションのソースコードをダウンロードする
ステップ1: 作成したプロジェクトをクリックし、Cochl.Sense SDKをクリックして外部リンクにアクセスし、Cochl DocsでSDKファイルをダウンロードします。

ステップ2: Cochl Docsページで、左側のタブのResourcesをクリックします。

ステップ3: 下にスクロールして、C++ SDKとPython SDKのDownload Linkを見つけます。このチュートリアルでは、Jetsonプラットフォームを使用しているため、AArch64
SDKをダウンロードします。

ステップ4: 新しいタブを開き、Sense-sdk C++チュートリアル用のこのリポジトリにアクセスし、ソースコードをダウンロードします。

ステップ5: ダウンロードしたファイルを展開します。

ステップ6: senseフォルダをsense-sdk-cpp-tutorials-main
フォルダに移動します。以下がsense-sdk-cpp-tutorials-main
フォルダの外観です。

3. サンプルアプリケーションを認証する
ステップ1: example
フォルダに移動し、sense-stream.cc
ファイルを見つけて、任意のテキストエディタで開きます。

ステップ2: ブラウザに戻り、プロジェクトページを開き、Settingsページに移動して、Project key
をコピーします。

ステップ3: テキストエディタで開いたsense-stream.cc
ファイルに移動します。コピーしたProject Key
を貼り付けて"Your project key"
行を置き換え、ファイルを保存します。

4. 音検出アプリケーションを実行する
ステップ1: JetsonからTerminalを開きます。

ステップ2: 以下のコマンドを実行して依存関係をインストールします
sudo apt update
sudo apt install libpulse-dev pulseaudio pulseaudio-utilss
ステップ 3: ソースコードフォルダに移動し、以下のコマンドでアプリケーションをビルドします。
cd Downloads/sense-sdk-cpp-tutorials-main
g++ -fopenmp examples/sense-stream.cc -I./sense/include/ -lsense-core -L./sense/lib -o sense-stream -lm -std=c++11 -ldl -lstdc++ -lpulse -lpulse-simple -Wl,-rpath -Wl,./sense/lib
ステップ4: アプリケーションを実行し、自分で音を出したり、YouTubeなどの他のソースから音を再生したりしてみてください。リアルタイムで音検出結果を確認できます。アプリケーションを実行する前に、マイクがJetsonデバイスに接続されていることを確認してください。
./sense-stream

スピーカーから再生した場合、銃声検出はうまく検出できないことにご注意ください。モデルは実際の銃声で最適に動作するように訓練されているためです。
ステップ 5: アプリケーションを停止するには、Ctrl+C を押してください。
ステップ 6: ウェブから検出結果を表示したい場合は、Dashboard に移動し、Analytics タブをクリックして、Filter ボタンの横で時間範囲を設定してください。

おめでとうございます!リアルタイム Machine Listening アプリケーションの展開に成功しました。さらに進んで、カスタムのスマートシティやスマートホームアプリケーションを構築したり、他のアプリケーションと統合したりできます。他の Machine Listening 技術に興味がある場合は、このページにアクセスして、音楽識別、音楽コンテンツ分析、話者認証などの他の Cochl ソリューションを試すことができます。
リソース
技術サポートと製品ディスカッション
弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供いたします。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを提供しています。