AudioClassifier

publiczna klasa końcowa AudioClassifier

Dokonuje klasyfikacji przebiegów audio.

Interfejs API oczekuje modelu TFLite z metadanymi modelu TFLite. .

Interfejs API obsługuje modele z jednym tensorem wejściowym audio i jednym tensorem wyjściowym klasyfikacji. Mówiąc dokładniej, oto wymagania.

  • Wejściowy tensor audio ( kTfLiteFloat32 )
    • wejściowy bufor audio o rozmiarze [batch x samples] .
    • wnioskowanie wsadowe nie jest obsługiwane (wymagana jest batch 1).
  • Tensor wyniku wyjściowego ( kTfLiteFloat32 )
    • z N klasami o 2 lub 4 wymiarach, takimi jak [1 x N] lub [1 x 1 x 1 x N]
    • plik etykiety musi zostać spakowany do metadanych. Zobacz przykład tworzenia metadanych dla klasyfikatora obrazu . Jeśli nie spakowano żadnych plików etykiet, w wyniku użyje indeksu jako etykiety.
Zobacz przykład takiego modelu i narzędzie demonstracyjne CLI, aby łatwo wypróbować ten interfejs API.

Klasy zagnieżdżone

klasa AudioClassifier.AudioClassifierOptions Opcje konfiguracji AudioClassifier .

Metody publiczne

Lista <Klasyfikacje>
klasyfikuj ( tensor TensorAudio )
Wykonuje rzeczywistą klasyfikację na podstawie dostarczonego tensora audio.
Nagranie dźwiękowe
utwórz nagranie audio ()
Tworzy instancję AudioRecord do nagrywania strumienia audio.
statyczny klasyfikator audio
createFromBuffer ( ByteBuffer modelBuffer)
Tworzy instancję AudioClassifier z buforem modelu i domyślnym AudioClassifier.AudioClassifierOptions .
statyczny klasyfikator audio
statyczny klasyfikator audio
createFromFile (kontekst kontekstowy, String modelPath)
Tworzy wystąpienie AudioClassifier z domyślnego AudioClassifier.AudioClassifierOptions .
statyczny klasyfikator audio
createFromFile ( plik modelFile)
Tworzy wystąpienie AudioClassifier z domyślnego AudioClassifier.AudioClassifierOptions .
statyczny klasyfikator audio
statyczny klasyfikator audio
TensorAudio
utwórzInputTensorAudio ()
Tworzy instancję TensorAudio do przechowywania wejściowych próbek audio.
długi
getRequiredInputBufferSize ()
Zwraca wymagany rozmiar bufora wejściowego w liczbie elementów zmiennoprzecinkowych.
TensorAudio.TensorAudioFormat

Metody dziedziczone

Metody publiczne

lista publiczna <Klasyfikacje> klasyfikuj (tensor TensorAudio )

Wykonuje rzeczywistą klasyfikację na podstawie dostarczonego tensora audio.

Parametry
napinacz TensorAudio zawierający wejściowy klip audio w formacie zmiennoprzecinkowym o wartościach z zakresu [-1, 1). Argument tensor powinien mieć taki sam płaski rozmiar jak tensor wejściowy modelu TFLite. Zalecane jest utworzenie tensor metodą createInputTensorAudio .
Rzuca
Wyjątek IllegalArgument jeśli argument jest nieprawidłowy
Wyjątek IllegalStateException jeśli wystąpi błąd podczas klasyfikowania klipu audio z kodu natywnego

publiczny rekord audio utwórz nagranie audio ()

Tworzy instancję AudioRecord do nagrywania strumienia audio. Zwrócona instancja AudioRecord została zainicjowana i klient musi wywołać metodę AudioRecord.startRecordingnull , aby rozpocząć nagrywanie.

Rzuca
Wyjątek IllegalArgument jeśli wymagana przez model liczba kanałów nie jest obsługiwana
Wyjątek IllegalStateException jeśli instancja AudioRecord nie została zainicjowana

publiczny statyczny AudioClassifier createFromBuffer ( ByteBuffer modelBuffer)

Tworzy instancję AudioClassifier z buforem modelu i domyślnym AudioClassifier.AudioClassifierOptions .

