AudioClassifier

classe finale pubblica AudioClassifier

Esegue la classificazione delle forme d'onda audio.

L'API prevede un modello TFLite con metadati del modello TFLite. .

L'API supporta modelli con un tensore di input audio e un tensore di output di classificazione. Per essere più specifici, ecco i requisiti.

  • Tensore audio in ingresso ( kTfLiteFloat32 )
    • buffer audio di ingresso di dimensioni [batch x samples] .
    • l'inferenza batch non è supportata ( batch deve essere 1).
  • Tensore del punteggio di output ( kTfLiteFloat32 )
Guarda un esempio di tale modello e uno strumento demo CLI per provare facilmente questa API.

Classi nidificate

classe AudioClassifier.AudioClassifierOptions Opzioni per la configurazione di un AudioClassifier .

Metodi pubblici

Elenco <Classificazioni>
classificare (tensore TensorAudio )
Esegue la classificazione effettiva sul tensore audio fornito.
Registrazione audio
creareRecordAudio ()
Crea un'istanza AudioRecord per registrare il flusso audio.
AudioClassificatore statico
createFromBuffer ( ByteBuffer modelBuffer)
Crea un'istanza AudioClassifier con un buffer del modello e l' AudioClassifier.AudioClassifierOptions predefinito.
AudioClassificatore statico
AudioClassificatore statico
createFromFile (contesto di contesto, stringa modelPath)
Crea un'istanza AudioClassifier dall'oggetto AudioClassifier.AudioClassifierOptions predefinito.
AudioClassificatore statico
createFromFile ( File modelloFile)
Crea un'istanza AudioClassifier dall'oggetto AudioClassifier.AudioClassifierOptions predefinito.
AudioClassificatore statico
AudioClassificatore statico
TensorAudio
createInputTensorAudio ()
Crea un'istanza TensorAudio per archiviare campioni audio di input.
lungo
getRequiredInputBufferSize ()
Restituisce la dimensione del buffer di input richiesta in numero di elementi float.
TensorAudio.TensorAudioFormat
getRequiredTensorAudioFormat ()
Restituisce il TensorAudio.TensorAudioFormat richiesto dal modello.

Metodi ereditati

Metodi pubblici

elenco pubblico <classificazioni> classificare (tensore TensorAudio )

Esegue la classificazione effettiva sul tensore audio fornito.

Parametri
tensore un TensorAudio contenente la clip audio di input in float con valori compresi tra [-1, 1). L'argomento tensor dovrebbe avere la stessa dimensione piatta del tensore di input del modello TFLite. Si consiglia di creare tensor utilizzando il metodo createInputTensorAudio .
Lancia
IllegalArgumentException se un argomento non è valido
IllegalStateException se si verifica un errore durante la classificazione della clip audio dal codice nativo

public AudioRecord createAudioRecord ()

Crea un'istanza AudioRecord per registrare il flusso audio. L'istanza AudioRecord restituita viene inizializzata e il client deve chiamare il metodo AudioRecord.startRecordingnull per avviare la registrazione.

Lancia
IllegalArgumentException se il numero di canali richiesto dal modello non è supportato
IllegalStateException se l'inizializzazione dell'istanza AudioRecord non è riuscita

AudioClassifier statico pubblico createFromBuffer ( ByteBuffer modelBuffer)

Crea un'istanza AudioClassifier con un buffer del modello e l' AudioClassifier.AudioClassifierOptions predefinito.

Parametri
modelBuffer un ByteBuffer diretto o un MappedByteBuffer del modello di classificazione
Lancia
IllegalStateException se c'è un errore interno
RuntimeException se è presente un errore altrimenti non specificato
IllegalArgumentException se il buffer del modello non è un ByteBuffer diretto o un MappedByteBuffer

AudioClassifier statico pubblico createFromBufferAndOptions (opzioni ByteBuffer modelBuffer, AudioClassifier.AudioClassifierOptions )

Crea un'istanza AudioClassifier con un buffer del modello e AudioClassifier.AudioClassifierOptions .

Parametri
modelBuffer un ByteBuffer diretto o un MappedByteBuffer del modello di classificazione
opzioni
Lancia
IllegalStateException se c'è un errore interno
RuntimeException se è presente un errore altrimenti non specificato
IllegalArgumentException se il buffer del modello non è un ByteBuffer diretto o un MappedByteBuffer

audioClassifier statico pubblico createFromFile (contesto di contesto, string modelPath)

Crea un'istanza AudioClassifier dall'oggetto AudioClassifier.AudioClassifierOptions predefinito.

Parametri
contesto
modelPath percorso del modello di classificazione con metadati negli asset
Lancia
IOException se si verifica un errore I/O durante il caricamento del modello tflite
IllegalArgumentException se un argomento non è valido
IllegalStateException se c'è un errore interno
RuntimeException se è presente un errore altrimenti non specificato

public static AudioClassifier createFromFile ( File modelFile)

Crea un'istanza AudioClassifier dall'oggetto AudioClassifier.AudioClassifierOptions predefinito.

Parametri
modelFile l'istanza File del modello di classificazione
Lancia
IOException se si verifica un errore I/O durante il caricamento del modello tflite
IllegalArgumentException se un argomento non è valido
IllegalStateException se c'è un errore interno
RuntimeException se è presente un errore altrimenti non specificato

audioClassifier statico pubblico createFromFileAndOptions (contesto di contesto, string modelPath, opzioni AudioClassifier.AudioClassifierOptions )

Parametri
contesto
modelPath percorso del modello di classificazione con metadati negli asset
opzioni
Lancia
IOException se si verifica un errore I/O durante il caricamento del modello tflite
IllegalArgumentException se un argomento non è valido
IllegalStateException se c'è un errore interno
RuntimeException se è presente un errore altrimenti non specificato

audioClassifier statico pubblico createFromFileAndOptions (opzioni file modelFile, AudioClassifier.AudioClassifierOptions )

Crea un'istanza AudioClassifier .

Parametri
modelFile l'istanza File del modello di classificazione
opzioni
Lancia
IOException se si verifica un errore I/O durante il caricamento del modello tflite
IllegalArgumentException se un argomento non è valido
IllegalStateException se c'è un errore interno
RuntimeException se è presente un errore altrimenti non specificato

public TensorAudio createInputTensorAudio ()

Crea un'istanza TensorAudio per archiviare campioni audio di input.

ritorna
  • un TensorAudio con le stesse dimensioni del tensore di input del modello
Lancia
IllegalArgumentException se il modello non è compatibile

pubblico lungo getRequiredInputBufferSize ()

Restituisce la dimensione del buffer di input richiesta in numero di elementi float.

public TensorAudio.TensorAudioFormat getRequiredTensorAudioFormat ()

Restituisce il TensorAudio.TensorAudioFormat richiesto dal modello.