Beat Detektion -...
Transcript of Beat Detektion -...
Inhalt
I Einleitung
I Onset-Detektion
I LautstarkeI Spektrum
I Tempo-Tracking
I Beat-Tracking
2 / 50
Einleitung
I Beat
I Periodische ImpulseI Definiert Rhythmus
I Verwendung von Beat-Detektions Systemen
3 / 50
Einleitung
I Beat
I Periodische ImpulseI Definiert Rhythmus
I Verwendung von Beat-Detektions Systemen
4 / 50
Verwendung von Beat-Detektion
I Musikverarbeitung
I insbesondere Dj-ProgrammeI zu einem Beat synchrone LichteffekteI Musik Klassifizierung
I Medizinische Anwendungen
I PulsoximetrieI Herzarrhythmie-DetektionI Herzzeitvolumen-Uberwachung
I Weitere Anwendungen z.B. in der Physik...
5 / 50
Verwendung von Beat-Detektion
I Musikverarbeitung
I insbesondere Dj-ProgrammeI zu einem Beat synchrone LichteffekteI Musik Klassifizierung
I Medizinische Anwendungen
I PulsoximetrieI Herzarrhythmie-DetektionI Herzzeitvolumen-Uberwachung
I Weitere Anwendungen z.B. in der Physik...
6 / 50
Verwendung von Beat-Detektion
I Musikverarbeitung
I insbesondere Dj-ProgrammeI zu einem Beat synchrone LichteffekteI Musik Klassifizierung
I Medizinische Anwendungen
I PulsoximetrieI Herzarrhythmie-DetektionI Herzzeitvolumen-Uberwachung
I Weitere Anwendungen z.B. in der Physik...
7 / 50
Einleitung
I Beat
I Periodische ImpulseI Definiert Rhythmus
I Verwendung von Beat-Detektions Systemen
I Probleme
I TempomehrdeutigkeitI Tempoveranderungen
I Ziel: Tempo- und Beat-Tracking
8 / 50
Einleitung
I Beat
I Periodische ImpulseI Definiert Rhythmus
I Verwendung von Beat-Detektions Systemen
I Probleme
I TempomehrdeutigkeitI Tempoveranderungen
I Ziel: Tempo- und Beat-Tracking
9 / 50
Onset-DetektionI Zeitliche Erfassung von Noten- und Tonanschlagen⇒ Tempo
I Verschiedene AnsatzeI Erkennung anhand der LautstarkeI Erkennung anhand des Spektrums
Abbildung: Tonanschlag auf Klavier; idealer Verlauf
10 / 50
Onset-Detektion: LautstarkeUbersicht
1. Veranderungen der Lautstarke werden verwendet⇒ Audiosignal zu Lautstarkekurve umformen
2. Diskrete Veranderung berechnen
3. Lautstarkeverhaltnis wiederherstellen⇒ Logarithmische Kompression
11 / 50
Onset-Detektion: Lautstarke⇒ Audiosignal
Abbildung: Audiosignal der ersten 70 Sekunden von”Zedd - Papercut“
12 / 50
Onset-Detektion: Lautstarke
I Umformung des Audiosignals zu Lautstarke
I Glockenfunktion w(m), x ∈ Rt Audiosignal mit t ∈ N SamplesI m ∈ [−M,M] mit M ∈ N - Einbeziehung benachbarter SamplesI Gewichtung durch Glockenkurve
E xw (n) :=
M∑m=−M
|xn+m · w(m)|
13 / 50
Onset-Detektion: LautstarkeUbersicht
1. Veranderungen der Lautstarke werden verwendet⇒ Audiosignal zu Lautstarkekurve umformen
2. Diskrete Veranderung berechnen
3. Lautstarkeverhaltnis wiederherstellen⇒ Logarithmische Kompression
15 / 50
Onset-Detektion: Lautstarke
I Ableiten mit diskreten Werten ⇒ Differenz benachbarter Werte
I Negative Differenzen filtern:
|r |≥0 :=|r |+ r
2=
{r falls r ≥ 0,
0 falls r < 0
I Differenz berechnen:
∆Lautstarke(n) := |E xw (n + 1)− E x
w (n)|≥0
16 / 50
Onset-Detektion: Lautstarke
I Ableiten mit diskreten Werten ⇒ Differenz benachbarter Werte
I Negative Differenzen filtern:
|r |≥0 :=|r |+ r
2=
{r falls r ≥ 0,
0 falls r < 0
I Differenz berechnen:
∆Lautstarke(n) := |E xw (n + 1)− E x
w (n)|≥0
17 / 50
Onset-Detektion: Lautstarke
I Ableiten mit diskreten Werten ⇒ Differenz benachbarter Werte
I Negative Differenzen filtern:
|r |≥0 :=|r |+ r
2=
{r falls r ≥ 0,
0 falls r < 0
I Differenz berechnen:
∆Lautstarke(n) := |E xw (n + 1)− E x
w (n)|≥0
18 / 50
Onset-Detektion: Lautstarke⇒ Diskrete Ableitung der Lautstarke
Abbildung: Ableitung der Lautstarkekurve
19 / 50
Onset-Detektion: LautstarkeUbersicht
1. Veranderungen der Lautstarke werden verwendet⇒ Audiosignal zu Lautstarkekurve umformen
2. Diskrete Veranderung berechnen
3. Lautstarkeverhaltnis wiederherstellen⇒ Logarithmische Kompression
20 / 50
Onset-Detektion: Lautstarke⇒ Logarithmische Kompression anwenden
Abbildung: Nach Anwendung der Kompression
21 / 50
Onset-Detektion: SpektrumI Berucksichtig Intensitat einzelner Frequenzen
I Benotigt STFT (short-time Fourier transformation)
Abbildung: Spektrogramm zu Ausschnitt von”Zedd - Papercut“
23 / 50
Onset-Detektion: SpektrumI Berucksichtig Intensitat einzelner FrequenzenI Benotigt STFT (short-time Fourier transformation)
Abbildung: Spektrogramm zu Ausschnitt von”Zedd - Papercut“
24 / 50
Onset-Detektion: SpektrumI Berucksichtig Intensitat einzelner FrequenzenI Benotigt STFT (short-time Fourier transformation)
Abbildung: Spektrogramm zu Ausschnitt von”Zedd - Papercut“
25 / 50
Onset-Detektion: SpektrumI Intensitatsdifferenzen vermeiden⇒ logarithmische Kompression
Abbildung: Spektrogramm mit logarithmischer Kompression
26 / 50
Onset-Detektion: SpektrumI Intensitatsdifferenzen vermeiden⇒ logarithmische Kompression
Abbildung: Spektrogramm mit logarithmischer Kompression27 / 50
Onset-Detektion: Spektrum
I Ableitung bilden:
∆Spektrum(t) :=m∑i=1
|Yi ,t+1 − Yi ,t |≥0
I Dabei sei Y ∈ Rm×n Ausgabe der STFT nach logarithmischer Kompression(mit m ∈ N die Anzahl der Frequenzbander und n ∈ N die Anzahl derSamples)
28 / 50
Onset-Detektion: Spektrum
Abbildung: Blau: Ableitung des Spektrogramms; Rot: durchschnittlicher Verlauf29 / 50
Tempo-TrackingI Ziel
I Informationen der Onset-Detektion ⇒ TempoDafur mussen wir zwei Annahmen treffen:I Beat bei Onsets positioniertI Beat ist periodisch (in Intervall)
I ProblemeI TempomehrdeutigkeitI Schlecht erkennbare Onsets:
Abbildung: C4 auf Klavier, Geige und Flote gespielt
31 / 50
Tempo-TrackingI Ziel
I Informationen der Onset-Detektion ⇒ TempoDafur mussen wir zwei Annahmen treffen:I Beat bei Onsets positioniertI Beat ist periodisch (in Intervall)
I ProblemeI Tempomehrdeutigkeit
I Schlecht erkennbare Onsets:
Abbildung: C4 auf Klavier, Geige und Flote gespielt
32 / 50
Tempo-TrackingI Ziel
I Informationen der Onset-Detektion ⇒ TempoDafur mussen wir zwei Annahmen treffen:I Beat bei Onsets positioniertI Beat ist periodisch (in Intervall)
I ProblemeI TempomehrdeutigkeitI Schlecht erkennbare Onsets:
Abbildung: C4 auf Klavier, Geige und Flote gespielt
33 / 50
Tempo-TrackingTempomehrdeutigkeit
Abbildung: Verschiedene Pulslevel von”Happy Birthday To You“ [1]
34 / 50
Fourier Tempogramm
I Wendet STFT auf Onset-Ergebnis an⇒ Lokales Tempo
I Beispiel:
Abbildung: Onsets von 170 – 200 BPM Klick-Sound [1]
35 / 50
Fourier Tempogramm
I Wendet STFT auf Onset-Ergebnis an⇒ Lokales Tempo
I Beispiel:
Abbildung: Onsets von 170 – 200 BPM Klick-Sound [1]
36 / 50
Fourier TempogrammI Anwendung der STFT auf Onsets-Kurve⇒ Tempogramm mehreren Tempos⇒ Tempomehrdeutigkeit
I Beispiel:
Abbildung: Tempogramm des Klick-Sounds
37 / 50
Fourier TempogrammI Anwendung der STFT auf Onsets-Kurve⇒ Tempogramm mehreren Tempos⇒ Tempomehrdeutigkeit
I Beispiel:
Abbildung: Tempogramm des Klick-Sounds38 / 50
Tempo-TrackingUbersicht
I Fourier Tempogramm
I Lokales Tempo wird sichtbarI Obertone werden sichtbar⇒ Gut um Tatum und Tactus Pulslevel zu analysieren
I Andere Moglichkeit ein Tempogramm zu erzeugen:
I Autokorrelation⇒ Gut um Tactus und Measure Pulslevel zu analysieren
40 / 50
Tempo-TrackingUbersicht
I Fourier Tempogramm
I Lokales Tempo wird sichtbarI Obertone werden sichtbar⇒ Gut um Tatum und Tactus Pulslevel zu analysieren
I Andere Moglichkeit ein Tempogramm zu erzeugen:
I Autokorrelation⇒ Gut um Tactus und Measure Pulslevel zu analysieren
41 / 50
Beat-TrackingPLP-Kurve (Predominant Local Pulse)
Abbildung: Sinuskurven der lokal dominantesten Tempos42 / 50
Beat-TrackingPLP-Kurve (Predominant Local Pulse)
Abbildung: PLP-Kurve (Negative Werte auf 0 gesetzt)44 / 50
Beat-TrackingPLP-Kurve - Beispiel mit nicht konstantem Tempo
Abbildung: PLP-Kurve zu Ausschnitt von”Ungarischer Tanz Nr. 5“ von Brahms
45 / 50
Beat-TrackingZusammenfassung
1. Dominantestes Tempo zu verschiedenen Zeitpunkten bestimmen
2. Zugehorige Sinuskurve in festem Zeitfenster berechnen
3. Sinuskurven aller Zeitpunkte addieren
4. Negative Werte gleich 0 setzen⇒ PLP-Kurve (guter Indikator fur Beat-Positionen)
46 / 50
Beat-TrackingZusammenfassung
1. Dominantestes Tempo zu verschiedenen Zeitpunkten bestimmen
2. Zugehorige Sinuskurve in festem Zeitfenster berechnen
3. Sinuskurven aller Zeitpunkte addieren
4. Negative Werte gleich 0 setzen⇒ PLP-Kurve (guter Indikator fur Beat-Positionen)
47 / 50
Beat-TrackingZusammenfassung
1. Dominantestes Tempo zu verschiedenen Zeitpunkten bestimmen
2. Zugehorige Sinuskurve in festem Zeitfenster berechnen
3. Sinuskurven aller Zeitpunkte addieren
4. Negative Werte gleich 0 setzen⇒ PLP-Kurve (guter Indikator fur Beat-Positionen)
48 / 50
Beat-TrackingZusammenfassung
1. Dominantestes Tempo zu verschiedenen Zeitpunkten bestimmen
2. Zugehorige Sinuskurve in festem Zeitfenster berechnen
3. Sinuskurven aller Zeitpunkte addieren
4. Negative Werte gleich 0 setzen⇒ PLP-Kurve (guter Indikator fur Beat-Positionen)
49 / 50
Literatur
1. Meinard Muller. Fundamentals of Music Processing: Audio, Analysis,Algorithms, Applications.
2. Audio Labs Erlangen. Tempo and Beat Tracking(https: // youtu. be/ FmwpkdcAXl0 ).
3. Mateo Aboy, James McNames, Tran Thong, Daniel Tsunami, Miles SEllenby, and Brahm Goldstein. An automatic beat detection algorithm forpressure signals.
4. JA Marohn, PJ Carson, JY Hwang, MA Miller, DN Shykind, and DPWeitekamp. Optical larmor beat detection of high-resolution nuclearmagnetic resonance in a semiconductor heterostructure.
5. Peter Grosche, Meinard Muller, and Frank Kurth. Cyclic tempogram—amid- level tempo representation for musicsignals.
50 / 50