AudioClassifier

AudioClassifier classe final pública

Executa a classificação em formas de onda de áudio.

A API espera um modelo TFLite com TFLite modelo de metadados. .

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 entrada de áudio ( kTfLiteFloat32 )
    • buffer de áudio de entrada de tamanho [batch x samples] .
    • inferência lote não está suportado ( batch é requerido para ser 1).
  • Pontuação saída tensor ( kTfLiteFloat32 )
Veja um exemplo de tal modelo, e uma ferramenta de demonstração CLI para facilmente experimentar este API.

Classes aninhadas

classe AudioClassifier.AudioClassifierOptions Opções para a criação de um AudioClassifier .

Métodos Públicos

Lista < Classificações >
classificar ( TensorAudio tensor)
Executa a classificação real no tensor de áudio fornecido.
Gravação de audio
createAudioRecord ()
Cria um AudioRecord exemplo para gravar stream de áudio.
estática AudioClassifier
createFromBuffer ( ByteBuffer modelBuffer)
Cria um AudioClassifier exemplo com um tampão de modelo e os predefinidos AudioClassifier.AudioClassifierOptions .
estática AudioClassifier
estática AudioClassifier
CreateFromFile (Contexto contexto, corda modelPath)
estática AudioClassifier
estática AudioClassifier
estática AudioClassifier
TensorAudio
createInputTensorAudio ()
Cria um TensorAudio instância para amostras de áudio de entrada da loja.
grande
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

pública Lista < Classificações > classificar ( TensorAudio tensor)

Executa a classificação real no tensor de áudio fornecido.

Parâmetros
tensor um TensorAudio contendo o clipe de áudio de entrada em flutuador com valores entre [-1, 1). O tensor argumento deve ter o mesmo tamanho plana como tensor de entrada do modelo TFLite. É recomendado para criar tensor usando createInputTensorAudio método.
Lança
Exceção de argumento ilegal se um argumento é inválido
IllegalStateException se ocorrer um erro ao classificar o clipe de áudio do código nativo

pública AudioRecord createAudioRecord ()

Cria um AudioRecord exemplo para gravar stream de áudio. A instância AudioRecord retornado é inicializado e as necessidades do cliente para chamar AudioRecord.startRecordingnull método para iniciar a gravação.

Devoluções
Lança
Exceção de argumento ilegal se a contagem de canais exigida pelo modelo não for compatível
IllegalStateException se a instância AudioRecord falhou ao inicializar

public static AudioClassifier createFromBuffer ( ByteBuffer modelBuffer)

Cria um AudioClassifier exemplo com um tampão de modelo e os predefinidos AudioClassifier.AudioClassifierOptions .

Parâmetros
modelBuffer uma direta ByteBuffer 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 de outra forma
Exceção de argumento ilegal Se o tampão de modelo não é um directa ByteBuffer ou um MappedByteBuffer

public static AudioClassifier createFromBufferAndOptions ( ByteBuffer modelBuffer, AudioClassifier.AudioClassifierOptions opções)

Cria um AudioClassifier exemplo com um tampão e modelo AudioClassifier.AudioClassifierOptions .

Parâmetros
modelBuffer uma direta ByteBuffer 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 de outra forma
Exceção de argumento ilegal Se o tampão de modelo não é um directa ByteBuffer ou um MappedByteBuffer

public static AudioClassifier CreateFromFile (contexto Contexto, Cordas modelPath)

Parâmetros
contexto
modelPath caminho do modelo de classificação com metadados nos ativos
Lança
IOException se ocorrer um erro de I / O ao carregar o modelo tflite
Exceção de argumento ilegal se um argumento é inválido
IllegalStateException se houver um erro interno
Exceção de tempo de execução se houver um erro não especificado de outra forma

public static AudioClassifier CreateFromFile ( Arquivo modelFile)

Parâmetros
modelFile a classificação modelo File instância
Lança
IOException se ocorrer um erro de I / O ao carregar o modelo tflite
Exceção de argumento ilegal se um argumento é inválido
IllegalStateException se houver um erro interno
Exceção de tempo de execução se houver um erro não especificado de outra forma

public static AudioClassifier createFromFileAndOptions (contexto Contexto, Cordas modelPath, AudioClassifier.AudioClassifierOptions opções)

Parâmetros
contexto
modelPath caminho do modelo de classificação com metadados nos ativos
opções
Lança
IOException se ocorrer um erro de I / O ao carregar o modelo tflite
Exceção de argumento ilegal se um argumento é inválido
IllegalStateException se houver um erro interno
Exceção de tempo de execução se houver um erro não especificado de outra forma

public static AudioClassifier createFromFileAndOptions ( Arquivo modelFile, AudioClassifier.AudioClassifierOptions opções)

Cria um AudioClassifier exemplo.

Parâmetros
modelFile a classificação modelo File instância
opções
Lança
IOException se ocorrer um erro de I / O ao carregar o modelo tflite
Exceção de argumento ilegal se um argumento é inválido
IllegalStateException se houver um erro interno
Exceção de tempo de execução se houver um erro não especificado de outra forma

pública TensorAudio createInputTensorAudio ()

Cria um TensorAudio instância para amostras de áudio de entrada da loja.

Devoluções
  • um TensorAudio com o mesmo tamanho que o tensor de entrada do modelo
Lança
Exceção de argumento ilegal se o modelo não é compatível

getRequiredInputBufferSize longo público ()

Retorna o tamanho do buffer de entrada necessário em número de elementos flutuantes.

pública TensorAudio.TensorAudioFormat getRequiredTensorAudioFormat ()

Retorna o TensorAudio.TensorAudioFormat exigido pelo modelo.