Executa classificação em formas de onda de áudio.
A API espera um modelo TFLite com metadados de modelo TFLite. .
A API oferece suporte a modelos com um tensor de entrada de áudio e um tensor de saída de classificação. Para ser mais específico, aqui estão os requisitos.
- Tensor de áudio de entrada (
kTfLiteFloat32
)- buffer de áudio de entrada de tamanho
[batch x samples]
. - a inferência em lote não é suportada (
batch
deve ser 1).
- buffer de áudio de entrada de tamanho
kTfLiteFloat32
)- com
N
classes de 2 ou 4 dimensões, como[1 x N]
ou[1 x 1 x 1 x N]
- o arquivo de etiqueta deve ser compactado nos metadados. Veja o exemplo de criação de metadados para um classificador de imagens . Se nenhum arquivo de rótulo for compactado, ele usará o índice como rótulo no resultado.
Classes aninhadas
aula | AudioClassifier.AudioClassifierOptions | Opções para configurar um AudioClassifier . |
Métodos Públicos
Métodos herdados
Métodos Públicos
lista pública < classificações > classificar (tensor TensorAudio )
Executa a classificação real no tensor de áudio fornecido.
Parâmetros
tensor | um TensorAudio contendo o clipe de áudio de entrada em float com valores entre [-1, 1). O argumento tensor deve ter o mesmo tamanho plano que o tensor de entrada do modelo TFLite. É recomendado criar tensor usando o método createInputTensorAudio . |
---|
Lança
Exceção de argumento ilegal | se um argumento for inválido |
---|---|
IllegalStateException | se ocorrer erro ao classificar o clipe de áudio do código nativo |
public AudioRecord createAudioRecord ()
Cria uma instância AudioRecord
para gravar fluxo de áudio. A instância AudioRecord retornada é inicializada e o cliente precisa chamar o método AudioRecord.startRecordingnull
para iniciar a gravação.
Devoluções
- uma instância
AudioRecord
emAudioRecord.STATE_INITIALIZED
Lança
Exceção de argumento ilegal | se a contagem de canais necessária do modelo não for suportada |
---|---|
IllegalStateException | se a instância AudioRecord falhou ao inicializar |
public static AudioClassifier createFromBuffer ( ByteBuffer modelBuffer)
Cria uma instância AudioClassifier
com um buffer de modelo e o padrão AudioClassifier.AudioClassifierOptions
.
Parâmetros
modeloBuffer | um ByteBuffer direto ou um MappedByteBuffer do modelo de classificação |
---|
Lança
IllegalStateException | se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado |
Exceção de argumento ilegal | se o buffer do modelo não for um ByteBuffer direto ou um MappedByteBuffer |
public static AudioClassifier createFromBufferAndOptions (opções ByteBuffer modelBuffer, AudioClassifier.AudioClassifierOptions )
Cria uma instância AudioClassifier
com um buffer de modelo e AudioClassifier.AudioClassifierOptions
.
Parâmetros
modeloBuffer | um ByteBuffer direto ou um MappedByteBuffer do modelo de classificação |
---|---|
opções |
Lança
IllegalStateException | se houver um erro interno |
---|---|
Exceção de tempo de execução | se houver um erro não especificado |
Exceção de argumento ilegal | se o buffer do modelo não for um ByteBuffer direto ou um MappedByteBuffer |
public static AudioClassifier createFromFile (contexto de contexto, String modelPath)
Cria uma instância AudioClassifier
do padrão AudioClassifier.AudioClassifierOptions
.
Parâmetros
contexto | |
---|---|
caminho do modelo | caminho do modelo de classificação com metadados nos ativos |
Lança
IOException | se ocorrer um erro de E/S ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento for inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
public static AudioClassifier createFromFile ( Arquivo modelFile)
Cria uma instância AudioClassifier
do padrão AudioClassifier.AudioClassifierOptions
.
Parâmetros
arquivomodelo | o modelo de classificação Instância File |
---|
Lança
IOException | se ocorrer um erro de E/S ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento for inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
public static AudioClassifier createFromFileAndOptions (contexto de contexto, String modelPath, opções AudioClassifier.AudioClassifierOptions )
Cria uma instância AudioClassifier
de AudioClassifier.AudioClassifierOptions
.
Parâmetros
contexto | |
---|---|
caminho do modelo | caminho do modelo de classificação com metadados nos ativos |
opções |
Lança
IOException | se ocorrer um erro de E/S ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento for inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
public static AudioClassifier createFromFileAndOptions (opções de arquivo modelFile, AudioClassifier.AudioClassifierOptions )
Cria uma instância AudioClassifier
.
Parâmetros
arquivomodelo | o modelo de classificação Instância File |
---|---|
opções |
Lança
IOException | se ocorrer um erro de E/S ao carregar o modelo tflite |
---|---|
Exceção de argumento ilegal | se um argumento for inválido |
IllegalStateException | se houver um erro interno |
Exceção de tempo de execução | se houver um erro não especificado |
TensorAudio público createInputTensorAudio ()
Cria uma instância TensorAudio
para armazenar amostras de áudio de entrada.
Devoluções
- um
TensorAudio
com o mesmo tamanho do tensor de entrada do modelo
Lança
Exceção de argumento ilegal | se o modelo não for compatível |
---|
público longo getRequiredInputBufferSize ()
Retorna o tamanho do buffer de entrada necessário em número de elementos flutuantes.
público TensorAudio.TensorAudioFormat getRequiredTensorAudioFormat ()
Retorna o TensorAudio.TensorAudioFormat
exigido pelo modelo.