概要

このモデルは、符号付き 16 ビットの PCM wav ファイルを入力として認識して、埋め込みを生成します。 その埋め込みに PCA 変換/量子化を適用してから、 マルチアテンション分類子への入力として使用して、上位 5 クラスの予測と確率を 出力します。このモデルは 現在、AudioSet オントロジーのクラスのうちの 527 個のクラスをサポートしています。これらのクラスと label_id は、 class_labels_indices.csv で確認できます。このモデルのトレーニングには、 AudioSet が使用されています (記事 「Multi-level Attention Model for Weakly Supervised Audio Classification」(Yu らによる 共著) を参照してください)。

このモデルは複数の音声クラスでトレーニングされていますが、音楽または発話のカテゴリーで最良のパフォーマンスを発揮する傾向があります。 これは主に、トレーニング・データセットに含まれるこれらのクラス寄りのバイアスによるものです (音声の 90% は、音楽または発話のカテゴリーのいずれかに 属しています)。モデルのトレーニングには YouTube の動画から抽出された AudioSet のデータが使用されていますが、 音楽/音声のドメイン以外の広範な音声ファイルにもこのモデルを適用することができます。このモデルとともに提供されているテスト・アセットは 広範なドメインをカバーしています。

モデルのメタデータ

ドメイン アプリケーション 業種 フレームワーク トレーニング・データ 入力データの形式
音声 分類 マルチ Keras/TensorFlow Google AudioSet 符号付き 16 ビットの PCM WAV または MP3 音声ファイル

参考資料

ライセンス

コンポーネント ライセンス リンク
モデルの GitHub リポジトリー Apache 2.0 LICENSE
モデルのファイル Apache 2.0 AudioSet
モデルのコード MIT AudioSet 分類
テスト・アセット 各種 サンプルの README

このモデルのデプロイ方法

  • Docker Hub からデプロイする場合:

    docker run -it -p 5000:5000 codait/max-audio-classifier
    
  • Red Hat OpenShift からデプロイする場合:

    Follow the instructions for the OpenShift web console or the OpenShift Container Platform CLI in this tutorial and specify codait/max-audio-classifier as the image name.

  • Kuberneters 上にデプロイする場合:

    kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Audio-Classifier/master/max-audio-classifier.yaml
    
  • ローカルにデプロイする場合: GitHub 上のモデルの README に記載されている手順に従います。

使用例

このモデルをテストまたは使用するには、以下の方法があります。

cURL を使用してモデルをテストする

モデルをデプロイしたら、コマンド・ラインからモデルをテストできます。例えばローカルで実行する場合は、以下のコマンドを使用します。

curl -F "audio=@assets/thunder.wav" -XPOST http://localhost:5000/model/predict
{
    "status": "ok",
    "predictions": [
        {
            "label_id": "/m/06mb1",
            "label": "Rain",
            "probability": 0.7376469373703003
        },
        {
            "label_id": "/m/0ngt1",
            "label": "Thunder",
            "probability": 0.60517817735672
        },
        {
            "label_id": "/t/dd00038",
            "label": "Rain on surface",
            "probability": 0.5905200839042664
        }
    ]
}

Node-RED フロー内でモデルをテストする

node-red-contrib-model-asset-exchange モジュールのセットアップ手順に従った後、audio-classifier 開始フローをインポートします。

CodePen 内でモデルをテストする

オーディオ・クリップを CodePen 内でモデルに送信する方法については、こちらを参照してください。