Tecnologie di elaborazione
Il suono è un tipo di dati denso di informazioni. Anche se può sembrare antiquato nell'era dei contenuti video, l'audio rimane una fonte di informazione primaria per molte persone. Nonostante il lungo declino degli ascoltatori, nel 2020 l'83% degli americani di età pari o superiore ai 12 anni ha ascoltato la radio terrestre (AM/FM) in una determinata settimana (in calo rispetto all'89% del 2019). Al contrario, l'audio online ha registrato un aumento costante degli ascoltatori negli ultimi due decenni, con il 62% degli americani che ha dichiarato di ascoltarne una qualche forma su base settimanale, secondo lo stesso studio del Pew Research Center.
Come onda, il suono comprende quattro proprietà : frequenza, ampiezza, forma d'onda e durata. Nella terminologia musicale, queste proprietà sono chiamate altezza, dinamica, tono e durata. I suoni aiutano anche gli esseri umani e gli altri animali a percepire e comprendere l'ambiente circostante, fornendo indizi di contesto per la posizione e il movimento degli oggetti nell'ambiente circostante.
Come vettore di informazioni, l'audio può essere classificato in tre categorie:
- Parlato: Un mezzo di comunicazione composto da parole e grammatica. Con gli algoritmi di riconoscimento vocale, il parlato può essere convertito in testo.
- Musica: Suoni vocali e/o strumentali combinati per produrre una composizione composta da melodia, armonia, ritmo e timbro. La musica può essere rappresentata da una partitura.
- Forma d'onda: Un segnale audio digitale ottenuto dalla digitalizzazione di suoni analogici. Le forme d'onda possono rappresentare il parlato, la musica e i suoni naturali o sintetizzati.
L'audio retrieval può essere utilizzato per cercare e monitorare i media online in tempo reale per reprimere le violazioni dei diritti di proprietà intellettuale. Assume inoltre un ruolo importante nella classificazione e nell'analisi statistica dei dati audio.
Tecnologie di elaborazione
Il parlato, la musica e altri suoni generici hanno caratteristiche uniche e richiedono metodi di elaborazione diversi. In genere, l'audio viene separato in gruppi che contengono il parlato e gruppi che non lo contengono:
- L'audio parlato viene elaborato dal riconoscimento vocale automatico.
- L'audio non vocale, compreso l'audio musicale, gli effetti sonori e i segnali vocali digitalizzati, viene elaborato con sistemi di recupero audio.
Questo articolo si concentra su come utilizzare un sistema di recupero audio per elaborare dati audio non vocali. Il riconoscimento del parlato non è trattato in questo articolo
Estrazione delle caratteristiche audio
L'estrazione delle caratteristiche è la tecnologia più importante nei sistemi di recupero audio, in quanto consente la ricerca di similarità audio. I metodi di estrazione delle caratteristiche audio si dividono in due categorie:
- Modelli tradizionali di estrazione delle caratteristiche audio, come i modelli a miscela gaussiana (GMM) e i modelli di Markov nascosti (HMM);
- modelli di estrazione di caratteristiche audio basati sull'apprendimento profondo, come le reti neurali ricorrenti (RNN), le reti di memoria a breve termine (LSTM), le strutture di codifica-decodifica, i meccanismi di attenzione, ecc.
I modelli basati sull'apprendimento profondo hanno un tasso di errore inferiore di un ordine di grandezza rispetto ai modelli tradizionali e pertanto stanno guadagnando terreno come tecnologia di base nel campo dell'elaborazione dei segnali audio.
I dati audio sono solitamente rappresentati dalle caratteristiche audio estratte. Il processo di recupero cerca e confronta queste caratteristiche e attributi piuttosto che i dati audio stessi. Pertanto, l'efficacia del recupero di similarità audio dipende in larga misura dalla qualità dell'estrazione delle caratteristiche.
In questo articolo, per estrarre i vettori di caratteristiche vengono utilizzate reti neurali audio pre-addestrate su larga scala per il riconoscimento di pattern audio (PANN ), con un'accuratezza media (mAP) di 0,439 (Hershey et al., 2017).
Dopo aver estratto i vettori di caratteristiche dei dati audio, possiamo implementare l'analisi dei vettori di caratteristiche ad alte prestazioni utilizzando Milvus.
Ricerca di similarità vettoriale
Milvus è un database vettoriale cloud-nativo e open-source costruito per gestire vettori di incorporazione generati da modelli di apprendimento automatico e reti neurali. È ampiamente utilizzato in scenari quali la computer vision, l'elaborazione del linguaggio naturale, la chimica computazionale, i sistemi di raccomandazione personalizzati e altro ancora.
Il diagramma seguente illustra il processo generale di ricerca della somiglianza utilizzando Milvus: how-does-milvus-work.png
- I dati non strutturati vengono convertiti in vettori di caratteristiche dai modelli di deep learning e inseriti in Milvus.
- Milvus memorizza e indicizza questi vettori di caratteristiche.
- Su richiesta, Milvus cerca e restituisce i vettori più simili al vettore interrogato.
Panoramica del sistema
Il sistema di recupero audio è composto principalmente da due parti: inserimento (linea nera) e ricerca (linea rossa).
sistema di recupero audio.png
Il set di dati di esempio utilizzato in questo progetto contiene suoni di giochi open-source e il codice è dettagliato nel bootcamp di Milvus.
Passo 1: inserire i dati
Di seguito è riportato il codice di esempio per generare embeddings audio con il modello di inferenza PANNs pre-addestrato e inserirli in Milvus, che assegna un ID univoco a ogni embedding vettoriale.
1 wav_name, vectors_audio = get_audio_embedding(audio_path)  
2 if vectors_audio:  
3     embeddings.append(vectors_audio)  
4     wav_names.append(wav_name)  
5 ids_milvus = insert_vectors(milvus_client, table_name, embeddings) 
6
Gli ids_milvus restituiti vengono memorizzati insieme ad altre informazioni rilevanti (ad esempio, il nome del file wav) per i dati audio in un database MySQL per la successiva elaborazione.
1 get_ids_correlation(ids_milvus, wav_name)  
2 load_data_to_mysql(conn, cursor, table_name)  
3
Fase 2: Ricerca audio
Milvus calcola la distanza del prodotto interno tra i vettori di caratteristiche pre-memorizzati e i vettori di caratteristiche in ingresso, estratti dai dati audio della query utilizzando il modello di inferenza PANNs, e restituisce gli ids_milvus dei vettori di caratteristiche simili, che corrispondono ai dati audio ricercati.
1 _, vectors_audio = get_audio_embedding(audio_filename)  
2 results = search_vectors(milvus_client, table_name, [vectors_audio], METRIC_TYPE, TOP_K)  
3 ids_milvus = [x.id for x in results[0]]  
4 audio_name = search_by_milvus_ids(conn, cursor, ids_milvus, table_name)  
5
Riferimento API e demo
API
Questo sistema di recupero audio è costruito con codice open-source. Le sue caratteristiche principali sono l'inserimento e la cancellazione di dati audio. Tutte le API possono essere visualizzate digitando 127.0.0.1:
Demo
Abbiamo una demo live del sistema di ricerca audio basato su Milvus, che può essere provata con i propri dati audio.
audio-search-demo.png
Conclusione
Vivendo nell'era dei big data, le persone trovano la loro vita piena di informazioni di ogni tipo. Per dare un senso migliore a queste informazioni, il tradizionale reperimento di testi non è più sufficiente. Oggi la tecnologia di recupero delle informazioni ha urgente bisogno di recuperare vari tipi di dati non strutturati, come video, immagini e audio.
I dati non strutturati, difficili da elaborare per i computer, possono essere convertiti in vettori di caratteristiche utilizzando modelli di deep learning. Questi dati convertiti possono essere facilmente elaborati dalle macchine, consentendoci di analizzare i dati non strutturati come i nostri predecessori non erano in grado di fare. Milvus, un database vettoriale open source, è in grado di elaborare in modo efficiente i vettori di caratteristiche estratti dai modelli di intelligenza artificiale e fornisce una serie di calcoli comuni di somiglianza vettoriale.
Riferimenti
Hershey, S., Chaudhuri, S., Ellis, D.P., Gemmeke, J.F., Jansen, A., Moore, R.C., Plakal, M., Platt, D., Saurous, R.A., Seybold, B. e Slaney, M., 2017, marzo. Architetture CNN per la classificazione audio su larga scala. In 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 131-135, 2017.
Non essere un estraneo
- Panoramica del sistema
- Riferimento API e demo
- Conclusione
- Riferimenti
- Non essere un estraneo
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word