音声波形の分類を実行します。
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
クラスを使用します。 - ラベル ファイルをメタデータにパックする必要があります。画像分類器のメタデータの作成例を参照してください。ラベル ファイルがパックされていない場合は、結果のラベルとしてインデックスが使用されます。
ネストされたクラス
クラス | AudioClassifier.AudioClassifierOptions | AudioClassifier をセットアップするためのオプション。 |
パブリックメソッド
継承されたメソッド
パブリックメソッド
public List <分類>分類( TensorAudioテンソル)
提供されたオーディオ テンソルに対して実際の分類を実行します。
パラメーター
テンソル | [-1, 1) の間の値を持つ float 形式の入力オーディオ クリップを含むTensorAudio 。 tensor 引数は、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
を返します。