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.
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:
- Android: Ejemplo de código: Guía
- Python: Guía con ejemplos de código
- Web: Ejemplo de código: Guía
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:
|
El clasificador de audio genera una lista de categorías que contiene lo siguiente:
|
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.
Modelo Yamnet (recomendado)
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 | - |