Music Structure Analysis
Proseminar Computer und Musik WS 2017/2018
Imke Haverkämper
Agenda
1. Begriffsklärung und Vorgehensweise
2. Segmentierung
3. Self-Similarity Matrizen
4. Fitness Measure
5. Audio Thumbnailing
2
Was ist überhaupt diese Music Structure?
• Musik hierarchisch aufgebaut
• niedrigstes Level: einzelne Note
• nächst höheres Level: Motive, Sätze, Teilstücke
• höchstes Level (Music Structure) : Kombinationen von Motiven und
Sätzen
• je nach Musikrichtung variiert Struktur
• z.B. Popmusik: Intro, Refrain, Vers, evtl. Outro
3
Wie wollen wir sie Analysieren?
• Erforschen, welcher Abschnitt einer Aufnahme welcher Strukturellen
Einheit entspricht
• Verschiedene Methoden: repetition-based, homogeneity-based und
novelty-based
• Folgend Fokus auf repetition-based und homogeneity-based
4
Kurze Begriffsklärung
• Repräsentation ist eine Audioaufnahme
• Part ist ein Teil eines Stücks im abstrakten Sinne
• Segment ist zeitlicher Abschnitt einer Aufnahme
• Sequenz kann sowohl Part, als auch Segment sein
• Sequenzen meist mit Buchstaben und Indizes bezeichnet
5
Beispiel:
6
Bildquelle: Meinard Müller, Fundamentals of Music Processing, S.168
Segmentierung
• Kann auf jedem Level der Struktur stattfinden
• Wir Segmentieren auf gröbstem Level
• Notwendig, um Relationen zwischen den einzelnen Parts zu erkennen
• Wonach Segmentiert wird muss auf Grundlage des Stückes und der
Repräsentation entschieden werden
• Wie bereits erwähnt im folgenden Fokus auf repetition-based und
homogeneity-based
7
Was ist Self-Similarity?
• Zuerst muss eine Aufnahme in eine verwendbare Feature
Repräsentation umgewandelt werden
• Features können Instrumentation, Timbre, Tempo, Rhythmus, etc. sein
• Wir werden im folgenden mit Chroma Features arbeiten
• Hierbei wird jedes Element einer Sequenz mit jedem anderen darin
liegenden Verglichen und in Relation gesetzt
• Damit beschreibt der höchste Self-Similarity-Wert(=1) die Beziehung
einer Sequenz zu sich selbst
• Damit erstellt man Self-Similarity Matrizen (SSM)
8
Chroma Feature
• Mensch erkennt Töne als
„gleichfarbig“, wenn diese
genau eine Oktave
auseinander liegen
• Wir erhalten einen
Chroma-Wert für jede
Tonhöhe
• Die Tonhöhe wird hier
anhand der
Farbintensität in Relation
zur Y-Achse signalisiert
9
Bildquelle:
https://en.wikipedia.org/wiki/Chroma_feature
Self-Similarity Matrizen (SSM)
• Sequenz wird mit sich selbst verglichen mittels Similarity-Measure
• Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity-
Wert (zwischen 0 und 1) bezüglich einer beliebigen Eigenschaft
• Pfad- und Blockstrukturen werden erkennbar
• Pfade stehen für Wiederholungen (Problem: selten exakt)
• Blöcke stehen für hohe Homogenität in diesem Bereich
10
Wie sieht eine ideale SSM aus?
11
Bildquelle: Meinard Müller, Fundamentals of Music Processing, S.180
Nochmal zusammengefasst:
• NxN – Matrix
• Segment ist Set α = [s:t] (s= Start, t= Ende)
• Induziertes Segment π1
• π2 entspricht α
• Pfade stehen für Wiederholungen
• Blöcke stehen für Homogenität
• Pfade und Blöcke haben Score, der die Summe ihrer Similarity-Werte
darstellt
12
Welchen Nutzen hat so eine SSM?
• Segmentierungsalgorithmen profitieren von der vorhandenen Pfad-
und Blockstruktur
• Typische Schritte so eines Alorithmus´ sind:
1. Audiosignal in eine Feature Repräsentation umformen
2. SSM berechnen
3. Pfad- und Blockstruktur extrahieren
4. Gruppen ähnlicher Segmente mittels Clustering erstellen
13
In Wirklichkeit sehen sie aber leider meist so aus…
14
Bildquelle: Meinard Müller, Fundamentals of Music Processing, S. 185
Verbesserung mittels passender Feature Repräsentation
• Zwei Parameter:
l = Längenparameter (in Frames)
d = Downsampling-Parameter
• Variieren dieser Parameter glättet die SSM
• Blockstruktur wird hervorgehoben, rücken näher aneinander
• Problem: Pfade und andere kleine, aber wichtige Details können
verschwinden
15
Beispiel:
16
Bildquelle: Meinard Müller, Fundamentals of Music Processing, S. 185
Verbesserung mittels Path Smoothing
• Pfade für Menschen leicht erkennbar
• Automatisiertes Erkennen erschwert (Wiederholungen nur selten
exakt)
• Nutzung von Bildbearbeitungstechniken
• Anwendung eines Averaging-Filters (Low-Pass-Filter) entlang der
Diagonalen
17
Averaging-Filter
• Geglättete SSM :
SL (n,m) :=1
𝐿σ𝑙=0𝐿−1 𝑆(𝑛 + 𝑙,𝑚 + 𝑙) n,m ϵ [1: N-L+1]
• Mittelt die Similarity-Werte von zwei Untersequenzen der Länge L
durch das Strecken der Werte der Ursprünglichen SSM
• Angewandt entlang der Diagonalen werden Pfade hervorgehoben, die
exakt parallel zu ihr verlaufen
• Wiederholungen nur selten exakt (Tempovariation wirkt sich auf
Steigung des Pfads aus), deshalb problematisch
18
Multiple-Filtering-Ansatz
• Averaging-Filter in einer festgelegten Umgebung der Diagonalen
angewandt
• Dazu wird ein Set Θ definiert, das alle Steigungsparameter enthält,
entlang denen geglättet wird
• Jede Richtungsvariation bildet neue SSM
• „ausbluten“ des Pfades nach hinten durch vorwärtsanwenden wird
behoben durch zusätzliches rückwärtsanwenden
• Endgültige SSM entsteht dann zellenweise durch wählen des
Maximums aller Matrizen
• Praktisch sind Tempo unterschiede über 50% selten, guter Richtwert
für die Grenzen des Sets Θ
19
Beispiel:
20
Bildquelle: Meinard Müller, Fundamentals of Music Processing, S. 188
Verbesserung mittels Thresholding
• Reduziert Auswirkungen weniger relevanter Störgeräusche,
schwache, wichtige Informationen gehen verloren
• Hohe Auswirkungen auf Endergebnis der Analyse
• Global Thresholding: alle Werte über einem Schwellenwert bleiben
bei, alle anderen werden auf 0 gesetzt
• Local Thresholding: Wert wird beibehalten wenn er in oberem
Wertebereich der Zeile und Spalte liegt
21
Fitness Measure
• Wird anhand von SSMs berechnet
• Findet Anwendung im Audio-Thumbnailing, dazu später mehr
• Berücksichtigt alle Relationen zwischen einem Segment und seinen
Wiederholungen
• Damit mit Fitness Measure gearbeitet werden kann, muss die SSM
Werte zwischen 0 und 1 enthalten, wobei 1 maximale Ähnlichkeit
bedeutet
• Gibt an wie gut ein Segment ein Stück repräsentiert und welche
Zeiteinheit von Wiederholungen dieses Segments abgedeckt wird
22
Einschub: Pfadfamilien
• P = Set von Relationen(in diesem Fall Wdh.) von Segment α zu anderen
Segmenten, Segmente müssen paarweise disjunkt sein
• Auch Pfadfamilie hat einen Score
• Dann existiert auch eine optimale Pfadfamilie (P*) mit maximalem Score,
wie man diese berechnet sparen wir uns aus Zeitgründen
• Coverage: σ𝑘=1𝐾 |α𝑘| gibt an, wie groß die Zeiteinheit ist, die von der
Pfadfamilie abgedeckt wird
23
Beispiel:
24
Bildquelle: Meinard Müller, Fundamentals of Music Processing, S. 196
Fitness Measure
• Kandidat wäre der Score der optimalen Pfadfamilie, erfüllt allerdings
nicht alle gewünschten Eigenschaften
• Score ist abhängig von der Länge der Pfade und enthält überflüssige
Selbsterklärungen
• Also müssen wir den Score normalisieren wie folgt: σ := σ 𝑃∗ −|α|
σ𝑘=1𝐾 𝐿
𝑘
• Kombinieren von Score und Coverage, um repräsentatives Ergebnis
zu erhalten, hier kann man zum Beispiel das Harmonische Mittel
wählen, das bei gleich hohem Score die kürzere Sequenz leicht
präferiert
25
Thumbnailing
• genutzt, um in großen Mengen von Musikstücken schneller
auswählen zu können
• Nutzt Fitness, d.h. Segment mit höchster Fitness wird als Thumbnail
gewählt
• evtl. auch hier sinnvoll, eine Mindestlänge zu wählen
25
Vielen Dank für die Aufmerksamkeit!