Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels...

27
Music Structure Analysis Proseminar Computer und Musik WS 2017/2018 Imke Haverkämper

Transcript of Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels...

Page 1: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

Music Structure Analysis

Proseminar Computer und Musik WS 2017/2018

Imke Haverkämper

Page 2: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

Agenda

1. Begriffsklärung und Vorgehensweise

2. Segmentierung

3. Self-Similarity Matrizen

4. Fitness Measure

5. Audio Thumbnailing

2

Page 3: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 4: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 5: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 6: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

Beispiel:

6

Bildquelle: Meinard Müller, Fundamentals of Music Processing, S.168

Page 7: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 8: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 9: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 10: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 11: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

Wie sieht eine ideale SSM aus?

11

Bildquelle: Meinard Müller, Fundamentals of Music Processing, S.180

Page 12: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 13: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 14: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

In Wirklichkeit sehen sie aber leider meist so aus…

14

Bildquelle: Meinard Müller, Fundamentals of Music Processing, S. 185

Page 15: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 16: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

Beispiel:

16

Bildquelle: Meinard Müller, Fundamentals of Music Processing, S. 185

Page 17: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 18: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 19: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 20: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

Beispiel:

20

Bildquelle: Meinard Müller, Fundamentals of Music Processing, S. 188

Page 21: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 22: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 23: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 24: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

Beispiel:

24

Bildquelle: Meinard Müller, Fundamentals of Music Processing, S. 196

Page 25: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 26: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

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

Page 27: Music Structure Analysis -  · • Sequenz wird mit sich selbst verglichen mittels Similarity-Measure • Chroma-Wert signalisiert hier nicht Tonhöhe, sondern Similarity- Wert (zwischen

Vielen Dank für die Aufmerksamkeit!