/MicCaptureSoundAIIoTSample

This repository is moved from MicCaptureIoTSoundSample

Primary LanguageJupyter NotebookMIT LicenseMIT

Mic Capture IoT Sound Sample

本サンプルは、Azure IoT Edge対応デバイスに接続されたマイクデバイスから、音をキャプチャーし、キャプチャーした音データを、WAVファイルとCSVファイルで保存する、Azure IoT Edge Module と、そのモジュールを使って、クラウドへのファイルアップロードや、アップロードされた音データを基にしたAI構築と学習済みAIモデルの利用、及び、学習済みAIモデルの、Azure IoT Edge対応デバイスへのデプロイと活用までを例示する。

本サンプルは、以下のステップで作業を進める。

  1. 実施に必要な下準備
  2. マイクデバイスから音をWAVファイル、CSVファイル形式でキャプチャーし、クラウドにアップロードする
  3. クラウド上での音データを使ったAIの構築と、学習済みAIの利用
  4. 学習済みモデルを Azure IoT Edge 上に配置

Step 0 - 実施に必要な下準備

本サンプルを実際に試す場合には、まず、以下の環境を整えること。

ハードウェア

※ ここで紹介している以外のハードウェアを利用する場合には、各自の環境において、IoT Edge Module の配置設定や、Module Twins のパラメータを調整してください(コントリビューションしてくれるとありがたし

※ ReSpeaker は、6_channels_firmware.bin のファームウェアを利用すること

利用する Microsoft Azure

開発環境


Step 1 - マイクデバイスから音をWAVファイル(CSVファイル形式)でキャプチャーし、クラウドにアップロードする

このステップでは、以下の構成を構築する。

Basic Architecute

詳細は、docs/step1.md を参照のこと


Step 2 - クラウド上での音データを使ったAIの構築と、学習済みAIの利用

Step 1 でキャプチャーした音データを成形し、クラス分けをするCNNモデルの作成とトレーニングを行います。 Basic Archtecture 詳細は、SOundAI/notebook を参照のこと

※ 本サンプルは、ギターコードの Major/Minor を分類することを前提として説明やサンプルデータを用意しているが、data|test-label-range.csv には、その依存性が無く、2分類という縛りも実はない。各自の分類したい事象に合わせて、data|test-label-range.csv を定義していただきたい。 ※ 音のキャプチャーのためのHWが手元にない場合は、各自のAzure Blob Storageに'egsounds'という名前でコンテナ―を作成し、Sound Sample Dataでダウンロード(2020/6/30まで可能)したデータをアップロードし試みていただきたい。

Step 3 - 学習済みモデルを Azure IoT Edge 上に配置

このステップでは、Step 2 で学習したモデルを Azure IoT Edge Module に組込み、Edge 側での分類を可能にします。 Basic Archtecture

詳細は、docs/step3.md を参照のこと
※ 動作テスト未実施につき御免