Verarbeitungstechnologien
Ton ist ein sehr informationsreicher Datentyp. Auch wenn er im Zeitalter von Videoinhalten veraltet erscheinen mag, bleibt Audio für viele Menschen eine primäre Informationsquelle. Trotz des langfristigen Rückgangs der Hörerzahlen haben 83 % der Amerikaner ab 12 Jahren in einer bestimmten Woche im Jahr 2020 terrestrisches Radio (AM/FM) gehört (gegenüber 89 % im Jahr 2019). Im Gegensatz dazu hat die Zahl der Online-Audiohörer in den letzten zwei Jahrzehnten stetig zugenommen, wobei 62 % der Amerikaner laut derselben Studie des Pew Research Centers wöchentlich irgendeine Form von Radio hören.
Als Welle hat der Schall vier Eigenschaften: Frequenz, Amplitude, Wellenform und Dauer. In der musikalischen Terminologie werden diese Eigenschaften als Tonhöhe, Dynamik, Klang und Dauer bezeichnet. Geräusche helfen auch Menschen und anderen Tieren, ihre Umwelt wahrzunehmen und zu verstehen, indem sie Hinweise auf den Standort und die Bewegung von Objekten in unserer Umgebung liefern.
Als Informationsträger kann Audio in drei Kategorien eingeteilt werden:
- Sprache: Ein Kommunikationsmedium, das aus Wörtern und Grammatik besteht. Mit Spracherkennungsalgorithmen kann Sprache in Text umgewandelt werden.
- Musik: Gesangs- und/oder Instrumentalklänge, die zu einer Komposition aus Melodie, Harmonie, Rhythmus und Klangfarbe kombiniert werden. Musik kann durch eine Partitur dargestellt werden.
- Wellenform: Ein digitales Audiosignal, das durch die Digitalisierung von analogen Klängen gewonnen wird. Wellenformen können Sprache, Musik und natürliche oder synthetische Klänge darstellen.
Audio-Retrieval kann zum Durchsuchen und Überwachen von Online-Medien in Echtzeit verwendet werden, um gegen Verstöße gegen Rechte an geistigem Eigentum vorzugehen. Sie spielt auch eine wichtige Rolle bei der Klassifizierung und statistischen Analyse von Audiodaten.
Verarbeitungstechnologien
Sprache, Musik und andere generische Klänge haben jeweils einzigartige Merkmale und erfordern unterschiedliche Verarbeitungsmethoden. In der Regel werden Audiodaten in Gruppen unterteilt, die Sprache enthalten, und in Gruppen, die keine Sprache enthalten:
- Gesprochene Audiodaten werden durch automatische Spracherkennung verarbeitet.
- Nicht-sprachliche Audiodaten, wie Musik, Soundeffekte und digitalisierte Sprachsignale, werden mit Hilfe von Audio-Retrieval-Systemen verarbeitet.
Dieser Artikel befasst sich mit der Verwendung eines Audio-Retrieval-Systems zur Verarbeitung von Nicht-Sprach-Audiodaten. Die Spracherkennung wird in diesem Artikel nicht behandelt.
Audio-Merkmalsextraktion
Die Merkmalsextraktion ist die wichtigste Technologie in Audio-Retrieval-Systemen, da sie die Ähnlichkeitssuche von Audiodaten ermöglicht. Methoden zur Extraktion von Audiomerkmalen werden in zwei Kategorien unterteilt:
- Traditionelle Modelle zur Extraktion von Audiomerkmalen wie Gaussian Mixture Models (GMMs) und Hidden Markov Models (HMMs);
- Modelle zur Extraktion von Audiomerkmalen, die auf Deep Learning basieren, wie z. B. rekurrente neuronale Netze (RNN), Netze mit Langzeitgedächtnis (LSTM), Kodierungs-Dekodierungs-Frameworks, Aufmerksamkeitsmechanismen usw.
Auf Deep Learning basierende Modelle haben eine um eine Größenordnung niedrigere Fehlerrate als herkömmliche Modelle und gewinnen daher als Kerntechnologie im Bereich der Audiosignalverarbeitung an Bedeutung.
Audiodaten werden normalerweise durch die extrahierten Audiomerkmale dargestellt. Bei der Suche werden diese Merkmale und Attribute und nicht die Audiodaten selbst gesucht und verglichen. Daher hängt die Effektivität der Audio-Ähnlichkeitssuche weitgehend von der Qualität der Merkmalsextraktion ab.
In diesem Artikel werden groß angelegte, vortrainierte neuronale Audionetzwerke für die Audio-Mustererkennung (PANNs) verwendet, um Merkmalsvektoren zu extrahieren, die eine mittlere durchschnittliche Genauigkeit (mAP) von 0,439 erreichen (Hershey et al., 2017).
Nach der Extraktion der Merkmalsvektoren der Audiodaten können wir mit Milvus eine leistungsstarke Merkmalsvektoranalyse durchführen.
Vektorielle Ähnlichkeitssuche
Milvus ist eine Cloud-native Open-Source-Vektordatenbank, die für die Verwaltung von Einbettungsvektoren entwickelt wurde, die von maschinellen Lernmodellen und neuronalen Netzen generiert werden. Sie wird häufig in Szenarien wie Computer Vision, natürliche Sprachverarbeitung, computergestützte Chemie, personalisierte Empfehlungssysteme und mehr eingesetzt.
Das folgende Diagramm zeigt den allgemeinen Prozess der Ähnlichkeitssuche mit Milvus: how-does-milvus-work.png
- Unstrukturierte Daten werden von Deep Learning-Modellen in Merkmalsvektoren umgewandelt und in Milvus eingefügt.
- Milvus speichert und indiziert diese Merkmalsvektoren.
- Auf Anfrage sucht Milvus die Vektoren, die dem Abfragevektor am ähnlichsten sind, und gibt sie zurück.
Überblick über das System
Das Audio-Retrieval-System besteht hauptsächlich aus zwei Teilen: Einfügen (schwarze Linie) und Suchen (rote Linie).
audio-retrieval-system.png
Der in diesem Projekt verwendete Beispieldatensatz enthält Open-Source-Spielesounds, und der Code ist im Milvus-Bootcamp ausführlich beschrieben.
Schritt 1: Daten einfügen
Nachfolgend finden Sie den Beispielcode zur Erzeugung von Audioeinbettungen mit dem vortrainierten PANNs-Inferenzmodell und zum Einfügen in Milvus, das jeder Vektoreinbettung eine eindeutige ID zuweist.
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
Die zurückgegebenen ids_milvus werden dann zusammen mit anderen relevanten Informationen (z.B. wav_name) für die Audiodaten in einer MySQL-Datenbank zur weiteren Verarbeitung gespeichert.
1 get_ids_correlation(ids_milvus, wav_name)
2 load_data_to_mysql(conn, cursor, table_name)
3
Schritt 2: Audio-Suche
Milvus berechnet die innere Produktdistanz zwischen den vorgespeicherten Merkmalsvektoren und den Eingabe-Merkmalsvektoren, die aus den abgefragten Audiodaten mit Hilfe des PANNs-Inferenzmodells extrahiert wurden, und gibt die ids_milvus ähnlicher Merkmalsvektoren zurück, die den gesuchten Audiodaten entsprechen.
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
API-Referenz und Demo
API
Dieses Audio-Retrieval-System wurde mit Open-Source-Code entwickelt. Seine Hauptfunktionen sind das Einfügen und Löschen von Audiodaten. Alle APIs können durch Eingabe von 127.0.0.1:
Demo
Wir stellen eine Live-Demo des Milvus-basierten Audio-Retrieval-Systems online, die Sie mit Ihren eigenen Audiodaten ausprobieren können.
audio-suche-demo.png
Schlussfolgerung
Im Zeitalter von Big Data ist das Leben der Menschen voll von Informationen aller Art. Um diese besser zu verstehen, reicht die traditionelle Textsuche nicht mehr aus. Die heutige Information Retrieval Technologie benötigt dringend die Abfrage verschiedener unstrukturierter Datentypen, wie Videos, Bilder und Audio.
Unstrukturierte Daten, die für Computer nur schwer zu verarbeiten sind, können mithilfe von Deep-Learning-Modellen in Merkmalsvektoren umgewandelt werden. Diese umgewandelten Daten können problemlos von Maschinen verarbeitet werden, so dass wir unstrukturierte Daten auf eine Weise analysieren können, die unseren Vorgängern nicht möglich war. Milvus, eine Open-Source-Vektordatenbank, kann die von KI-Modellen extrahierten Merkmalsvektoren effizient verarbeiten und bietet eine Reihe von gängigen Vektorähnlichkeitsberechnungen.
Referenzen
Hershey, S., Chaudhuri, S., Ellis, D.P., Gemmeke, J.F., Jansen, A., Moore, R.C., Plakal, M., Platt, D., Saurous, R.A., Seybold, B. und Slaney, M., 2017, March. CNN-Architekturen für groß angelegte Audioklassifikation. In 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pp. 131-135, 2017
Don't be a stranger
- Überblick über das System
- API-Referenz und Demo
- Schlussfolgerung
- Referenzen
- Don't be a stranger
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