Beruflich Dokumente
Kultur Dokumente
Lecture 10:
Beat Tracking
1.
2.
3.
4.
Rhythm Perception
Onset Extraction
Beat Tracking
Dynamic Programming
Dan Ellis
http://www.ee.columbia.edu/~dpwe/e4896/
2013-04-01 - 1 /19
1. Rhythm Perception
What is rhythm?
aspects, origin?
2013-04-01 - 2 /19
Tapping experiment
ambiguous; hierarchy
40
30
20
10
0
Frequency
7671
2416
761
240
0
mirex06/train10 Harnoncourt
10
15
20
25
time / sec
30
2013-04-01 - 3 /19
Audio
Onset Event
detection
Beat
marking
Musical
knowledge
Other outputs
tempo
time signature
metrical level(s)
2013-04-01 - 4 /19
2. Onset detection
Simplest thing is
energy envelope
W/2
2
e(n0 ) =
n= W/2
w[n] |x(n + n0 )|
freq / kHz
Harnoncourt
Maracatu
8
6
4
2
0
level / dB
emphasis on
high frequencies?
|X(f, t)|
60
50
40
30
20
10
level / dB
f |X(f, t)|
60
50
40
30
20
10
0
10
time / sec
10
time / sec
2013-04-01 - 5 /19
freq / kHz
o(t) =
f
|X(f, t)|
W (f ) max(0,
|X(f, t 1)|
1)
bonk~
6
4
2
level / dB
0
60
50
40
30
20
10
0
10
time / sec
10
time / sec
2013-04-01 - 6 /19
Phase Deviation
0.15
0.1
0.05
0
0.05
0.1
8.96
8.97
8.98
8.99
9.01
9.02
9.03
9.04
^
X(f, tn+1)
X(f, tn )
9.05
9.06
Im{X}
prediction
Complex
deviation
X(f, tn)
X(f, tn-1)
Re{X}
actual
X(f, tn+1)
2013-04-01 - 7 /19
2013-04-01 - 8 /19
Resonators
How to address:
Scheirer 1998
build-up of rhythmic
evidence
ghost events
(audio input)
resonant filterbank of
y(t) = y(t
T ) + (1
)x(t)
2013-04-01 - 9 /19
Multi-Hypothesis Systems
Goto & Muraoka 1994
Beat is ambiguous
Goto 2001
Dixon 2001
cy um
n
e
r
Compact disc requ pect
F s
f
Manager
Musical
audio signals
A/D conversion
Onsettime
finders
Higher-level
checkers
Onsettime
vectorizers
Frequency
analysis
Beat information
Agents
Beat prediction
Beat information
transmission
2013-04-01 - 10/19
4. Dynamic Programming
Ellis 2007
C({ti }) =
O(ti ) +
i=1
F (ti
ti
1, p)
i=2
2013-04-01 - 11/19
D(i-1,j)
T01
11
D(i-1,j)
Reference frames rj
D(i-1,j)
D(i-1,j) + T10
D(i,j-1) + T01
D(i-1,j-1) + T11
Input frames fi
2013-04-01 - 12/19
Tempo Estimation
Pick peak in
onset envelope
autocorrelation
after applying
human
preference
window
check for
subbeat
0
-2
8.5
9.5
10
10.5
11
11.5
3.5
Raw Autocorrelation
12
time / s
400
200
0
Windowed Autocorrelation
200
100
0
-100
0.5
1
1.5
Secondary Tempo Period
Primary Tempo Period
2.5
lag / s
2013-04-01 - 13/19
Beat Tracking by DP
To optimize
C({ti }) =
F (ti
O(ti ) +
i=1
ti
1, p)
i=2
2013-04-01 - 14/19
beatsimple
2013-04-01 - 15/19
vary
tempo
estimate
200
150
100
400
300
200
150
50
40
100
= 400
= 100
30
= 400
= 100
70
Beat accuracy
accuracy
Beat accuracy
1
0.5
0
1
0.5
0
/ of inter-beat-intervals
0.2
0.1
0
/ of inter-beat-intervals
/
vary
tradeoff
weight
70
accuracy
against
human
tapping
data
Verify
Results
0.2
0.1
30
40 50
70
100
150 200
target BPM
70
100
150
200
300 400
target BPM
2013-04-01 - 16/19
Downbeat Detection
Jehan05:
Trained classifier
2013-04-01 - 17/19
Summary
Rhythm perception
Dynamic Programming
2013-04-01 - 18/19
References
2013-04-01 - 19/19