musi-6201 | computational music analysis · overview intro perception musical onsets tempo summary...

98
overview intro perception musical onsets tempo summary MUSI-6201 — Computational Music Analysis Part 7.1: Temporal Analysis alexander lerch November 4, 2015

Upload: others

Post on 21-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

MUSI-6201 mdash Computational Music AnalysisPart 71 Temporal Analysis

alexander lerch

November 4 2015

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 2: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 3: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 4: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 5: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 6: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

temporal analysisoverview

text bookChapter 6 Temporal Analysis (pp 119ndash136)

sources slides (latex) amp Matlab

github repository

lecture contenthuman perception of temporal eventstemporal events in musiconset detectiontempo detection

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 7: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 8: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

temporal eventsintroduction

categorization of temporal parameters

score parametersstructure time signature rhythm performance parameterstempo timing

perception of temporal parameters

audio signalstream is segmented into distinct events rArr onsets(segment start)humans structure and group these events due to positionsalience

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 9: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 10: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical event

properties

positionstrength saliencelength

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 11: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 13

definition onset is start of a musical eventproperties

positionstrength saliencelength

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 12: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 13: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 23

typical initial transient lengths

percussive instrument3-20 ms

woodwind instrumentup to 300 ms

typical range15-50 ms

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 14: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms1

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1I J Hirsh ldquoAuditory Perception of Temporal Orderrdquo JASA vol 31 no 6 p 759 1959

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 15: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12ms1

IOI lt 240 ms σ = 10ms2

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1J W Gordon ldquoPerception of Attack Transients in Musical Tonesrdquo Dissertation Stanford University

Center for Computer Research in Music and Acoustics (CCRMA) Stanford 19842

A Friberg and J Sundberg ldquoPerception of just noticeable time displacement of a tone presented in a

Metrical Sequence at Different Temposrdquo STL-QPSR vol 33 no 4 pp 97ndash108 1992

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 16: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 ms1

various mean abs error 10 ms max 30 ms2

ensemble performance

string amp woodwind deviations up to 30-50 mspiano σ = 14minus 38ms

1B H Repp ldquoDiversity and commonality in music performance An analysis of timing microstructure in

Schumannrsquos rsquoTraumereirsquordquo JASA vol 92 no 5 pp 2546ndash2568 19922

P Leveau L Daudet and G Richard ldquoMethodology and Tools for the Evaluation of Automatic Onset

Detection Algorithms in Musicrdquo in ISMIR Barcelona 2004

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 17: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsonsets 33

detection amp discrimination of 2 subsequent onsets

detection ∆t gt 2ms discrimination ∆t gt 20ms

prediction of looped monophonic instrument onsets

IOI 600 ms σ = 12msIOI lt 240 ms σ = 10ms

manual onset time annotation

piano mean abs error 43 ms max 35 msvarious mean abs error 10 ms max 30 ms

ensemble performance

string amp woodwind deviations up to 30-50 ms1

piano σ = 14minus 38ms2

1R A Rasch ldquoSynchronization in Performed Ensemble Musicrdquo Acustica vol 43 pp 121ndash131 1979

2L H Shaffer ldquoTiming in Solo and Duet Piano Performancesrdquo Quarterly Journal of Experimental

Psychology vol 36A pp 577ndash595 1984

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 18: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 19: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 20: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventsoffsets

what about offsetsend of notes

perceptually not as important as an onset

offset are often ignored in rhythm perception

systematic difficulties when does a note end

performer stops excitationinstrument stops oscillationlistener cannot recognize it anymore

practical difficulties hard to detect

low volumereverberationmasking

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 21: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 22: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 23: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 24: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 25: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 26: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 27: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

human perception of temporal eventstempo meter amp rhythm

tempoperceived equal duration pulses at a ldquonaturalrdquo rate tactusconstant tempo

T =B middot 60 s

∆ts[BPM]

dynamic tempo

Tlocal(j) =60 s

tb(j + 1)minus tb(j)[BPM]

perceived overall tempoaverage main mode

metergroup of strong and weak musical elementsbeatstypically 3 to 7 beats (app 5 s)

rhythmgroup length 1-8 beatsdefined by accents and time intervals

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 28: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 29: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 30: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 31: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

musical notation of temporal eventstempo time signature bar amp note value

tempoLargo Adagio Andante Moderato Allegro Prestoritardando accelerando modern scores indication of overall tempo in BPM

barscore equivalent of perceptual meterbegin of bar is marked by a vertical line

time signatureconveys length of bar

note value

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 32: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 33: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionbrainstorm

what are your ideas for detecting the onsets in acomplex mixture

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 34: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 35: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 36: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionintroduction

AudioSignal

NoveltyFunction

PeakPicking

Series ofOnset Times

novelty functionmeasure of probability for new eventssignal change over time

peak pickingidentify the most likely locations for onsets

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 37: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 38: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 39: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 40: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 41: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function

termsdetection functiondifference function

extraction1 extract features2 compute derivative3 smooth result4 apply HWR

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 42: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 43: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

t [s]

0 002 004 006 008 01 012 014 016 018

|x(t)|

0

02

04

06

08

1

onset time

larr attack time rarr

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

ma

tla

bso

urc

em

atl

ab

d

isp

layO

nse

tm

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 44: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 12

1 time domainextract time domain envelopecalculate the slope

2 pitch-based evaluate pitch changes3

3N Collins ldquoUsing a pitch detector for onset detectionrdquo in ISMIR 2005 pp 100ndash106

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 45: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block differenceflux

dhai(n) =K2minus1sumk=0

log2

