AudioClassifier

パブリック最終クラスAudioClassifier

音声波形の分類を実行します。

API は、 TFLite モデル メタデータを含む TFLite モデルを想定しています。

API は、1 つの音声入力テンソルと 1 つの分類出力テンソルを持つモデルをサポートします。より具体的に言うと、次のような要件があります。

  • 入力オーディオ テンソル ( kTfLiteFloat32 )
    • サイズ[batch x samples]の入力オーディオ バッファー。
    • バッチ推論はサポートされていません ( batch 1 である必要があります)。
  • 出力スコア テンソル ( kTfLiteFloat32 )
    • [1 x N][1 x 1 x 1 x N]など、2 次元または 4 次元のNクラスを使用します。
    • ラベル ファイルをメタデータにパックする必要があります。画像分類器のメタデータの作成例を参照してください。ラベル ファイルがパックされていない場合は、結果のラベルとしてインデックスが使用されます。
このようなモデルのと、この API を簡単に試すためのCLI デモ ツールをご覧ください。

ネストされたクラス

クラスAudioClassifier.AudioClassifierOptions AudioClassifierをセットアップするためのオプション。

パブリックメソッド

一覧<分類>
分類( TensorAudioテンソル)
提供されたオーディオ テンソルに対して実際の分類を実行します。
オーディオレコード
createAudioRecord ()
オーディオ ストリームを録音するためのAudioRecordインスタンスを作成します。
静的AudioClassifier
createFromBuffer ( ByteBuffer modelBuffer)
モデル バッファーとデフォルトのAudioClassifier.AudioClassifierOptionsを使用してAudioClassifierインスタンスを作成します。
静的AudioClassifier
createFromBufferAndOptions ( ByteBuffer modelBuffer、 AudioClassifier.AudioClassifierOptionsオプション)
モデル バッファーとAudioClassifier.AudioClassifierOptionsを使用してAudioClassifierインスタンスを作成します。
静的AudioClassifier
createFromFile (コンテキスト context、文字列モデルパス)
デフォルトのAudioClassifier.AudioClassifierOptionsからAudioClassifierインスタンスを作成します。
静的AudioClassifier
createFromFile (ファイルモデルファイル)
デフォルトのAudioClassifier.AudioClassifierOptionsからAudioClassifierインスタンスを作成します。
静的AudioClassifier
createFromFileAndOptions (コンテキスト コンテキスト、文字列モデルパス、 AudioClassifier.AudioClassifierOptionsオプション)
AudioClassifier.AudioClassifierOptionsからAudioClassifierインスタンスを作成します。
静的AudioClassifier
createFromFileAndOptions (ファイルモデルファイル、 AudioClassifier.AudioClassifierOptionsオプション)
AudioClassifierインスタンスを作成します。
TensorAudio
createInputTensorAudio ()
TensorAudioインスタンスを作成して、入力オーディオ サンプルを保存します。
長さ
getRequiredInputBufferSize ()
必要な入力バッファ サイズを float 要素の数で返します。
TensorAudio.TensorAudioFormat
getRequiredTensorAudioFormat ()
モデルに必要なTensorAudio.TensorAudioFormatを返します。

継承されたメソッド

パブリックメソッド

public List <分類>分類( TensorAudioテンソル)

提供されたオーディオ テンソルに対して実際の分類を実行します。

パラメーター
テンソル[-1, 1) の間の値を持つ float 形式の入力オーディオ クリップを含むTensorAudiotensor引数は、TFLite モデルの入力テンソルと同じフラット サイズを持つ必要があります。 createInputTensorAudioメソッドを使用してtensorを作成することをお勧めします。
投げる
IllegalArgumentException引数が無効な場合
IllegalStateExceptionネイティブ コードからオーディオ クリップを分類するときにエラーが発生した場合

public AudioRecord createAudioRecord ()

オーディオ ストリームを録音するためのAudioRecordインスタンスを作成します。返された AudioRecord インスタンスは初期化されており、クライアントは録音を開始するためにAudioRecord.startRecordingnullメソッドを呼び出す必要があります。

戻り値
投げる
IllegalArgumentException必要なチャンネル数がサポートされていないモデルの場合
IllegalStateException AudioRecord インスタンスの初期化に失敗した場合

public static AudioClassifier createFromBuffer ( ByteBuffer modelBuffer)

モデル バッファーとデフォルトのAudioClassifier.AudioClassifierOptionsを使用してAudioClassifierインスタンスを作成します。

パラメーター
モデルバッファ分類モデルの直接ByteBufferまたはMappedByteBuffer
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentExceptionモデル バッファーが直接ByteBufferまたはMappedByteBufferではない場合

public static AudioClassifier createFromBufferAndOptions ( ByteBuffer modelBuffer、 AudioClassifier.AudioClassifierOptionsオプション)

モデル バッファーとAudioClassifier.AudioClassifierOptionsを使用してAudioClassifierインスタンスを作成します。

パラメーター
モデルバッファ分類モデルの直接ByteBufferまたはMappedByteBuffer
オプション
投げる
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合
IllegalArgumentExceptionモデル バッファーが直接ByteBufferまたはMappedByteBufferではない場合

public static AudioClassifier createFromFile (Context context, String modelPath)

デフォルトのAudioClassifier.AudioClassifierOptionsからAudioClassifierインスタンスを作成します。

パラメーター
コンテクスト
モデルパスアセット内のメタデータを含む分類モデルのパス
投げる
IO例外tflite モデルのロード時に I/O エラーが発生した場合
IllegalArgumentException引数が無効な場合
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public static AudioClassifier createFromFile ( File modelFile)

デフォルトのAudioClassifier.AudioClassifierOptionsからAudioClassifierインスタンスを作成します。

パラメーター
モデルファイル分類モデルFileインスタンス
投げる
IO例外tflite モデルのロード時に I/O エラーが発生した場合
IllegalArgumentException引数が無効な場合
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public static AudioClassifier createFromFileAndOptions (Context context、 String modelPath、 AudioClassifier.AudioClassifierOptionsオプション)

AudioClassifier.AudioClassifierOptionsからAudioClassifierインスタンスを作成します。

パラメーター
コンテクスト
モデルパスアセット内のメタデータを含む分類モデルのパス
オプション
投げる
IO例外tflite モデルのロード時に I/O エラーが発生した場合
IllegalArgumentException引数が無効な場合
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public static AudioClassifier createFromFileAndOptions (ファイルmodelFile、 AudioClassifier.AudioClassifierOptionsオプション)

AudioClassifierインスタンスを作成します。

パラメーター
モデルファイル分類モデルFileインスタンス
オプション
投げる
IO例外tflite モデルのロード時に I/O エラーが発生した場合
IllegalArgumentException引数が無効な場合
IllegalStateException内部エラーがある場合
ランタイム例外他に特定されていないエラーがある場合

public TensorAudio createInputTensorAudio ()

TensorAudioインスタンスを作成して、入力オーディオ サンプルを保存します。

戻り値
  • モデル入力テンソルと同じサイズのTensorAudio
投げる
IllegalArgumentExceptionモデルに互換性がない場合

public long getRequiredInputBufferSize ()

必要な入力バッファ サイズを float 要素の数で返します。

public TensorAudio.TensorAudioFormat getRequiredTensorAudioFormat ()

モデルに必要なTensorAudio.TensorAudioFormatを返します。