30
Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions Preprocessing Reduction Comparison Peak Picking Onset Detection jason a. hockman A tutorial on

Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Embed Size (px)

Citation preview

Page 1: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

Onset Detectionjason a. hockman A tutorial onA tutorial on

Page 2: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak PickingDefinitions Preprocessing Reduction ComparisonPeak Picking

Page 3: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak PickingDefinitions

Page 4: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

transientonset

attack

Definitions

Page 5: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

input signalinput signal

processed signal

processed signal

detectionfunction

detectionfunction

onsetlocalization

onsetlocalization

preprocessing

reduction

peak-picking

Definitions

Page 6: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak PickingPreprocessing

Page 7: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

g1

g0

x1(n)

g1 x2(n)

g0 g1 x3(n)

g0 x4(n)

original signal

11-22kHz

5.5-11kHz

2.7-5.5kHz

0-2.7kHz

Preprocessing

Page 8: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

transient

Preprocessing

Page 9: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

steady-state

Preprocessing

Page 10: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak PickingReduction

Page 11: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

half-wave rectification

Reduction

Page 12: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

enveloping

Eo (n)=1N

x(n+ m) win(m)m=−

N2

N2

Reduction

Page 13: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

enveloping

Eo (n)=1N

x(n+ m)[ ]2 win(m)

m=−N2

N2

Reduction

Page 14: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

magnitude

frequencybins

X(k)

Reduction

Page 15: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

Xk (n)= x(nh+ m)win(m)e−2 jπmk

N

m=−N2

N2

−1

∑ STFT

Reduction

Page 16: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

Xk (n)= x(nh+ m)win(m)e−2 jπmk

N

m=−N2

N2

−1

%E(n)=1N

Wk Xk(n) 2

m=−N2

N2

−1

STFT

HFC

frequencyweighting

Reduction

Page 17: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

spectral difference method

present magnitude previous magnitude{ }

2−

Reduction

Page 18: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

phase-based approaches

phase

0π2π

3

π2

ϕ n−2,k

ϕ n−1,k

ϕ n,k

ϕ̂ n,k

Δϕ n,k

(n-1)h(n-2)h (n)h

Reduction

Page 19: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

ϕ n−2,k

ϕ n−1,k

ϕ n,k

ϕ̂ n,k

(n-1)h(n-2)h (n)h

? 0

≈0

transient

steady-state

Δϕ n,k

Reduction

Page 20: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

ϕ n−2,k

ϕ n−1,k

ϕ n,k

(n-1)h(n-2)h (n)h

Δϕ n,k = ϕ k (n) − 2ϕ k (n −1)+ϕ k (n − 2)

ϕ̂ n,k

Reduction

Page 21: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

−2 X̂k (n) Xk (n) cos(Δϕ k (n))}1

2

Γk (n) = X̂k (n)2+ Xk (n)

2

{

complex domain approach

Reduction

Page 22: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

−2 X̂k (n) Xk (n) cos(Δϕ k (n))}1

2

Γk (n) = X̂k (n)2+ Xk (n)

2

{

complex domain approach

phase part

present mag

Xk (n−1)−Xk(n−2)

Reduction

Page 23: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

ζ n( ) = Γ k (n)k=1

N

complex domain approach

*sum across k-bins

Reduction

Page 24: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

κ s i[ ] = 2 js d j ,k( j ,k )∈Β i[ ]∑

wavelet method

large value = noisy

wavelet coefficients

Reduction

Page 25: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak PickingComparison

Page 26: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

poppianoviolin

Comparison

Page 27: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

satisfies:1. df(n) > df(n-1)2. df(n) > df(n+1)3. df(n) > thresh

local maxima

Peak Picking

Page 28: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

δ t (m) = δ +medianη(km)

adaptive thresholding

km ∈ m−H2

,m+H2

⎡⎣⎢

⎤⎦⎥

Peak Picking

Page 29: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

δ t (m) = δ +medianη(km)

adaptive thresholding

Peak Picking

Page 30: Onset Detection University of Montreal > IFT6080 Machine Learning > Onset Detection A tutorial on Definitions PreprocessingReductionComparisonPeak Picking

Onset DetectionOnset Detection

University of Montreal > IFT6080 Machine Learning > Onset Detection

A tutorial on A tutorial on

Definitions Preprocessing Reduction Comparison Peak Picking

…sound examples…