(|X (kn)||X (knminus1)|

)dlar(n) =

k(fmax)sumk=k(fmin)

radic|X (k n)| minus

radic|X (k n minus 1)|

cosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 46: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distance

dfoo(n) = 1minus

K2minus1sumk=0

|X (kn)|middot|X (knminus1)|radicradicradicradic(K2minus1sumk=0

|X (kn)|2)middot(K2minus1sumk=0

|X (knminus1)|2)

complexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 47: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplex

ddux(n) =

K2minus1sumk=0

|X (k n)minus X (k n minus 1)|

Goto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 48: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function examples 22

3 STFT-based compute block difference

fluxcosine distancecomplexGoto

higher power than closest preceding and following bins

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 49: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 50: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 51: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 52: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionnovelty function variants

number of frequency bandsvaries 1 3 6 21 960 FFT length larger number of bands not necessarily betterrarr adjust number of band adaptively

combination of bands(weight and) add novelty functions per bandonset detection per band and combine results

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 53: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 54: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 55: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 56: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 57: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionpeak picking introduction

detect onsets in the smoothed novelty function

t [s]

05 1 15 2 25 30

02

04

06

08

1

d(t)

G(t)

typical criterialocal maximum amp salient peakhigher than minimum likelihoodnot too close to maxima with higher likelihoodother options high attack slope distance to prev min

ma

tla

bso

urc

em

atl

ab

d

isp

layN

ove

ltyF

un

ctio

nm

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 58: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 59: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 60: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

fixed thresholdGd c = λ1

smoothed threshold

Gd ma = λ2 +Ominus1sumj=0

b(j) middot d(i minus j)

median threshold

Gd me = λ2 + Qd(05)

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 61: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionpeak picking thresholding

t [s]

0 1 2 3 4 5 60

05

1

1 2 3 4 5 6

times10minus5

0

1

2

3

ma

tla

bso

urc

em

atl

ab

d

isp

layP

eak

Pic

kin

gm

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 62: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 63: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

onset detectionevaluation

how do you properly evaluate an onset detectionsystem

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 64: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 65: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detectionbrainstorm

what are your ideas for detecting the tempo andthe beats in a complex mixture

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 66: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 67: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 68: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingintroduction

objectives1 find the tempo from the novelty functiononsets2 find the beat locations

systematic problems1 distinguish hierarchical levels

meterbeatsubbeattatum

2 detect beats without onsets3 recognize onsets without beats

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 69: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 70: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 71: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 72: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach

Beat tracking with an oscillator4

1 initialize pulse generator (tempo estimate beat positionestimate)

2 predict next beat location with pulse3 adapt acc to distance (predicted vs real onset position)

beat periodbeat phase

4 predict with adapted settings5 adapt 4

E W Large ldquoBeat Tracking with a Nonlinear Oscillatorrdquo in Proceedings of the 14th International Joint

Conference on Artificial Intelligence (IJCAI) Montreal Aug 1995

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 73: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 74: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 75: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingoscillator approach initialization

How to estimate the initial tempo

location of maximum of ACF of novelty function

maximum of IOI histogram

maximum of beat spectrumhistogram

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 76: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 77: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 78: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 79: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 80: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingmulti-agent approach

1 run multiple beat trackers with different parameters

initial tempoinitial beat phaseadaptation speed

2 compute reliabilityconfidence criteria

match beat and onset timestempo stabilitymajority of different agents

3 choose most reliable agent (or path between agents)

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 81: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 82: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 83: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingfilterbank approach

published by Scheirer5

1 design filterbank (egcomb resonators spaced 1beat)

2 compute filter output energy

3 pick maximum

5E D Scheirer ldquoTempo and beat analysis of acoustic musical signalsrdquo Journal of the Acoustical Society of

America (JASA) vol 103 no 1 pp 588ndash601 1998

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 84: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 85: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 86: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 87: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtemplate-based approach

1 define set of template pulses in all tempi

2 compute CCF between novelty function (or its ACF) and alltemplates

3 choose template with highest correlation as tempo

4 choose lag with highest correlation as beat phase

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 88: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton0)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 89: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton1)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 90: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton2)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 91: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingtypical problems

1 tempo detection of doublehalf tempo (triple )

2 phase detection of off-beats

3 tempo amp phase strongly depends on initialization values

4 tempo amp phase only slow adaptation mdash no sudden tempochanges

var ocgs=hostgetOCGs(hostpageNum)for(var i=0iltocgslengthi++)if(ocgs[i]name==MediaPlayButton3)ocgs[i]state=false

1407994

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 92: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 93: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

tempo detection and beat trackingevaluation

how do you properly evaluate a tempo detectionor beat tracking system

methodology

ground truth

how to getgeneratenecessary annotations

metrics

how to measure the accuracy of your system

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 94: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 95: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 96: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 97: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3
Page 98: MUSI-6201 | Computational Music Analysis · overview intro perception musical onsets tempo summary onset detection brainstorm what are your ideas for detecting the onsets in a complex

overview intro perception musical onsets tempo summary

summarylecture content

1 why has so little work been done on the detection of offsets(as opposed to onsets)

2 what is the difference between an onset and a beat

3 what are typical processing steps in an onset detection systemmdash describe approaches for each step

4 explain the terms tempo detection and beat tracking

5 describe basic approaches to tempo detection

  • lecture overview
  • introduction
  • human perception of temporal events
  • musical notation of temporal events
  • onset detection
  • beat amp tempo detection
  • lecture summary
      1. fdrm0
      2. fdrm1
      3. fdrm2
      4. fdrm3