Выполняет классификацию звуковых сигналов.
API ожидает модель TFLite с метаданными модели TFLite. .
API поддерживает модели с одним тензором аудиовхода и одним тензором вывода классификации. Если быть более конкретным, то вот требования.
- Входной аудиотензор (
kTfLiteFloat32
)- входной аудиобуфер размером
[batch x samples]
. - Пакетный вывод не поддерживается (
batch
должен быть равен 1).
- входной аудиобуфер размером
kTfLiteFloat32
)- с
N
классами 2 или 4 измерений, например[1 x N]
или[1 x 1 x 1 x N]
- файл этикетки необходимо упаковать в метаданные. См. пример создания метаданных для классификатора изображений . Если файлы меток не упакованы, в качестве метки в результате будет использоваться индекс.
Вложенные классы
сорт | AudioClassifier.AudioClassifierOptions | Варианты настройки AudioClassifier . |
Публичные методы
Унаследованные методы
Публичные методы
общедоступный список < Классификации > классифицировать (тензор TensorAudio )
Выполняет фактическую классификацию предоставленного аудиотензора.
Параметры
тензор | TensorAudio , содержащий входной аудиоклип в формате с плавающей запятой со значениями между [-1, 1). Аргумент tensor должен иметь тот же плоский размер, что и входной тензор модели TFLite. Рекомендуется создавать tensor с помощью метода createInputTensorAudio . |
---|
Броски
IllegalArgumentException | если аргумент недействителен |
---|---|
IllegalStateException | если возникает ошибка при классификации аудиоклипа из собственного кода |
общедоступная аудиозапись createAudioRecord ()
Создает экземпляр AudioRecord
для записи аудиопотока. Возвращенный экземпляр AudioRecord инициализируется, и клиенту необходимо вызвать метод AudioRecord.startRecordingnull
, чтобы начать запись.
Возврат
- экземпляр
AudioRecord
вAudioRecord.STATE_INITIALIZED
Броски
IllegalArgumentException | если необходимое для модели количество каналов не поддерживается |
---|---|
IllegalStateException | если экземпляр AudioRecord не удалось инициализировать |
общедоступный статический AudioClassifier createFromBuffer ( ByteBuffer modelBuffer)
Создает экземпляр AudioClassifier
с буфером модели и AudioClassifier.AudioClassifierOptions
по умолчанию.
Параметры
модельBuffer | прямой ByteBuffer или MappedByteBuffer модели классификации |
---|
Броски
IllegalStateException | если произошла внутренняя ошибка |
---|---|
Исключение времени выполнения | если есть неуказанная ошибка |
IllegalArgumentException | если буфер модели не является прямым ByteBuffer или MappedByteBuffer |
общедоступный статический AudioClassifier createFromBufferAndOptions (опции ByteBuffer modelBuffer, AudioClassifier.AudioClassifierOptions )
Создает экземпляр AudioClassifier
с буфером модели и AudioClassifier.AudioClassifierOptions
.
Параметры
модельBuffer | прямой ByteBuffer или MappedByteBuffer модели классификации |
---|---|
параметры |
Броски
IllegalStateException | если произошла внутренняя ошибка |
---|---|
Исключение времени выполнения | если есть неуказанная ошибка |
IllegalArgumentException | если буфер модели не является прямым ByteBuffer или MappedByteBuffer |
общедоступный статический AudioClassifier createFromFile (контекст контекста, String modelPath)
Создает экземпляр AudioClassifier
на основе AudioClassifier.AudioClassifierOptions
по умолчанию.
Параметры
контекст | |
---|---|
модельпуть | путь модели классификации с метаданными в активах |
Броски
Исключение IO | если при загрузке модели tflite возникает ошибка ввода-вывода |
---|---|
IllegalArgumentException | если аргумент недействителен |
IllegalStateException | если произошла внутренняя ошибка |
Исключение времени выполнения | если есть неуказанная ошибка |
общедоступный статический AudioClassifier createFromFile ( File modelFile)
Создает экземпляр AudioClassifier
на основе AudioClassifier.AudioClassifierOptions
по умолчанию.
Параметры
МодельФайл | экземпляр File модели классификации |
---|
Броски
Исключение IO | если при загрузке модели tflite возникает ошибка ввода-вывода |
---|---|
IllegalArgumentException | если аргумент недействителен |
IllegalStateException | если произошла внутренняя ошибка |
Исключение времени выполнения | если есть неуказанная ошибка |
общедоступный статический AudioClassifier createFromFileAndOptions (контекст контекста, String modelPath, параметры AudioClassifier.AudioClassifierOptions )
Создает экземпляр AudioClassifier
из AudioClassifier.AudioClassifierOptions
.
Параметры
контекст | |
---|---|
модельпуть | путь модели классификации с метаданными в активах |
параметры |
Броски
Исключение IO | если при загрузке модели tflite возникает ошибка ввода-вывода |
---|---|
IllegalArgumentException | если аргумент недействителен |
IllegalStateException | если произошла внутренняя ошибка |
Исключение времени выполнения | если есть неуказанная ошибка |
public static AudioClassifier createFromFileAndOptions (параметры File modelFile, AudioClassifier.AudioClassifierOptions )
Создает экземпляр AudioClassifier
.
Параметры
МодельФайл | экземпляр File модели классификации |
---|---|
параметры |
Броски
Исключение IO | если при загрузке модели tflite возникает ошибка ввода-вывода |
---|---|
IllegalArgumentException | если аргумент недействителен |
IllegalStateException | если произошла внутренняя ошибка |
Исключение времени выполнения | если есть неуказанная ошибка |
общедоступный TensorAudio createInputTensorAudio ()
Создает экземпляр TensorAudio
для хранения образцов входного аудио.
Возврат
-
TensorAudio
того же размера, что и входной тензор модели.
Броски
IllegalArgumentException | если модель несовместима |
---|
общедоступный длинный getRequiredInputBufferSize ()
Возвращает требуемый размер входного буфера в количестве элементов с плавающей запятой.
public TensorAudio.TensorAudioFormat getRequiredTensorAudioFormat ()
Возвращает TensorAudio.TensorAudioFormat
, требуемый моделью.