La tarea del clasificador de audio MediaPipe te permite clasificar clips de audio en un conjunto de categorías definidas, como música de guitarra, silbato de tren o el canto de un ave. 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 en una transmisión continua y genera una lista de categorías potenciales clasificadas por puntuación de probabilidad descendente.
Comenzar
Comienza a utilizar esta tarea siguiendo una de estas guías de implementación para la plataforma de destino. En estas guías específicas de la plataforma, se explica la implementación básica de esta tarea, incluidos un modelo recomendado y un ejemplo de código con las opciones de configuración recomendadas:
- Android - Ejemplo de código - Guía
- Python - Ejemplo de código Guía
- Web - Ejemplo de código - Guía
En estas guías específicas de la plataforma, se explica la implementación básica de esta tarea, incluidos 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, entradas, salidas y opciones de configuración de esta tarea.
Funciones
- Procesamiento de audio de entrada: El procesamiento incluye remuestreo de audio, almacenamiento en búfer, encuadre y transformación Fourier.
- Configuración regional del mapa de etiquetas: Establece el idioma que se usa para los nombres visibles.
- Umbral de puntuación: Filtra los resultados en función de las puntuaciones de predicción.
- Detección de k superior: filtra los resultados de la detección de números.
- Lista de entidades permitidas y listas de bloqueo: Especifica las categorías detectadas.
Entradas de tareas | Resultados de la tarea |
---|---|
La entrada puede ser uno de los siguientes tipos de datos:
|
El clasificador de audio genera una lista de categorías que contiene lo siguiente:
|
Opciones de configuración
Esta tarea incluye 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 para la tarea. El clasificador de audio tiene dos modos: AUDIO_CLIPS: Es el modo que permite 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 a fin de recibir los resultados de clasificación de forma asíncrona. |
{AUDIO_CLIPS, AUDIO_STREAM } |
AUDIO_CLIPS |
display_names_locale |
Configura 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 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 |
Configura la cantidad máxima opcional de resultados de clasificación con puntuación más alta que se mostrarán. Si es inferior a 0, se devolverán todos los resultados disponibles. | Cualquier número positivo | -1 |
score_threshold |
Establece el umbral de puntuación de predicción que anula el proporcionado en los metadatos del modelo (si corresponde). Se rechazarán los resultados inferiores a este valor. | [0.0, 1.0] | No establecida |
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. Los nombres de categorías duplicados o desconocidos se ignoran.
Esta opción es mutuamente excluyente con category_denylist , y el uso de ambos da como resultado un error. |
Cualquier cadena | No establecida |
category_denylist |
Establece la lista opcional de nombres de categorías que no están permitidas. Si no está vacío, se filtrarán los resultados de clasificación cuyo nombre de categoría se encuentre en este conjunto. Los nombres de categorías duplicados o desconocidos se ignoran. Esta opción es mutuamente
exclusiva con category_allowlist , y el uso de ambas da como resultado un error. |
Cualquier cadena | No establecida |
result_callback |
Configura el objeto de escucha de resultados para recibir los resultados de 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 en AUDIO_STREAM |
N/A | No establecida |
ajustables
El clasificador de audio requiere que se descargue y almacene un modelo de clasificación de audio en el directorio del proyecto. Comienza con el modelo predeterminado y recomendado para la plataforma de destino cuando comiences a desarrollar con esta tarea. Por lo general, los otros modelos disponibles ofrecen compensaciones entre el rendimiento, la precisión, la resolución y los requisitos de recursos y, en algunos casos, incluyen características adicionales.
Modelo Yamnet (recomendado)
El modelo Yamnet es un clasificador de eventos de audio entrenado en el conjunto de datos AudioSet para predecir eventos de audio definidos en los datos de AudioSet. Para obtener información sobre los eventos de audio reconocidos por este modelo, consulta la lista de etiquetas del modelo.
Nombre del modelo | Forma de entrada | Tipo de cuantización | Versiones |
---|---|---|---|
YamNet | 1 × 15,600 | Ninguna (float32) | Más reciente |
Comparativas de tareas
Estas son las comparativas de tareas para toda la canalización basadas en los modelos previamente entrenados anteriores. El resultado de latencia es la latencia promedio en el Pixel 6 usando CPU / GPU.
Nombre del modelo | Latencia de la CPU | Latencia de GPU |
---|---|---|
YamNet | 12.29ms | - |