Musik als Daten
Extraktion von Takt und Rhythmus
Von Anna Schulze
16.05.06
Übersicht
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
1. Musiktheorie 2. Beat Detection
3. Rhythmische Merkmale
4. Extraktion rhythmischer Muster
1. Musiktheorie
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
1.1 Metrum 1.2 Rhythmus 1.3 Tempo
1.4 Rhythmik der Gesellschaftstänze
1.1 Metrum
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
¾ Verhältnis unterschiedlicher Betonungen
¾ Regelmäßig auftretende Betonungen werden Hauptzählzeiten genannt
¾ Taktschlag
¾ Notenwert
¾ Taktart
¾ Auftakt
Takt: Gruppierung der Betonungen zu
einer gedachten Einheit
1.2 Rhythmus
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
¾ Relative Dauer von Klang und Pausen
¾ Klänge können in Nebenzählzeiten erklingen
¾ Musikstücke verwenden Rhythmusmuster These: Es lassen sich typische rhythmische Muster zu bestimmten Musikrichtungen
finden
Genreklassifizierung
1.3 Tempo
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
¾ 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)
Zusammenhänge:
Abb. 1: Zusammenhänge zwischen Zählzeiten, Takt Rhythmus und Tempo
1.4 Rhythmik der Gesellschaftstänze
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
112 - 140 64 - 66 (128 - 132)
1+ 2 +a 2/4 4/4
Tango
189 - 216 200 - 208
1 2 a3 4 a 4/4
Quickstep
168 - 190 180
1 (2) 3 3/4
Wiener Walzer
78 - 106 84 - 90
1 (2) 3 3/4
Langsamer Walzer
124 - 182 176
1 a2 4/4
Jive
116 - 128 128
2 3 4 + 1 4/4
Cha Cha Cha
73 - 245 104
- 4/4
Rumba
92 - 137 104
1 a2 2/4
Samba
Tempo Bereiche (in BPM) Normales Tempo
(in BPM) Grund-
rhythmus Taktart
Tänze
Tab. 1: Merkmale der Musiken (Quellen: [1], [2], [4])
2. Beat Detection
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
2.1 Onset Detection
2.2 Clustering of Inter-Onset Intervals
2.3 BeatRoot (Dixon)
2.1 Onset Detection
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
¾ Filtern (Hochpass) und glätten des Signals
¾ Bilden der Amplitudenhülle
¾ Suchen der Maxima dieser Hülle
¾ Anschlagsverzögerung beachten
2.2 Clustering of Inter-Onset Interval
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
¾ 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.)
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
¾ Programm zur Taktschlagserkennung (Dixon)
¾ Graphische und akustische Darstellung der ermittelten Taktschläge
¾ Arbeitet in 2 Phasen:
• Tempo Einschätzung
• Beat Tracking
2.3.1 Beat Tracking
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
¾ 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
3. Rhythmische Analyse
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
3.1 Diskrete Wavelet Transformation (DWT) 3.2 Beat Histogram
3.3 Rhythmische Merkmale
3.1 Diskrete Wavelet Transformation (DWT)
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
¾ 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.2 Beat Histogram
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
¾ Häufigkeit und Stärke (y-Achse) der Periodizitäten in BPM (x-Achse)
¾ Phasen zum erstellen des Beat Histograms (vorher DWT):
• Full Wave Recitification (FWT)
• Low Pass Filtering (LPF)
• Downsampling
• Normalization (NR)
• Autokorrelation (AR)
3.2.1 Phasen zu Erstellung eines Beat Histogram
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
¾ Full Wave Recitification (FWR)
¾ Low Pass Filtering (LPF)
¾ Downsampling
¾ Normalization (NR)
¾ Autokorrelation (AR)
( ) ( ) n x n
y =
( ) ( n = 1 − ) ( ) x n + y ( n − 1 )
y α α
( ) ( ) n x kn
y =
( ) ( ) n x n E ( ) x ( ) n
y = −
( ) = ∑ ( ) ( + )
n
n x n N x
n
y 1 τ
3.3 Rhythmische Merkmale
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
¾ Merkmale:
• Period0(P0)
• Amplitude0(A0)/ Amplitude1(A1)/
Amplitude2(A2)/ Amplitude3(A3)
• RatioPeriod1(RP1)/ RatioPeriod2(RP2)/
RatioPeriod3(RP3)
¾ Merkmalsvektor:
( P 0 , A 0 , RP 1 , A 1 , RP 2 , A 2 , RP 3 , A 3 )
m =
4. Extraktion rhythmischer Muster
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
4.1 Aufbereitung der Daten
4.2 Bestimmung des Taktes
4.3 Extraktion der Muster
4.4 Genreklassifizierung
4.1 Aufbereitung der Daten
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
¾ Umwandlung in PCM Format
¾ Bilden einer Amplitudenhülle mit einem RMS („ root mean square“ ) Filter:
mit
¾ Genau b Werte pro Takt
( )
( )( )
kh i n x
y
h k n
nh
∑
i=+ −=
1 2
b
h = rl
4.2 Bestimmung des Taktes
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
¾ Position des ersten Taktes m (1) wird mit Hilfe von BeatRoot bestimmt
¾ Bestimmung jedes weiteren Taktes mit Korrekturfaktor :
( ) ( ) ( )
( ) ( ( ) ) ( )
( ) ( ( ) )
( ) 5 %
20 ,
, max
arg 1
1
1
0
⎥⎦ ⎥
⎢⎣ ⎢
=
+
=
∗ + + +
=
+ +
= +
∑
∑
=
−
− =
=
d b
j k m y j
i z
j i z j k b i m y i
i b
i m i
m
i
k
b
j d
d
δ
k( ) i δ
δ
4.3 Extraktion der Muster
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
¾ Zusammenfassen der b Werte pro Takt zu einem Vektor:
¾ Verwenden eines k-means-Algorithmus (4 Cluster)
¾ Charakteristisches rhythmisches Muster aus dem größten Cluster
¾ Keine Informationen über das Tempo
( )
( ) , ( ( ) + 1 ) ,..., ( ( ) + − 1 )
= y m i y m i y m i b v
i( ) n
p C
j( ) ∑ ( ( ) )
∈
+
=
Cj
j k
n k m C y
n
p 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])
4.4 Genreklassifikation
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
¾ Extraktion typischer Muster eines Genre mit 10-fold cross-validation
¾ Klassifikation mit verschiedenen Algorithmen:
• k-Nearest-Neighbour Algorithmus
• decision tree learning
• Regressionsanalyse
¾ Distanz zweier Muster:
¾ Klassifikationsrate von bis zu 50%
¾ Bei Kombination bis zu 96%
( ) ∑ ( ( ) ( ) )
=
−
=
bk
j
i
k p k
p j
i D
1