Guia de classificação de áudio

A tarefa "Classificador de áudio" do MediaPipe permite classificar clipes de áudio em um conjunto de categorias definidas, como música de violão, apito de trem ou música de pássaro. As categorias são definidas durante o treinamento do modelo. Essa tarefa opera em dados de áudio com um modelo de machine learning (ML) como clipes de áudio independentes ou um stream contínuo e gera uma lista de possíveis categorias classificadas por pontuação de probabilidade decrescente.

Faça um teste.

Comece já

Comece a usar essa tarefa seguindo um destes guias de implementação para sua plataforma de destino. Estes guias específicos da plataforma orientam você em uma implementação básica dessa tarefa, incluindo um modelo recomendado e um exemplo de código com as opções de configuração recomendadas:

Estes guias específicos da plataforma orientam você em uma implementação básica dessa tarefa, incluindo um modelo recomendado e um exemplo de código com as opções de configuração recomendadas.

Detalhes da tarefa

Nesta seção, descrevemos os recursos, as entradas, as saídas e as opções de configuração desta tarefa.

Recursos

  • Processamento de áudio de entrada: o processamento inclui reamostragem de áudio, armazenamento em buffer, enquadramento e transformação quatroier.
  • Localidade do mapa do marcador: define o idioma usado para os nomes de exibição.
  • Limite de pontuação: filtre os resultados com base nas pontuações de previsão.
  • Detecção de Top-k: filtra os resultados da detecção de número.
  • Lista de permissões e de bloqueio de marcadores: especifique as categorias detectadas.
Entradas de tarefas Saídas de tarefas
A entrada pode ser de um destes tipos de dados:
  • Clipes de áudio
  • Stream de áudio
O classificador de áudio gera uma lista de categorias que contém:
  • Índice da categoria: o índice da categoria nos resultados do modelo
  • Pontuação: a pontuação de confiança desta categoria, geralmente uma probabilidade em [0,1]
  • Nome da categoria (opcional): o nome da categoria conforme especificado nos metadados do modelo do TFLite, se disponível
  • Nome de exibição da categoria (opcional): um nome de exibição para a categoria, conforme especificado nos metadados de modelo do TFLite, no idioma especificado pelas opções de localidade de nomes de exibição, se disponíveis.

Opções de configuração

Essa tarefa tem as seguintes opções de configuração:

Nome da opção Descrição Intervalo de valor Valor padrão
running_mode Define o modo de execução da tarefa. O classificador de áudio tem dois modos:

AUDIO_CLIPS: o modo para executar a tarefa de áudio em clipes de áudio independentes.

AUDIO_STREAM: o modo para executar a tarefa de áudio em um stream de áudio, como no microfone. Nesse modo, resultListener precisa ser chamado para configurar um listener e receber os resultados de classificação de forma assíncrona.
{AUDIO_CLIPS, AUDIO_STREAM} AUDIO_CLIPS
display_names_locale Define o idioma dos rótulos a ser usado para nomes de exibição fornecidos nos metadados do modelo da tarefa, se disponível. O padrão é en para inglês. É possível adicionar rótulos localizados aos metadados de um modelo personalizado usando a API TensorFlow Lite Metadata Writer Código da localidade en
max_results Define o número máximo opcional de resultados de classificação com a melhor pontuação a ser retornado. Se < 0, todos os resultados disponíveis serão retornados. Qualquer número positivo -1
score_threshold Define o limite de pontuação de previsão que substitui o fornecido nos metadados do modelo (se houver). Os resultados abaixo desse valor são rejeitados. [0,0, 1,0] Não definido
category_allowlist Define a lista opcional de nomes de categorias permitidas. Se não estiver em branco, os resultados de classificação com nome de categoria que não estiver nesse conjunto serão filtrados. Nomes de categoria duplicados ou desconhecidos são ignorados. Essa opção é mutuamente exclusiva com category_denylist, e o uso de ambos resulta em um erro. Qualquer string Não definido
category_denylist Define a lista opcional de nomes de categorias que não são permitidos. Se não estiver em branco, os resultados de classificação com o nome de categoria nesse conjunto serão filtrados. Nomes de categoria duplicados ou desconhecidos são ignorados. Essa opção é mutuamente exclusiva com category_allowlist, e o uso de ambos resulta em um erro. Qualquer string Não definido
result_callback Define o listener de resultados para receber os resultados da classificação de forma assíncrona quando o Classificador de áudio está no modo de stream de áudio. Só pode ser usado quando o modo de corrida está definido como AUDIO_STREAM N/A Não definido

Modelos

O Classificador de áudio exige que um modelo de classificação de áudio seja transferido por download e armazenado no diretório do projeto. Comece com o modelo padrão recomendado para a plataforma de destino ao começar a desenvolver com essa tarefa. Os outros modelos disponíveis normalmente compensam os requisitos de desempenho, precisão, resolução e recursos e, em alguns casos, incluem outros recursos.

O modelo Yamnet é um classificador de eventos de áudio treinado no conjunto de dados AudioSet para prever eventos de áudio definidos nos dados do AudioSet. Para informações sobre os eventos de áudio reconhecidos por esse modelo, consulte a lista de rótulos do modelo.

Nome do modelo Forma de entrada Tipo de quantização Versions
YamNet 1 x 15.600 Nenhum (float32) Mais recente

Comparativos de mercado de tarefas

Aqui estão os comparativos de mercado de tarefas para todo o pipeline com base nos modelos pré-treinados acima. O resultado da latência é a latência média no Pixel 6 usando CPU / GPU.

Nome do modelo Latência da CPU Latência da GPU
YamNet 12,29 ms -