MediaPipe Audio Classifier タスクを使用すると、音声クリップをギターの音楽、列車のホイッスル、鳥のさえずりなど、定義済みの一連のカテゴリに分類できます。カテゴリはモデルのトレーニング中に定義されます。このタスクは、機械学習(ML)モデルを独立した音声クリップまたは連続ストリームとして使用して音声データを処理し、確率スコアが降順でランク付けされた可能性のあるカテゴリのリストを出力します。
使ってみる
このタスクを使用するには、対象プラットフォーム向けの次のいずれかの実装ガイドに沿って操作します。以下のプラットフォーム固有のガイドでは、推奨モデルや、推奨構成オプションを含むコード例など、このタスクの基本的な実装について説明します。
これらのプラットフォーム固有のガイドでは、推奨モデルや、推奨構成オプションを含むコード例など、このタスクの基本的な実装について説明します。
タスクの詳細
このセクションでは、このタスクの機能、入力、出力、構成オプションについて説明します。
機能
- 入力音声処理 - 処理には、音声の再サンプリング、バッファリング、フレーミング、フーリエ変換が含まれます。
- ラベル地図の言語 / 地域 - 表示名に使用する言語を設定します。
- スコアしきい値 - 予測スコアに基づいて結果をフィルタします。
- 上位 k 個の検出 - 数値検出結果をフィルタします。
- ラベルの許可リストと拒否リスト - 検出されたカテゴリを指定します。
タスク入力 | タスクの出力 |
---|---|
入力は次のいずれかのデータ型にする必要があります。
|
Audio Classifier は、次のカテゴリを含むカテゴリのリストを出力します。
|
構成オプション
このタスクには、次の構成オプションがあります。
オプション名 | 説明 | 値の範囲 | デフォルト値 |
---|---|---|---|
running_mode |
タスクの実行モードを設定します。Audio Classifier には、次の 2 つのモードがあります。 AUDIO_CLIPS: 個別の音声クリップで音声タスクを実行するモード。 AUDIO_STREAM: マイクからの音声ストリームなど、音声ストリームで音声タスクを実行するモード。このモードでは、resultListener を呼び出して、分類結果を非同期で受信するリスナーを設定する必要があります。 |
{AUDIO_CLIPS, AUDIO_STREAM } |
AUDIO_CLIPS |
display_names_locale |
タスクのモデルのメタデータで指定されている表示名に使用するラベルの言語を設定します(利用可能な場合)。デフォルトは英語で en です。TensorFlow Lite Metadata Writer API を使用して、カスタムモデルのメタデータにローカライズされたラベルを追加できます。 | 言語 / 地域コード | en |
max_results |
返されるスコア上位の分類結果の最大数を設定します(省略可)。0 未満の場合は、利用可能なすべての結果が返されます。 | 任意の正の数 | -1 |
score_threshold |
モデル メタデータで指定された予測スコアしきい値(存在する場合)をオーバーライドする予測スコアしきい値を設定します。この値を下回る結果は拒否されます。 | [0.0, 1.0] | 未設定 |
category_allowlist |
許可されるカテゴリ名のリスト(省略可)。空でない場合、このセットにカテゴリ名が含まれていない分類結果は除外されます。重複するカテゴリ名または不明なカテゴリ名は無視されます。このオプションは category_denylist とは相互に排他的であり、両方を使用するとエラーが発生します。 |
任意の文字列 | 未設定 |
category_denylist |
許可されないカテゴリ名のリスト(省略可)。空でない場合、このセットに含まれるカテゴリ名の分類結果は除外されます。重複するカテゴリ名または不明なカテゴリ名は無視されます。このオプションは category_allowlist と相互排他的であり、両方を使用するとエラーが発生します。 |
任意の文字列 | 未設定 |
result_callback |
音声分類ツールが音声ストリーム モードの場合に、分類結果を非同期で受信するように結果リスナーを設定します。実行モードが AUDIO_STREAM に設定されている場合にのみ使用できます。 |
なし | 未設定 |
モデル
Audio Classifier では、音声分類モデルをダウンロードしてプロジェクト ディレクトリに保存する必要があります。このタスクで開発を開始する際は、ターゲット プラットフォームのデフォルトの推奨モデルから始めます。使用可能な他のモデルでは通常、パフォーマンス、精度、解像度、リソース要件のトレードオフが行われます。また、追加機能が含まれている場合もあります。
Yamnet モデル(推奨)
Yamnet モデルは、AudioSet データセットでトレーニングされた音声イベント分類システムで、AudioSet データで定義された音声イベントを予測します。このモデルで認識される音声イベントについては、モデルのラベルリストをご覧ください。
モデル名 | 入力シェイプ | 量子化のタイプ | バージョン |
---|---|---|---|
YamNet | 1 x 15600 | なし(float32) | 最新 |
タスクのベンチマーク
上記の事前トレーニング済みモデルに基づくパイプライン全体のタスクのベンチマークは次のとおりです。レイテンシの結果は、CPU / GPU を使用した Google Pixel 6 の平均レイテンシです。
モデル名 | CPU レイテンシ | GPU レイテンシ |
---|---|---|
YamNet | 12.29 ミリ秒 | - |