Einführung:
Im aktuellen Technologiezeitalter haben Unternehmen verschiedener Branchen Technologie in ihre täglichen Abläufe integriert. Auch die Unterhaltungsbranche, darunter Plattformen wie Spotify und Apple Music, hat diesen Development aufgegriffen, insbesondere im Bereich Musik-Streaming. Aufgrund der unterschiedlichen Musikpräferenzen der Benutzer ist es jedoch von entscheidender Bedeutung, über ein System zu verfügen, das verschiedene Musikgenres genau identifizieren kann, um effiziente Katalogisierungsprozesse zu ermöglichen.
Ziel dieses Projekts ist es, ein Modell zu entwickeln, mit dem das Style einer Audiodatei mithilfe von erkannt werden kann Mel Frequency Cepstral Coefficients (MFCC) Merkmalsextraktionstechnik.
Datenextraktion/Vorverarbeitung/Bereinigung:
Die in diesem Projekt verwendeten Audiodateien waren 30-Sekunden-Soundclips im WAV-Format, bezogen von Hier. Beim Entpacken wurden die Audiodateien in Unterverzeichnisse organisiert, wobei jedes Unterverzeichnis 100 Dateien enthielt, die 10 verschiedenen Musikgenres entsprachen. Jede Audiodatei wurde in 20 Frames unterteilt und die MFCCs jedes Frames wurden mit extrahiert Librosa Modul in Python. Diese MFCCs wurden dann in einem Wörterbuch gespeichert und als gespeichert JSON Datei. Für dieses Projekt ist nur die MFCCs wurden als interessierendes Merkmal extrahiert.
Datenexploration/Visualisierung:
Um Einblicke in die Eigenschaften jeder Audiodatei zu erhalten, wurde eine repräsentative Audiodatei aus jedem Style ausgewählt und ihre Wellenform wurde mit dem geplottet Librosa Modul.
Wellenformen:
Die Wellenform einer Audiodatei liefert wertvolle Informationen über die Amplitudenschwankung im Zeitverlauf. In der Tontechnik bezieht sich die Amplitude auf die vertikale Höhe der Wellenform und stellt das Ausmaß der durch die Schallwelle verursachten Luftdruckschwankung dar. Es kann gemessen werden Volt (V), Dezibel (dB)oder Pascal (Pa). Höhere Amplitudenwerte zeigen an lauterer Ton oder höhere Schallintensität.
Aus den aufgezeichneten Wellenformen lässt sich erkennen, dass Pop, Hip HopUnd Felsen Genres weisen eine konstante Amplitude von 1,0 mit gelegentlichen Spitzen auf, was auf hohe Schallintensitäten hinweist. Jazz, DiskoUnd Land Die Genres folgen dicht mit Amplituden, die leicht unter der vorherigen Gruppe liegen, was auf ähnlich hohe Klangintensitäten hinweist. Blues, Reggae, MetallUnd klassisch Genres haben Amplituden zwischen 0,5 Und 0,6mit dem klassisch Style, das die niedrigste Amplitude anzeigt 0,2. Historisch, klassisch Musik ist dafür bekannt beruhigender Ton und relativ geringere Intensität.
Mel Frequency Cepstral Coefficients (MFCC):
Mel Frequency Cepstral Coefficients (MFCCs) werden häufig in der Audiosignalverarbeitung und Spracherkennung zur Merkmalsextraktion eingesetzt. Ihr Ziel ist es, die Eigenschaften des menschlichen Hörsystems darzustellen und relevante Informationen über den spektralen Inhalt eines Audiosignals zu erfassen.
Der MFCCs bieten eine komprimierte Darstellung der spektralen Eigenschaften eines Audiosignals und heben wesentliche Merkmale in Bezug auf Phonetik und Klangfarbe hervor. Aus der Analyse geht hervor, dass die Hip Hop Style zeigt die höchste Konzentration von MFCCs, gefolgt von Metall Und Land Genres.
Maschinelles Lernen:
Im Laufe der Jahre wurden mehrere Modelle des maschinellen Lernens zur Klassifizierung von Musikgenres eingesetzt, z Help Vector Machine (SVM) Und Ok-Nächste Nachbarn (KNN). Allerdings hat keines im Vergleich zu den bessere Ergebnisse erzielt Faltungs-Neuronales Netzwerk (CNN).
CNN verstehen:
Ein Faltungs-Neuronales Netzwerk ist eine bestimmte Artwork von neurales Netzwerk Architektur, die beim Deep Studying zum Einsatz kommt und darauf abzielt, menschliche Lernprozesse nachzubilden. CNNs werden hauptsächlich in verwendet Bildverarbeitung Und Objektidentifikation Und Erkennungsaufgaben. Die neuronale Struktur eines CNN ist so gestaltet, dass sie dem Frontallappen des menschlichen Gehirns ähnelt. Es besteht aus drei Hauptschichten: die Faltungsschicht (wo der Großteil der Berechnungen stattfindet), die Pooling-Schicht (was die Parameteranzahl der Eingabe reduziert) und die vollständig verbundene Schicht (zuständig für die Bildklassifizierung). Wie der CNN fortschreitet die Faltungsschicht zum vollständig verbundene Schicht, die Komplexität des Netzwerks nimmt zu. Diese zunehmende Komplexität ermöglicht es dem CNN, nach und nach größere Teile und komplexere Merkmale eines Bildes zu identifizieren, bis die gewünschte Klassifizierung erreicht ist.
Implementierung des CNN:
Während CNNs häufig für bildbezogene Aufgaben verwendet werden, stehen wir nun vor der Herausforderung, Musikgenres zu klassifizieren. Wie können wir CNNs für diesen Zweck anpassen? Die Lösung liegt in der Darstellung der Audiodateien mithilfe von MFCC Besonderheit. Folglich ist die Eingabeform ein 4D-Array, wobei die erste Dimension bezeichnet die Anzahl der Framesdie sZweite Dimension repräsentiert die ZeitschritteDie dritte Dimension bedeutet die Anzahl der MFCC-Koeffizientenund das vierte Dimension zeigt an, dass Anzahl der Kanäle (was in diesem Fall 1 ist). Dieses Setup ähnelt einem Graustufenbild. Sobald die Eingaben in das Modell eingespeist sind, fahren wir mit der Kompilierung des Modells fort und initiieren den Trainingsprozess. Klopfen Hier um die Implementierung des CNN-Modells zu sehen.
Modellbewertung von Trainings- und Validierungsdaten
Dieses Diagramm veranschaulicht die Leistung des Modells nach 50 Epochen und hebt die Unterschiede zwischen den Trainingsdaten und dem Validierungssatz hervor. Es ist offensichtlich, dass der Verlust in den Trainingsdaten im Vergleich zum Validierungssatz etwas geringer ist. Darüber hinaus nehmen die Genauigkeits-, Präzisions- und Erinnerungswerte des Trainingssatzes stetig zu und nähern sich an 97 %, 97 %Und 96 %, bzw. Allerdings weisen Genauigkeit, Präzision und Rückruf des Validierungssatzes Schwankungen ohne klare Konvergenz auf und erreichen Werte von 83 %, 88 %Und 79 %, bzw. Diese Ergebnisse deuten darauf hin, dass das Modell im Trainingssatz im Vergleich zum Validierungssatz eine bessere Generalisierung aufweist.
Modellbewertung anhand von Testdaten
Bei der Auswertung des Testsatzes mithilfe des Modells wurde festgestellt, dass der Verlust der Testdaten weiterhin höher warfare. Wenn man außerdem die Genauigkeits-, Präzisions- und Erinnerungswerte zwischen den Trainings- und Testdaten vergleicht, ist es offensichtlich, dass sie alle einen Rückgang von etwa ungefähr aufweisen 15%, 10 %Und 18 %bzw.
Abschluss
Durch die Darstellung von Audiodateien als Bilder und die Nutzung eines Convolutional Neural Community (CNN) für Deep Studying haben wir erhebliche Fortschritte erzielt. Es ist jedoch wichtig zu beachten, dass die Leistung bei den Testdaten möglicherweise nicht so bemerkenswert ist wie die bei den Trainingsdaten. Dennoch gibt es Raum für Verbesserungen durch die Feinabstimmung der Hyperparameter, um unsere Ergebnisse zu verbessern. Unabhängig davon sollten Sie sich selbst dafür loben, dass Sie dieses Stadium des Projekts erreicht haben.
Artikel von Ajekwe Moses Zanzan