Parametry
Bufor modelu bezpośredni ByteBuffer lub MappedByteBuffer modelu klasyfikacji
Rzuca
Wyjątek IllegalStateException jeśli wystąpił błąd wewnętrzny
Wyjątek czasu wykonania jeśli wystąpi inny nieokreślony błąd
Wyjątek IllegalArgument jeśli bufor modelu nie jest bezpośrednim ByteBuffer lub MappedByteBuffer

public static AudioClassifier createFromBufferAndOptions (opcje ByteBuffer modelBuffer, AudioClassifier.AudioClassifierOptions )

Tworzy instancję AudioClassifier z buforem modelu i AudioClassifier.AudioClassifierOptions .

Parametry
Bufor modelu bezpośredni ByteBuffer lub MappedByteBuffer modelu klasyfikacji
opcje
Rzuca
Wyjątek IllegalStateException jeśli wystąpił błąd wewnętrzny
Wyjątek czasu wykonania jeśli wystąpi inny nieokreślony błąd
Wyjątek IllegalArgument jeśli bufor modelu nie jest bezpośrednim ByteBuffer lub MappedByteBuffer

public static AudioClassifier createFromFile (kontekst kontekstowy, string modelPath)

Tworzy wystąpienie AudioClassifier z domyślnego AudioClassifier.AudioClassifierOptions .

Parametry
kontekst
Ścieżka modelu ścieżka modelu klasyfikacji z metadanymi w zasobach
Rzuca
Wyjątek IO jeśli wystąpi błąd we/wy podczas ładowania modelu tflite
Wyjątek IllegalArgument jeśli argument jest nieprawidłowy
Wyjątek IllegalStateException jeśli wystąpił błąd wewnętrzny
Wyjątek czasu wykonania jeśli wystąpi inny nieokreślony błąd

publiczny statyczny AudioClassifier createFromFile ( plik modelFile)

Tworzy wystąpienie AudioClassifier z domyślnego AudioClassifier.AudioClassifierOptions .

Parametry
plik modelu model klasyfikacji Instancja File
Rzuca
Wyjątek IO jeśli wystąpi błąd we/wy podczas ładowania modelu tflite
Wyjątek IllegalArgument jeśli argument jest nieprawidłowy
Wyjątek IllegalStateException jeśli wystąpił błąd wewnętrzny
Wyjątek czasu wykonania jeśli wystąpi inny nieokreślony błąd

public static AudioClassifier createFromFileAndOptions (kontekst kontekstowy, String modelPath, opcje AudioClassifier.AudioClassifierOptions )

Parametry
kontekst
Ścieżka modelu ścieżka modelu klasyfikacji z metadanymi w zasobach
opcje
Rzuca
Wyjątek IO jeśli wystąpi błąd we/wy podczas ładowania modelu tflite
Wyjątek IllegalArgument jeśli argument jest nieprawidłowy
Wyjątek IllegalStateException jeśli wystąpił błąd wewnętrzny
Wyjątek czasu wykonania jeśli wystąpi inny nieokreślony błąd

public static AudioClassifier createFromFileAndOptions ( Opcje pliku modelFile, AudioClassifier.AudioClassifierOptions )

Tworzy instancję AudioClassifier .

Parametry
plik modelu model klasyfikacji Instancja File
opcje
Rzuca
Wyjątek IO jeśli wystąpi błąd we/wy podczas ładowania modelu tflite
Wyjątek IllegalArgument jeśli argument jest nieprawidłowy
Wyjątek IllegalStateException jeśli wystąpił błąd wewnętrzny
Wyjątek czasu wykonania jeśli wystąpi inny nieokreślony błąd

publiczny TensorAudio utwórzInputTensorAudio ()

Tworzy instancję TensorAudio do przechowywania wejściowych próbek audio.

Zwroty
  • TensorAudio o tym samym rozmiarze co tensor wejściowy modelu
Rzuca
Wyjątek IllegalArgument jeśli model nie jest kompatybilny

publiczny długi getRequiredInputBufferSize ()

Zwraca wymagany rozmiar bufora wejściowego w liczbie elementów zmiennoprzecinkowych.

public TensorAudio.TensorAudioFormat getRequiredTensorAudioFormat ()

Zwraca TensorAudio.TensorAudioFormat wymagany przez model.