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).
- buffer de áudio de entrada de tamanho
kTfLiteFloat32
)- com
N
classes de 2 ou 4 dimensões, tais 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 imagem . Se nenhum arquivo de etiqueta for compactado, ele usará o índice como etiqueta no resultado.
Classes aninhadas
classe | AudioClassifier.AudioClassifierOptions | Opções para a criação de um AudioClassifier . |
Métodos Públicos
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
- um
AudioRecord
exemplo emAudioRecord.STATE_INITIALIZED
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)
Cria um AudioClassifier
instância do padrão AudioClassifier.AudioClassifierOptions
.
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)
Cria um AudioClassifier
instância do padrão AudioClassifier.AudioClassifierOptions
.
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)
Cria um AudioClassifier
exemplo de AudioClassifier.AudioClassifierOptions
.
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.