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).
- buffer audio di ingresso di dimensioni
kTfLiteFloat32
)- con
N
classi di 2 o 4 dimensioni, come[1 x N]
o[1 x 1 x 1 x N]
- è necessario che il file dell'etichetta sia compresso nei metadati. Guarda l' esempio di creazione di metadati per un classificatore di immagini . Se non sono compressi file di etichette, verrà utilizzato l'indice come etichetta nel risultato.
Classi nidificate
classe | AudioClassifier.AudioClassifierOptions | Opzioni per la configurazione di un AudioClassifier . |
Metodi pubblici
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.
ritorna
- un'istanza
AudioRecord
inAudioRecord.STATE_INITIALIZED
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 )
Crea un'istanza AudioClassifier
da 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.