Recupero audio basato su Milvus
Il suono è un tipo di dato ad alta densità informativa. Sebbene possa sembrare antiquato nell’era dei contenuti video, l’audio rimane una fonte primaria di informazioni per molte persone. Nonostante il declino a lungo termine degli ascoltatori, l’83% degli americani di età pari o superiore a 12 anni ha ascoltato la radio terrestre (AM/FM) in una determinata settimana del 2020 (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, secondo quanto riportato, ne ascolta una qualche forma su base settimanale secondo lo stesso studio del Pew Research Center.
Come onda, il suono include quattro proprietà: frequenza, ampiezza, forma d’onda e durata. Nella terminologia musicale, queste sono chiamate altezza, dinamica, tono e durata. I suoni aiutano anche gli esseri umani e altri animali a percepire e comprendere il nostro ambiente, fornendo indizi contestuali sulla posizione e sul movimento degli oggetti nei nostri dintorni.
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 costituita da melodia, armonia, ritmo e timbro. La musica può essere rappresentata da una partitura.
- Forma d’onda: Un segnale audio digitale ottenuto digitalizzando suoni analogici. Le forme d’onda possono rappresentare parlato, musica e suoni naturali o sintetizzati.
Il recupero audio 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 ciascuno caratteristiche uniche e richiedono metodi di elaborazione diversi. In genere, l’audio viene separato in gruppi che contengono parlato e gruppi che non lo contengono:
- L’audio parlato viene elaborato tramite riconoscimento vocale automatico.
- L’audio non parlato, inclusi l’audio musicale, gli effetti sonori e i segnali vocali digitalizzati, viene elaborato utilizzando sistemi di recupero audio.
Questo articolo si concentra su come utilizzare un sistema di recupero audio per elaborare dati audio non parlati. Il riconoscimento vocale non è trattato in questo articolo
Estrazione delle caratteristiche audio
L’estrazione delle caratteristiche è la tecnologia più importante nei sistemi di recupero audio, poiché consente la ricerca per similarità audio. I metodi per estrarre le caratteristiche audio sono suddivisi 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 delle caratteristiche audio basati sul deep learning come reti neurali ricorrenti (RNN), reti long short-term memory (LSTM), framework di codifica-decodifica, meccanismi di attenzione, ecc.
I modelli basati sul deep learning hanno un tasso di errore inferiore di un ordine di grandezza rispetto ai modelli tradizionali e, pertanto, stanno guadagnando slancio come tecnologia fondamentale 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 per similarità audio dipende in larga misura dalla qualità dell’estrazione delle caratteristiche.
In questo articolo, vengono utilizzate large-scale pre-trained audio neural networks for audio pattern recognition (PANNs) per estrarre vettori di caratteristiche per la loro accuratezza media media (mAP) di 0,439 (Hershey et al., 2017).
Dopo aver estratto i vettori di caratteristiche dei dati audio, possiamo implementare un’analisi dei vettori di caratteristiche ad alte prestazioni utilizzando Milvus.
Ricerca per similarità vettoriale
Milvus è un database vettoriale open-source, cloud-native, progettato per gestire vettori di embedding generati da modelli di machine learning e reti neurali. È ampiamente utilizzato in scenari come computer vision, elaborazione del linguaggio naturale, chimica computazionale, sistemi di raccomandazione personalizzati e altro ancora.
Il diagramma seguente illustra il processo generale di ricerca di similarità utilizzando Milvus:
Processo di ricerca di similarità vettoriale di Milvus.
- I dati non strutturati vengono convertiti in vettori di caratteristiche da modelli di deep learning e inseriti in Milvus.
- Milvus archivia e indicizza questi vettori di caratteristiche.
- Su richiesta, Milvus cerca e restituisce i vettori più simili al vettore di query.
Panoramica del sistema
Il sistema di recupero audio è composto principalmente da due parti: inserimento (linea nera) e ricerca (linea rossa).
Sistema di recupero audio basato su Milvus.
Il dataset di esempio utilizzato in questo progetto contiene suoni di giochi open-source e il codice è dettagliato nel Milvus bootcamp.
Passaggio 1: Inserire i dati
Di seguito è riportato il codice di esempio per generare embedding audio con il modello pre-addestrato PANNs-inference e inserirli in Milvus, che assegna un ID univoco a ciascun 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
Quindi gli ids_milvus restituiti vengono archiviati insieme ad altre informazioni rilevanti (ad es. wav_name) per i dati audio conservati in un database MySQL per l’elaborazione successiva.
1 get_ids_correlation(ids_milvus, wav_name)
2 load_data_to_mysql(conn, cursor, table_name)
3
Passaggio 2: Ricerca audio
Milvus calcola la distanza del prodotto interno tra i vettori di caratteristiche pre-archiviati e i vettori di caratteristiche di input, estratti dai dati audio di query utilizzando il modello PANNs-inference, e restituisce gli ids_milvus di 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 è realizzato con codice open-source. Le sue funzionalità principali sono l’inserimento e l’eliminazione dei dati audio. Tutte le API possono essere visualizzate digitando 127.0.0.1:
Demo
Ospitiamo online una demo live del sistema di recupero audio basato su Milvus, che puoi provare con i tuoi dati audio.
Demo di ricerca audio basata su Milvus.
Conclusione
Vivendo nell’era dei big data, le persone si trovano circondate da ogni sorta di informazione. Per comprenderle meglio, il recupero testuale tradizionale non è più sufficiente. La tecnologia odierna di recupero delle informazioni ha urgente bisogno del recupero di 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 in modi che i nostri predecessori non avrebbero mai potuto. Milvus, un database vettoriale open-source, può elaborare in modo efficiente i vettori di caratteristiche estratti dai modelli di IA e fornisce una varietà di calcoli comuni di similarità 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 uno sconosciuto
Continua a leggere

Expanding Our Global Reach: Zilliz Cloud Launches in Azure Central India
Zilliz Cloud expands to Azure Central India. This new region helps customers meet compliance, reduce latency, and optimize cloud costs when building AI applications.

Why Not All VectorDBs Are Agent-Ready
Explore why choosing the right vector database is critical for scaling AI agents, and why traditional solutions fall short in production.

AI Agents Are Quietly Transforming E-Commerce — Here’s How
Discover how AI agents transform e-commerce with autonomous decision-making, enhanced product discovery, and vector search capabilities for today's retailers.



