Teile eines Songs erkennen


9

Hoffentlich ist das nicht zu subjektiv ...

Ich suche nach einer Richtung, um die verschiedenen "Teile" eines Songs zu erkennen, unabhängig vom Musikstil. Ich habe keine Ahnung, wo ich suchen soll, aber ich vertraute auf die Leistung der anderen StackOverflow-Sites und dachte, jemand hier könnte helfen, die Richtung zu bestimmen.

In den meisten grundlegenden Begriffen könnte man verschiedene Teile eines Songs erkennen, indem man einfach aufeinanderfolgende sich wiederholende Muster gruppiert und diese als "Teil" bezeichnet. Das ist vielleicht nicht so schwer - Computer sind ziemlich gut darin, Wiederholungen in einem Signal zu erkennen, selbst wenn es kleine Abweichungen gibt.

Aber es ist schwierig, wenn sich die "Teile" überlappen, wie es bei den meisten Musikstücken der Fall ist.

Es ist schwer zu sagen, welche Arten von Musik für diese Art von System am besten geeignet sind. Ich würde vermuten, dass die meisten symphonischen Musikstücke im klassischen Stil am einfachsten zu verarbeiten sind.

Irgendwelche Ideen, wo man in diesem Bereich nach Forschung suchen kann?


Ich denke, es gibt eine iPhone-App zum Erkennen des Songs aus der Snippet-Aufnahme. Und ich denke, es gab einen Artikel, der diese App beschreibt. Es tut mir leid, dass ich keine Links habe, aber ich würde damit beginnen.
mpiktas

1
@mpiktas: Sie beziehen sich wahrscheinlich auf Apps wie SoundHound oder Shazam . Es gibt ein Whitepaper darüber, wie Shazam funktioniert, obwohl es nicht zu sehr auf Details eingeht. Obwohl ich nicht sicher bin, ob das OP dies benötigt, kann es ein guter Ausgangspunkt sein.
Nico

