Guia de classificação de áudio

Forma de onda de um canto de pássaro sobreposta a uma fotografia do
pássaro que corresponde ao canto.

A tarefa do classificador de áudio do MediaPipe permite classificar clipes de áudio em um conjunto de categorias definidas, como música de guitarra, apito de trem ou canto de pássaro. As categorias são definidas durante o treinamento do modelo. Essa tarefa opera em dados de áudio com um modelo de aprendizado de máquina (ML) como clipes de áudio independentes ou um fluxo contínuo e gera uma lista de categorias em potencial classificadas por pontuação de probabilidade decrescente.

Teste!

Começar

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

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

Detalhes da tarefa

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

Recursos

  • Processamento de áudio de entrada: o processamento inclui reamostragem de áudio, buffer, enquadramento e transformação de Fourier.
  • Localidade do mapa de rótulos: defina 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: filtre os resultados da detecção de números.
  • Lista de permissões e de bloqueio de rótulos: especifique as categorias detectadas.
Entradas da tarefa Saídas de tarefas
A entrada pode ser um dos seguintes tipos de dados:
  • Clipes de áudio
  • Stream de áudio
O classificador de áudio gera uma lista de categorias contendo:
  • Índice da categoria: o índice da categoria nas saídas do modelo
  • Pontuação: a pontuação de confiança para essa categoria, geralmente uma probabilidade no intervalo [0,1].
  • Nome da categoria (opcional): o nome da categoria conforme especificado nos metadados do modelo TFLite, se disponível.
  • Nome de exibição da categoria (opcional): um nome de exibição para a categoria conforme especificado nos metadados do modelo TFLite, no idioma especificado nas opções de localidade de nomes de exibição, se disponível.

Opções de configuração

Esta 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 do microfone. Nesse modo, o resultListener precisa ser chamado para configurar um listener para 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 serem usados para os nomes de exibição fornecidos nos metadados do modelo da tarefa, se disponível. O padrão é en para o inglês. É possível adicionar rótulos localizados aos metadados de um modelo personalizado usando a API Writer de metadados do TensorFlow Lite. Código de localidade en
max_results Define o número máximo opcional de resultados de classificação com a maior pontuação a serem retornados. Se for < 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). Resultados abaixo desse valor são rejeitados. [0, 1] Não definido
category_allowlist Define a lista opcional de nomes de categorias permitidos. Se não estiver vazio, os resultados de classificação cujo nome de categoria não estiver neste conjunto serão filtrados. Nomes de categorias duplicados ou desconhecidos são ignorados. Essa opção é mutuamente exclusiva com category_denylist, e o uso de ambas resulta em um erro. Qualquer string Não definido
category_denylist Define a lista opcional de nomes de categorias não permitidos. Se não estiver vazio, os resultados de classificação cujo nome de categoria estiver neste conjunto serão filtrados. Nomes de categorias duplicados ou desconhecidos são ignorados. Essa opção é mutuamente exclusiva de category_allowlist, e o uso das duas resulta em um erro. Qualquer string Não definido
result_callback Define o listener de resultado para receber os resultados de classificação de forma assíncrona quando o classificador de áudio está no modo de transmissão de áudio. Só pode ser usado quando o modo de execução 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 feito o download e armazenado no diretório do projeto. Comece com o modelo padrão recomendado para sua plataforma de destino ao começar a desenvolver com essa tarefa. Os outros modelos disponíveis geralmente fazem trocas entre desempenho, precisão, resolução e requisitos de recursos e, em alguns casos, incluem recursos adicionais.

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 identificadores.

Nome do modelo Forma de entrada Tipo de quantização Versões
YamNet 1 x 15600 Nenhum (float32) Mais recente

Comparações de mercado de tarefas

Confira os comparativos de mercado da tarefa 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 -