AudioClassifier

classe final pública AudioClassifier

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).
  • Tensor de pontuação de saída ( kTfLiteFloat32 )
Veja um exemplo desse modelo e uma ferramenta de demonstração CLI para testar facilmente esta API.

Classes aninhadas

aula AudioClassifier.AudioClassifierOptions Opções para configurar um AudioClassifier .

Métodos Públicos

Lista < Classificações >
classificar (tensor TensorAudio )
Executa a classificação real no tensor de áudio fornecido.
Gravação de audio
criarAudioRecord ()
Cria uma instância AudioRecord para gravar fluxo de áudio.
AudioClassificador estático
createFromBuffer ( ByteBuffer modelBuffer)
Cria uma instância AudioClassifier com um buffer de modelo e o padrão AudioClassifier.AudioClassifierOptions .
AudioClassificador estático
AudioClassificador estático
createFromFile (contexto de contexto, String modelPath)
AudioClassificador estático
createFromFile ( Arquivo modelFile)
AudioClassificador estático
AudioClassificador estático
TensorÁudio
createInputTensorAudio ()
Cria uma instância TensorAudio para armazenar amostras de áudio de entrada.
longo
getRequiredInputBufferSize ()
Retorna o tamanho do buffer de entrada necessário em número de elementos flutuantes.
TensorAudio.TensorAudioFormat

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
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 )

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.