Guía de clasificación de audio

Una forma de onda de un llamado de pájaro superpuesta sobre una fotografía del pájaro cuyo llamado coincide con la forma de onda.

La tarea de MediaPipe Audio Classifier te permite clasificar clips de audio en un conjunto de categorías definidas, como música de guitarra, silbido de tren o canto de pájaro. Las categorías se definen durante el entrenamiento del modelo. Esta tarea opera en datos de audio con un modelo de aprendizaje automático (AA) como clips de audio independientes o una transmisión continua, y genera una lista de categorías potenciales clasificadas por puntuación de probabilidad descendente.

Pruébala.

Comenzar

Para comenzar a usar esta tarea, sigue una de estas guías de implementación para tu plataforma de destino. En estas guías específicas de la plataforma, se explica una implementación básica de esta tarea, incluido un modelo recomendado y un ejemplo de código con las opciones de configuración recomendadas:

En estas guías específicas de la plataforma, se explica una implementación básica de esta tarea, incluido un modelo recomendado y un ejemplo de código con opciones de configuración recomendadas.

Detalles de la tarea

En esta sección, se describen las capacidades, las entradas, las salidas y las opciones de configuración de esta tarea.

Funciones

  • Procesamiento de audio de entrada: El procesamiento incluye el remuestreo de audio, el almacenamiento en búfer, el enmarcado y la transformación de Fourier.
  • Label map locale: Establece el idioma que se usa para los nombres visibles.
  • Umbral de puntuación: Filtra los resultados según las puntuaciones de predicción.
  • Detección Top-K: Filtra los resultados de la detección de números.
  • Lista de entidades permitidas y prohibidas de etiquetas: Especifica las categorías detectadas.
Entradas de tareas Resultados de las tareas
La entrada puede ser uno de los siguientes tipos de datos:
  • Clips de audio
  • Transmisión de audio
El clasificador de audio genera una lista de categorías que contiene lo siguiente:
  • Índice de categoría: Es el índice de la categoría en los resultados del modelo.
  • Puntuación: Es la puntuación de confianza de esta categoría, por lo general, una probabilidad en el rango [0,1].
  • Nombre de la categoría (opcional): Es el nombre de la categoría, tal como se especifica en los metadatos del modelo de TFLite, si está disponible.
  • Nombre visible de la categoría (opcional): Es un nombre visible para la categoría, tal como se especifica en los metadatos del modelo de TFLite, en el idioma especificado a través de las opciones de configuración regional de los nombres visibles, si está disponible.

Opciones de configuración

Esta tarea tiene las siguientes opciones de configuración:

Nombre de la opción Descripción Rango de valores Valor predeterminado
running_mode Establece el modo de ejecución de la tarea. El clasificador de audio tiene dos modos:

AUDIO_CLIPS: Es el modo para ejecutar la tarea de audio en clips de audio independientes.

AUDIO_STREAM: Es el modo para ejecutar la tarea de audio en una transmisión de audio, como desde un micrófono. En este modo, se debe llamar a resultListener para configurar un objeto de escucha que reciba los resultados de la clasificación de forma asíncrona.
{AUDIO_CLIPS, AUDIO_STREAM} AUDIO_CLIPS
display_names_locale Establece el idioma de las etiquetas que se usarán para los nombres visibles proporcionados en los metadatos del modelo de la tarea, si están disponibles. El valor predeterminado es en para el inglés. Puedes agregar etiquetas localizadas a los metadatos de un modelo personalizado con la API de Metadata Writer de TensorFlow Lite. Código de configuración regional en
max_results Establece la cantidad máxima opcional de resultados de clasificación con la puntuación más alta que se mostrarán. Si es menor que 0, se mostrarán todos los resultados disponibles. Cualquier número positivo -1
score_threshold Establece el umbral de puntuación de predicción que anula el que se proporciona en los metadatos del modelo (si corresponde). Se rechazan los resultados por debajo de este valor. [0.0, 1.0] Sin establecer
category_allowlist Establece la lista opcional de nombres de categorías permitidas. Si no está vacío, se filtrarán los resultados de clasificación cuyo nombre de categoría no esté en este conjunto. Se ignoran los nombres de categorías duplicados o desconocidos. Esta opción es mutuamente excluyente con category_denylist y, si se usan ambas, se genera un error. Cualquier cadena Sin establecer
category_denylist Establece la lista opcional de nombres de categorías que no están permitidos. Si no está vacío, se filtrarán los resultados de clasificación cuyo nombre de categoría esté en este conjunto. Se ignoran los nombres de categorías duplicados o desconocidos. Esta opción es mutuamente excluyente con category_allowlist y usar ambas genera un error. Cualquier cadena Sin establecer
result_callback Establece el objeto de escucha de resultados para que reciba los resultados de la clasificación de forma asíncrona cuando el clasificador de audio esté en el modo de transmisión de audio. Solo se puede usar cuando el modo de ejecución está configurado como AUDIO_STREAM. N/A Sin establecer

Modelos

El clasificador de audio requiere que se descargue y almacene un modelo de clasificación de audio en el directorio de tu proyecto. Comienza con el modelo predeterminado y recomendado para tu plataforma de destino cuando comiences a desarrollar con esta tarea. Los otros modelos disponibles suelen establecer compensaciones entre el rendimiento, la precisión, la resolución y los requisitos de recursos, y, en algunos casos, incluyen funciones adicionales.

El modelo Yamnet es un clasificador de eventos de audio entrenado en el conjunto de datos de AudioSet para predecir los eventos de audio definidos en los datos de AudioSet. Para obtener información sobre los eventos de audio que reconoce este modelo, consulta la lista de etiquetas del modelo.

Nombre del modelo Forma de entrada Tipo de cuantización Versiones
YamNet 1 × 15,600 Ninguno (float32) Más reciente

Comparativas de tareas

Estas son las comparativas de tareas de toda la canalización según los modelos previamente entrenados anteriores. El resultado de la latencia es la latencia promedio en el Pixel 6 con CPU o GPU.

Nombre del modelo Latencia de la CPU Latencia de la GPU
YamNet 12.29 ms -