Für einen guten, kurzen Blog-Beitrag über Shazam (basierend auf dem Whitepaper
raegtin

Antworten:


6

Ich bin kein Experte für Signalverarbeitung, aber ich weiß einiges über Musiktheorie. Ich würde sagen, im Gegenteil, klassische Musik wäre wahrscheinlich die am schwierigsten zu analysierende Musik mit einfachen mathematischen Methoden. Beginnen Sie am besten mit etwas Einfacherem und Wiederholendem wie Pop- oder Technomusik. Pop hat oft ein Vers-Chorus-Vers ... etc-Format, das einer vereinfachten Version Ihrer Ziele förderlich sein kann.

Versuchen Sie, eine Fourier-Transformation für Ihre Daten zu verwenden, um sie in ihre wichtigsten Frequenzen zu unterteilen, möglicherweise hierarchisch zwischen verschiedenen Unterabschnitten. Insbesondere können Sie nach verschiedenen Dingen suchen, je nachdem, wie Sie die "Teile" Ihrer Daten gruppieren möchten.

  1. Die langsamsten Schwingungen in Ihrer Popmusik sind wahrscheinlich die Verschiebungen zwischen Vers und Chor und zurück zu Vers (vielleicht 0,75 Schwingungen pro Minute?).

  2. Als nächstes finden Sie möglicherweise höherfrequente Schwingungen in Ihren Akkordfolgen, dh in jedem vollen Takt Ihres Songs (vielleicht etwa 6 Schwingungen pro Minute?).

  3. Die nächsthöhere Frequenz wäre meiner Meinung nach ein Takt innerhalb eines Taktes (vielleicht etwa 24 Schwingungen pro Minute?), Innerhalb dessen sich das Schlagmuster und die Synkopierung von Texten in der Pop- / Volksmusik häufig wiederholen.

  4. Wenn Sie sich mit den blutigen Details befassen, finden Sie als nächstes die Beats und Rhythmen, die sich in jedem Takt Ihrer Musik wiederholen. Wenn Sie eine davon auswählen und isolieren (bei vielleicht 148 Oszillationen / Schlägen pro Minute?), Würde dies wahrscheinlich einen Bassdrum-Kick oder einen Cowbell-Hit oder etwas in einer ähnlichen Reihenfolge ergeben.

  5. Irgendwo zwischen Beats und Tönen finden Sie möglicherweise schnelle Stilelemente Ihrer Musik, wie z. B. Speed ​​/ Sweep-Picking auf einer E-Gitarre oder schnellen Vocal-Rapping-Rhythmus. (Ich habe keine Ahnung, wie schnell diese sein könnten, aber ich würde irgendwo in der Größenordnung von 1000 Schlägen pro Minute oder mehr raten).

  6. Schließlich sind schnell und wahrscheinlich am komplexesten die Elemente Ton und Klangfarbe. Ich weiß, dass die Note "mittleres A" auf 440 Hz standardisiert ist, dh 440 Schwingungen pro Sekunde. Ich bin sicher, dass es Techniken gibt, um anhand der Klangqualität und des Timbres zu unterscheiden, welche Arten von Instrumenten verwendet werden. Es gibt sogar ziemlich gute Algorithmen zur Erkennung menschlicher Vocals. Wie gesagt, ich bin kein Experte für Signalverarbeitung.


6

Die Musik wird normalerweise mithilfe von MPEG7-Deskriptoren beschrieben, wobei einige zusätzliche Elemente wie MFCCs auf den Stückstücken berechnet werden, die durch einen Ansatz mit beweglichen Fenstern erstellt wurden (dh Sie haben eine gewisse Fenstergröße und einen Sprung, beginnen Sie mit dem Fenster am Anfang des Sounds und berechnen Sie das Deskriptoren im Fenster, dann per Hop verschieben und wiederholen, bis das Ende erreicht ist).
Auf diese Weise wird ein Stück in einen Tisch verwandelt; In Ihrem Fall kann es verwendet werden, um Clustering auf die Chunks anzuwenden und so diese "Teile" zu erkennen.


Nun ist das eher so! Gute technische Antwort.
Maschinen Sehnsucht

5

Es gibt viele verschiedene Methoden und eine Fülle von Literatur zu diesem Thema aus einer Vielzahl von Perspektiven. Hier sind einige Highlights, die gute Ausgangspunkte für Ihre Suche sein könnten.

Wenn Ihr Hintergrund eher musikalischer als mathematischer oder rechnerischer Natur ist, interessieren Sie sich vielleicht für die Werke von David Cope. Die meisten seiner veröffentlichten Werke konzentrieren sich auf die Analyse klassischer Musikstücke, aber er hat ein privates Unternehmen namens rekombinant , das allgemeiner erscheint. Viele seiner Arbeiten verwendeten Musik als Sprachmodell, aber ich glaube, zumindest einige seiner jüngsten Arbeiten haben sich mehr auf das gesamte musikalische Genom verlagert . Er hat eine Menge Software online verfügbar , aber sie ist im Allgemeinen in Lisp geschrieben und einige können nur in verschiedenen Versionen von Apples Betriebssystem ausgeführt werden, obwohl einige unter Linux funktionieren sollten oder überall dort, wo Sie gängiges Lisp zum Ausführen bekommen können.

Die Analyse von Signalen und Musik im Allgemeinen war ein sehr beliebtes Problem beim maschinellen Lernen. In den Texten von Christopher Bishop zu Neuronalen Netzen für Mustererkennung und Mustererkennung und maschinelles Lernen gibt es eine gute Anfangsabdeckung . Hier ist ein Beispiel für ein MSc-Papier, das den Musikklassifizierungsteil enthält, aber eine gute Berichterstattung über die Merkmalsextraktion enthält. Der Autor zitiert mindestens einen der Bischofstexte und mehrere andere Quellen. Er empfiehlt auch mehrere Quellen für aktuellere Artikel zu den Themen.

Bücher, die mathematischer oder statistischer sind (zumindest aufgrund ihrer Urheberschaft, wenn nicht aufgrund ihres Inhalts):

Da ich Bishop und die rechnerische Perspektive des maschinellen Lernens erwähnte, würde ich nur die halbe Geschichte erzählen, wenn ich nicht vorschlagen würde, dass Sie einen Blick auf die neueren Elemente des statistischen Lernens (die zum kostenlosen legalen Download verfügbar sind) von Hastie werfen , Tibshirani und Friedman. Ich erinnere mich nicht, dass es in diesem Text speziell ein Beispiel für die Audioverarbeitung gibt, aber einige der behandelten Methoden könnten an dieses Problem angepasst werden.

Ein weiterer erwägenswerter Text ist Jan Berans Statistik in Musikwissenschaft . Dies bietet eine Reihe statistischer Werkzeuge speziell für die Analyse von Musikwerken und verfügt auch über zahlreiche Referenzen.

Wieder gibt es viele, viele andere Quellen da draußen. Vieles davon hängt davon ab, welchen Hintergrund Sie haben und mit welcher Herangehensweise Sie sich am wohlsten fühlen. Hoffentlich hilft Ihnen zumindest ein Teil davon ein wenig bei der Suche nach einer Antwort. Wenn Sie uns mehr über Ihren Hintergrund, zusätzliche Details zum Problem oder eine Frage als Antwort auf diesen Beitrag erzählen, bin ich sicher, dass ich oder viele der anderen hier Sie gerne auf spezifischere Informationen verweisen würden. Viel Glück!


4

Keine gute Antwort, aber zwei Orte, an denen man nach Forschung suchen kann, sind:

Die International Society for Music Information Retrieval hat unzählige Veröffentlichungen zu diesem Thema veröffentlicht. Erstaunlich, wie viele Informationen es auf www.ismir.net gibt

& Echo Nest (Ein Startup mit einer API für ähnliche Aufgaben) echonest.com

UPDATE: Sie haben auch Open Source-Fingerabdruckcode veröffentlicht. http://echoprint.me/


0

Ich war an dem ähnlichen Problem interessiert. Hier ist die Lösung. Es ist kein so alter wissenschaftlicher Vorschlag, der als Scape Plot bezeichnet wird . Siehe diesen Artikel für Details (es sieht gut aus).

Darüber hinaus würde ich Ihnen empfehlen, auch die Website des Autors zu besuchen, da es viele ähnliche Anwendungen von Statistiken in der Musik gibt. Bei der Suche nach ähnlichen Quellen empfehle ich, den Begriff Musikinformationsabruf zu verwenden , der ähnliche Bereiche umfasst.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.