Universität Dortmund , LS XII
Musik als Daten
Extraktion von Takt und Rhythmus Von Anna Schulze
16.05.06
1
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
3. 3.1 3.2 3.3
Übersicht
1. Musiktheorie 2. Beat Detection 3. Rhythmische Merkmale 4. Extraktion rhythmischer Muster
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
2
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
1. Musiktheorie
1.1 Metrum 1.2 Rhythmus 1.3 Tempo
3. 3.1 3.2 3.3
1.4 Rhythmik der Gesellschaftstänze
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
3
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1.
1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
1.1 Metrum ¾
Verhältnis unterschiedlicher Betonungen
¾
Regelmäßig auftretende Betonungen werden Hauptzählzeiten genannt
Takt: Gruppierung der Betonungen zu
einer gedachten Einheit
3. 3.1 3.2 3.3
4. 4.1 4.2 4.3 4.4
Anna Schulze
¾
Taktschlag
¾
Notenwert
¾
Taktart
¾
Auftakt
16.05.06
4
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1
1.2
1.2 Rhythmus
1.3 1.4
2. 2.1 2.2 2.3
¾
Relative Dauer von Klang und Pausen
¾
Klänge können in Nebenzählzeiten erklingen
¾
Musikstücke verwenden Rhythmusmuster
3. 3.1 3.2 3.3
These: Es lassen sich typische rhythmische Muster zu bestimmten Musikrichtungen finden
4. 4.1 4.2 4.3 4.4
Anna Schulze
Genreklassifizierung
16.05.06
5
Extraktion von Takt und Rhythmus 1. 1.1 1.2
1.3
Universität Dortmund, LS VIII
1.3 Tempo ¾
Absolute Dauer der Taktschläge
¾
Angabe hier immer in BPM („beats per minute“, Taktschläge pro Minute)
¾
Weitere Möglichkeiten: • MM („Metronom Mälzel“) • bpm („bars per minute“, Takte pro Minute)
1.4
2. 2.1 2.2 2.3
3. 3.1 3.2 3.3
Zusammenhänge:
4. 4.1 4.2 4.3 4.4 Abb. 1: Zusammenhänge zwischen Zählzeiten, Takt Rhythmus und Tempo
Anna Schulze
16.05.06
6
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3
1.4 Rhythmik der Gesellschaftstänze
1.4 Taktart
Grundrhythmus
Normales Tempo (in BPM)
Tempo Bereiche (in BPM)
Samba
2/4
1 a2
104
92 - 137
Rumba
4/4
-
104
73 - 245
Cha Cha Cha
4/4
234+1
128
116 - 128
Jive
4/4
1 a2
176
124 - 182
Langsamer Walzer
3/4
1 (2) 3
84 - 90
78 - 106
Wiener Walzer
3/4
1 (2) 3
180
168 - 190
Quickstep
4/4
1 2 a3 4 a
200 - 208
189 - 216
2/4 4/4
1 + 2 +a
64 - 66 (128 - 132)
112 - 140
2.
Tänze 2.1 2.2 2.3
3. 3.1 3.2 3.3
Tango
Tab. 1: Merkmale der Musiken (Quellen: [1], [2], [4])
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
7
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
2. Beat Detection
2.1 Onset Detection 2.2 Clustering of Inter-Onset Intervals 2.3 BeatRoot (Dixon)
3. 3.1 3.2 3.3
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
8
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2.
2.1 2.2 2.3
3. 3.1 3.2 3.3
2.1 Onset Detection
¾
Filtern (Hochpass) und glätten des Signals
¾
Bilden der Amplitudenhülle
¾
Suchen der Maxima dieser Hülle
¾
Anschlagsverzögerung beachten
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
9
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2.2 Clustering of Inter-Onset Interval ¾
Zeit (in sec) zwischen zwei aufeinander folgenden Betonungen
¾
Erweiterung durch sämtliche Paare von Betonungen
¾
Gruppierung der Intervalle (in Cluster)
¾
Ordnen der Cluster nach Elementanzahl (Annahmen/Hypothesen über das Tempo)
¾
Repräsentation in einem Inter-Onset Interval Histogram (y-Achse: Auftrittshäufigkeit der Intervalle, x-Achse: Zeit in sec.)
2. 2.1
2.2 2.3
3. 3.1 3.2 3.3
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
10
Extraktion von Takt und Rhythmus 1. 1.1 1.2 1.3 1.4
2.
Universität Dortmund, LS VIII
2.3 BeatRoot ¾
Programm zur Taktschlagserkennung (Dixon)
¾
Graphische und akustische Darstellung der ermittelten Taktschläge
¾
Arbeitet in 2 Phasen: • Tempo Einschätzung • Beat Tracking
2.1 2.2
2.3 3. 3.1 3.2 3.3
4. 4.1 4.2 4.3 4.4 Abb. 2: Screenshot des beat trackers (entnommen aus [3])
Anna Schulze
16.05.06
11
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2.
2.3.1 Beat Tracking
¾
Erstellen von beat tracking agents für jede Hypothese
¾
Möglichkeiten der agents • Voraussagen von Taktschlägen • Verknüpfung mit rhythmischen Ereignissen • Erzeugen eines neuen agent • Einstellen der Arbeit
¾
Wahl der besten Hypothese mittels einer Auswertungsfunktion
2.1 2.2
2.3 3. 3.1 3.2 3.3
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
12
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
3.
3. Rhythmische Analyse
3.1 Diskrete Wavelet Transformation (DWT) 3.2 Beat Histogram 3.3 Rhythmische Merkmale
3.1 3.2 3.3
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
13
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
3.1 Diskrete Wavelet Transformation (DWT)
¾
Zeitlich lokale Betrachtung des Signals (wie bei STFT)
¾
Bereiche können zeitlich skaliert werden; hohe zeitliche Auflösungen möglich
¾
Zerlegung des Signals (Fequenzbänder)
¾
Kompakte, leicht zu verarbeitende Darstellung
3.
3.1 3.2 3.3
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
14
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
3.2 Beat Histogram
¾
Häufigkeit und Stärke (y-Achse) der Periodizitäten in BPM (x-Achse)
¾
Phasen zum erstellen des Beat Histograms
(vorher DWT):
3. 3.1
3.2 3.3
4. 4.1 4.2 4.3 4.4
Anna Schulze
• • • • •
Full Wave Recitification (FWT) Low Pass Filtering (LPF) Downsampling Normalization (NR) Autokorrelation (AR)
16.05.06
15
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
3.2.1 Phasen zu Erstellung eines Beat Histogram ¾
Full Wave Recitification (FWR) y (n ) = x(n )
¾
Low Pass Filtering (LPF)
2. 2.1 2.2 2.3
3. 3.1
y (n ) = (1 − α )x(n ) + αy (n − 1) ¾
Downsampling y (n ) = x(kn )
¾
Normalization (NR) y (n ) = x(n ) − E ( x(n ))
¾
Autokorrelation (AR) 1 y (n ) = ∑ x(n )x(n + τ ) N n
3.2 3.3
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
16
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
3.3 Rhythmische Merkmale
¾
2. 2.1 2.2 2.3
• Amplitude0(A0)/ Amplitude1(A1)/ Amplitude2(A2)/ Amplitude3(A3)
3. 3.1 3.2
• RatioPeriod1(RP1)/ RatioPeriod2(RP2)/ RatioPeriod3(RP3)
3.3 ¾
4. 4.1 4.2 4.3 4.4
Anna Schulze
Merkmale: • Period0(P0)
Merkmalsvektor:
m = (P 0, A0, RP1, A1, RP 2, A2, RP3, A3)
16.05.06
17
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
3. 3.1 3.2 3.3
4. Extraktion rhythmischer Muster
4.1 Aufbereitung der Daten 4.2 Bestimmung des Taktes 4.3 Extraktion der Muster 4.4 Genreklassifizierung
4. 4.1 4.2 4.3 4.4
Anna Schulze
16.05.06
18
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
4.1 Aufbereitung der Daten
¾
Umwandlung in PCM Format
¾
Bilden einer Amplitudenhülle mit einem RMS („root mean square“) Filter:
y (n ) =
3. 3.1 3.2 3.3
∑(
n + k )h −1 i = nh
x(i )
2
kh
mit
h=
rl b
4.
4.1 4.2 4.3 4.4
Anna Schulze
¾
Genau b Werte pro Takt
16.05.06
19
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
3. 3.1 3.2 3.3
4.2 Bestimmung des Taktes
¾
Position des ersten Taktes m(1) wird mit Hilfe von BeatRoot bestimmt
¾
Bestimmung jedes weiteren Taktes mit Korrekturfaktor δ (i ): m(i + 1) = m(i ) + b + δ (i ) b −1
δ (i ) = arg max ∑ y(m(i ) + b + k + j ) ∗ z (i, j ) k =− d d
j =0
i
z (i, j ) = ∑ y (m(k ) + j )
4. 4.1
4.2 4.3 4.4
Anna Schulze
k =1
⎢b⎥ d = ⎢ ⎥ (5% ) ⎣ 20 ⎦
16.05.06
20
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
4.3 Extraktion der Muster
¾ 2.
vi = y (m(i )), y (m(i ) + 1),..., y (m(i ) + b − 1)
2.1 2.2 2.3
3. 3.1 3.2 3.3
¾
Verwenden eines k-means-Algorithmus (4 Cluster)
¾
Charakteristisches rhythmisches Muster p(n ) aus dem größten Cluster C j 1 p (n ) = ∑ y(m(k ) + n ) C j k∈C
4. 4.1 4.2
4.3
Zusammenfassen der b Werte pro Takt zu einem Vektor:
j
¾
Keine Informationen über das Tempo
4.4
Anna Schulze
16.05.06
21
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
4.3.1 Beispiele rhythmischer Muster
1. 1.1 1.2 1.3 1.4
2. 2.1 2.2 2.3
3. 3.1 3.2 3.3
4. 4.1 4.2
4.3 4.4 Abb. 3 (entnommen aus [2])
Anna Schulze
16.05.06
22
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
1. 1.1 1.2 1.3 1.4
4.4 Genreklassifikation ¾
Extraktion typischer Muster eines Genre mit
¾
Klassifikation mit verschiedenen Algorithmen: • k-Nearest-Neighbour Algorithmus • decision tree learning • Regressionsanalyse
¾
Distanz zweier Muster:
2. 2.1 2.2 2.3
3. 3.1 3.2 3.3
10-fold cross-validation
D(i, j ) =
∑ ( p (k ) − p (k )) b
k =1
2
i
j
4. 4.1 4.2 4.3
4.4
Anna Schulze
¾
Klassifikationsrate von bis zu 50%
¾
Bei Kombination bis zu 96% 16.05.06
23
Extraktion von Takt und Rhythmus
Universität Dortmund, LS VIII
Literaturverzeichnis [1] Schmidt, U.: “Tanzen ist Musik”, 3. Auflage. Deutscher Tanzbuch Verlag (dtb), 2001 [2] Dixon, Gouyon, Widmer: “Towards Characterisation of Music via Rhythmic Pattern”. Universität Pompeu Fabra, 2004 [3] Dixon, S.: “Automatic Extraction of Tempo and Beat from Expressive Performance”. Austrian Research Institute for Artificial Intelligence, 2001 [4] Gouyon, Dixon: “Dance Music Classification: A TempoBased Approach”. Universität Pompeu Fabra, 2004 [5] Krol, L. und Mzyk, M. “Extraction of Rhythmical Fetures of Audio Signal” . Seminararbeit Uni Münster, 2005
Anna Schulze
16.05.06
24