Guida alla classificazione dei contenuti audio

Forma d'onda di un richiamo di uccello sovrapposta a una fotografia dell'uccello a cui corrisponde la forma d'onda.

L'attività MediaPipe Audio Classifier ti consente di classificare i clip audio in un insieme di categorie definite, ad esempio musica per chitarra, fischio di un treno o canto di un uccello. Le categorie vengono definite durante l'addestramento del modello. Questa attività opera sui dati audio con un modello di machine learning (ML) come clip audio indipendenti o come stream continuo e genera un elenco di potenziali categorie classificate in base al punteggio di probabilità decrescente.

Prova!

Inizia

Per iniziare a utilizzare questa attività, segui una di queste guide all'implementazione per la tua piattaforma di destinazione. Queste guide specifiche per la piattaforma illustrano un'implementazione di base di questa attività, incluso un modello consigliato e un esempio di codice con le opzioni di configurazione consigliate:

Queste guide specifiche per la piattaforma illustrano un'implementazione di base di questa attività, incluso un modello consigliato e un esempio di codice con le opzioni di configurazione consigliate.

Dettagli attività

Questa sezione descrive le funzionalità, gli input, gli output e le opzioni di configurazione di questa attività.

Funzionalità

  • Elaborazione audio in ingresso: l'elaborazione include il campionamento audio, buffering, framing e trasformazione di Fourier.
  • Impostazioni internazionali della mappa di etichette: imposta la lingua utilizzata per i nomi visualizzati
  • Soglia di punteggio: filtra i risultati in base ai punteggi di previsione.
  • Rilevamento dei primi k: filtra i risultati del rilevamento dei numeri.
  • Lista consentita ed esclusa delle etichette: specifica le categorie rilevate.
Input delle attività Output delle attività
L'input può essere uno dei seguenti tipi di dati:
  • Clip audio
  • Stream audio
Il classificatore audio genera un elenco di categorie contenenti:
  • indice categoria: l'indice della categoria negli output del modello
  • Punteggio: il punteggio di confidenza per questa categoria, in genere una probabilità compresa tra 0 e 1
  • Nome della categoria (facoltativo): il nome della categoria specificato nei metadati del modello TFLite, se disponibile
  • Nome visualizzato della categoria (facoltativo): un nome visualizzato per la categoria come specificato nei metadati del modello TFLite, nella lingua specificata tramite le opzioni internazionali dei nomi visualizzati, se disponibili

Opzioni di configurazione

Questa attività ha le seguenti opzioni di configurazione:

Nome opzione Descrizione Intervallo di valori Valore predefinito
running_mode Imposta la modalità di esecuzione dell'attività. Audio Classifier ha due modalità:

AUDIO_CLIPS: la modalità per eseguire l'attività audio su clip audio indipendenti.

AUDIO_STREAM: la modalità per l'esecuzione dell'attività audio su uno stream audio, ad esempio dal microfono. In questa modalità, resultListener deve essere chiamato per configurare un ascoltatore per ricevere i risultati della classificazione in modo asincrono.
{AUDIO_CLIPS, AUDIO_STREAM} AUDIO_CLIPS
display_names_locale Imposta la lingua delle etichette da utilizzare per i nomi visualizzati forniti nei metadati del modello dell'attività, se disponibile. Il valore predefinito è en per l'inglese. Puoi aggiungere etichette localizzate ai metadati di un modello personalizzato utilizzando l'API TensorFlow Lite Metadata Writer Codice delle impostazioni internazionali it
max_results Imposta il numero massimo facoltativo di risultati di classificazione con il punteggio più alto da restituire. Se < 0, verranno restituiti tutti i risultati disponibili. Qualsiasi numero positivo -1
score_threshold Imposta la soglia del punteggio di previsione che sostituisce quella fornita nei metadati del modello (se presenti). I risultati inferiori a questo valore vengono rifiutati. [0,0; 1,0] Non impostato
category_allowlist Imposta l'elenco facoltativo dei nomi delle categorie consentite. Se non è vuoto, i risultati di classificazione il cui nome della categoria non è presente in questo insieme verranno eliminati. I nomi di categorie duplicati o sconosciuti vengono ignorati. Questa opzione è mutuamente esclusiva con category_denylist e l'utilizzo di entrambe genera un errore. Qualsiasi stringa Non impostato
category_denylist Imposta l'elenco facoltativo dei nomi di categorie non consentiti. Se non è vuoto, i risultati di classificazione il cui nome della categoria è presente in questo insieme verranno esclusi. I nomi di categorie duplicati o sconosciuti vengono ignorati. Questa opzione è mutuamente esclusa da category_allowlist e l'utilizzo di entrambe genera un errore. Qualsiasi stringa Non impostato
result_callback Imposta l'ascoltatore dei risultati in modo da ricevere i risultati della classificazione in modo asincrono quando il classificatore audio è in modalità stream audio. Può essere utilizzato solo quando la modalità di esecuzione è impostata su AUDIO_STREAM N/D Non impostato

Modelli

Il classificatore audio richiede che un modello di classificazione audio venga scaricato e memorizzato nella directory del progetto. Quando inizi a sviluppare con questa attività, inizia con il modello predefinito consigliato per la tua piattaforma di destinazione. Gli altri modelli disponibili di solito prevedono compromessi tra prestazioni, precisione, risoluzione e requisiti di risorse e, in alcuni casi, includono funzionalità aggiuntive.

Il modello Yamnet è un classificatore di eventi audio addestrato sul set di dati AudioSet per prevedere gli eventi audio definiti nei dati di AudioSet. Per informazioni sugli eventi audio riconosciuti da questo modello, consulta l'elenco delle etichette del modello.

Nome modello Forma di input Tipo di quantizzazione Versioni
YamNet 1 x 15600 Nessuno (float32) Ultime notizie

Benchmark delle attività

Ecco i benchmark delle attività per l'intera pipeline in base ai modelli preaddestrati sopra riportati. Il risultato della latenza è la latenza media su Pixel 6 che utilizza la CPU / GPU.

Nome modello Latenza della CPU Latenza GPU
YamNet 12,29 ms -