SlideShare a Scribd company logo
1 of 42
Download to read offline
Introduction to Audio Content Analysis
module 7.3.4: fundamental frequency detection in polyphonic signals
alexander lerch
overview intro iterative subtraction other intro objective function example summary
introduction
overview
corresponding textbook section
section 7.3.4
lecture content
• overview of “historic” methods for polyphonic pitch detection
• introduction to Non-negative Matrix Factorization (NMF)
learning objectives
• describe the task and challenges of polyphonic pitch detection
• list the processing steps of iterative subtraction and relate them to the introduced
approaches
• describe the process of NMF and discuss advantages and disadvantages of using
NMF for pitch detection
module 7.3.4: fundamental frequency detection in polyphonic signals 1 / 17
overview intro iterative subtraction other intro objective function example summary
introduction
overview
corresponding textbook section
section 7.3.4
lecture content
• overview of “historic” methods for polyphonic pitch detection
• introduction to Non-negative Matrix Factorization (NMF)
learning objectives
• describe the task and challenges of polyphonic pitch detection
• list the processing steps of iterative subtraction and relate them to the introduced
approaches
• describe the process of NMF and discuss advantages and disadvantages of using
NMF for pitch detection
module 7.3.4: fundamental frequency detection in polyphonic signals 1 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
problem statement
monophonic fundamental frequency detection:
• exactly one fundamental frequency with sinusoidals at multiples of f0 (harmonics)
polyphonic fundamental frequency detection:
• multiple/unknown number of fundamental frequencies with harmonics
• number of voices might change over time
• complex mixture with overlapping frequency content
module 7.3.4: fundamental frequency detection in polyphonic signals 2 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: introduction
principle
1 find most salient fundamental frequency
▶ e.g., with monophonic pitch tracking
2 remove this frequency and related frequency components
▶ e.g., mask or subtraction
3 repeat until termination criterion
▶ e.g., number of voices
challenges
• reliably identify fundamental frequency in a mixture
• identify/group components and amount to subtract
▶ overlapping components
▶ spectral leakage
• define termination criterion
▶ e.g., unknown number of voices or overall energy
module 7.3.4: fundamental frequency detection in polyphonic signals 3 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: introduction
principle
1 find most salient fundamental frequency
▶ e.g., with monophonic pitch tracking
2 remove this frequency and related frequency components
▶ e.g., mask or subtraction
3 repeat until termination criterion
▶ e.g., number of voices
challenges
• reliably identify fundamental frequency in a mixture
• identify/group components and amount to subtract
▶ overlapping components
▶ spectral leakage
• define termination criterion
▶ e.g., unknown number of voices or overall energy
module 7.3.4: fundamental frequency detection in polyphonic signals 3 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: Cheveigné
1 compute squared AMDF
ASMDFxx (η, n) =
1
ie(n) − is(n) + 1
ie(n)
X
i=is(n)
x(i) − x(i + η)
2
2 find fundamental frequency
ηmin = argmin ASMDFxx (η, n)

3 apply comb cancellation filter, IR:
h(i) = δ(i) − δ(i − ηmin)
4 repeat process
module 7.3.4: fundamental frequency detection in polyphonic signals 4 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: Cheveigné
1 compute squared AMDF
ASMDFxx (η, n) =
1
ie(n) − is(n) + 1
ie(n)
X
i=is(n)
x(i) − x(i + η)
2
2 find fundamental frequency
ηmin = argmin ASMDFxx (η, n)

3 apply comb cancellation filter, IR:
h(i) = δ(i) − δ(i − ηmin)
4 repeat process
module 7.3.4: fundamental frequency detection in polyphonic signals 4 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: Cheveigné
1 compute squared AMDF
ASMDFxx (η, n) =
1
ie(n) − is(n) + 1
ie(n)
X
i=is(n)
x(i) − x(i + η)
2
2 find fundamental frequency
ηmin = argmin ASMDFxx (η, n)

3 apply comb cancellation filter, IR:
h(i) = δ(i) − δ(i − ηmin)
4 repeat process
module 7.3.4: fundamental frequency detection in polyphonic signals 4 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: Cheveigné
1 compute squared AMDF
ASMDFxx (η, n) =
1
ie(n) − is(n) + 1
ie(n)
X
i=is(n)
x(i) − x(i + η)
2
2 find fundamental frequency
ηmin = argmin ASMDFxx (η, n)

3 apply comb cancellation filter, IR:
h(i) = δ(i) − δ(i − ηmin)
4 repeat process
module 7.3.4: fundamental frequency detection in polyphonic signals 4 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: Meddis
1 auditory pitch tracking:
rzz(c, n, η) =
K−1
X
i=0
zc(i) · zc(i + η)
2 detect most likely frequency for all bands
3 remove all bands with a max at detected frequency
4 reiterate until most bands have eliminated
module 7.3.4: fundamental frequency detection in polyphonic signals 5 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: Meddis
1 auditory pitch tracking:
rzz(c, n, η) =
K−1
X
i=0
zc(i) · zc(i + η)
2 detect most likely frequency for all bands
3 remove all bands with a max at detected frequency
4 reiterate until most bands have eliminated
module 7.3.4: fundamental frequency detection in polyphonic signals 5 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: Meddis
1 auditory pitch tracking:
rzz(c, n, η) =
K−1
X
i=0
zc(i) · zc(i + η)
2 detect most likely frequency for all bands
3 remove all bands with a max at detected frequency
4 reiterate until most bands have eliminated
module 7.3.4: fundamental frequency detection in polyphonic signals 5 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: Meddis
1 auditory pitch tracking:
rzz(c, n, η) =
K−1
X
i=0
zc(i) · zc(i + η)
2 detect most likely frequency for all bands
3 remove all bands with a max at detected frequency
4 reiterate until most bands have eliminated
module 7.3.4: fundamental frequency detection in polyphonic signals 5 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: spectral
1 find salient fundamental frequency (e.g. auditory approach, HPS)
2 estimate current model for harmonic magnitudes
3 subtract the model spectrum
4 repeat process
module 7.3.4: fundamental frequency detection in polyphonic signals 6 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: spectral
1 find salient fundamental frequency (e.g. auditory approach, HPS)
2 estimate current model for harmonic magnitudes
3 subtract the model spectrum
4 repeat process
module 7.3.4: fundamental frequency detection in polyphonic signals 6 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: spectral
1 find salient fundamental frequency (e.g. auditory approach, HPS)
2 estimate current model for harmonic magnitudes
3 subtract the model spectrum
4 repeat process
module 7.3.4: fundamental frequency detection in polyphonic signals 6 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
iterative subtraction: spectral
1 find salient fundamental frequency (e.g. auditory approach, HPS)
2 estimate current model for harmonic magnitudes
3 subtract the model spectrum
4 repeat process
module 7.3.4: fundamental frequency detection in polyphonic signals 6 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
exhaustive search
1 define set of all possible fundamental frequencies
2 compute all possible pairs of fundamental frequency
3 repeatedly filter the signal with two comb cancellation filters (all combinations)
4 find combination with minimal output energy
module 7.3.4: fundamental frequency detection in polyphonic signals 7 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
exhaustive search
1 define set of all possible fundamental frequencies
2 compute all possible pairs of fundamental frequency
3 repeatedly filter the signal with two comb cancellation filters (all combinations)
4 find combination with minimal output energy
module 7.3.4: fundamental frequency detection in polyphonic signals 7 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
exhaustive search
1 define set of all possible fundamental frequencies
2 compute all possible pairs of fundamental frequency
3 repeatedly filter the signal with two comb cancellation filters (all combinations)
4 find combination with minimal output energy
module 7.3.4: fundamental frequency detection in polyphonic signals 7 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
exhaustive search
1 define set of all possible fundamental frequencies
2 compute all possible pairs of fundamental frequency
3 repeatedly filter the signal with two comb cancellation filters (all combinations)
4 find combination with minimal output energy
module 7.3.4: fundamental frequency detection in polyphonic signals 7 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
klapuri
1 gammatone filterbank (100 bands)
2 normalization, HWR, smoothing, . . .
3 STFT per filter channel (magnitude)
4 use delta pulse templates to detect
frequency patterns
5 pick most salient frequencies,
remove them
graph from1
1
A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal
Processing to Audio and Acoustics (WASPAA), New Paltz, 2005.
module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
klapuri
1 gammatone filterbank (100 bands)
2 normalization, HWR, smoothing, . . .
3 STFT per filter channel (magnitude)
4 use delta pulse templates to detect
frequency patterns
5 pick most salient frequencies,
remove them
graph from1
1
A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal
Processing to Audio and Acoustics (WASPAA), New Paltz, 2005.
module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
klapuri
1 gammatone filterbank (100 bands)
2 normalization, HWR, smoothing, . . .
3 STFT per filter channel (magnitude)
4 use delta pulse templates to detect
frequency patterns
5 pick most salient frequencies,
remove them
graph from1
1
A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal
Processing to Audio and Acoustics (WASPAA), New Paltz, 2005.
module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
klapuri
1 gammatone filterbank (100 bands)
2 normalization, HWR, smoothing, . . .
3 STFT per filter channel (magnitude)
4 use delta pulse templates to detect
frequency patterns
5 pick most salient frequencies,
remove them
graph from1
1
A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal
Processing to Audio and Acoustics (WASPAA), New Paltz, 2005.
module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
overview intro iterative subtraction other intro objective function example summary
polyphonic pitch tracking
klapuri
1 gammatone filterbank (100 bands)
2 normalization, HWR, smoothing, . . .
3 STFT per filter channel (magnitude)
4 use delta pulse templates to detect
frequency patterns
5 pick most salient frequencies,
remove them
graph from1
1
A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal
Processing to Audio and Acoustics (WASPAA), New Paltz, 2005.
module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
overview intro iterative subtraction other intro objective function example summary
non-negative matrix factorization
introduction
Non-negative Matrix Factorization (NMF)
Given a m × n matrix V , find a m × r matrix W and a r × n matrix H such that
V ≈ WH
• all matrices must be non-negative
• rank r is usually smaller than m and n
advantage of non-negativity?
• additive model
• relates to probability distributions
• efficiency?
module 7.3.4: fundamental frequency detection in polyphonic signals 9 / 17
overview intro iterative subtraction other intro objective function example summary
non-negative matrix factorization
introduction
Non-negative Matrix Factorization (NMF)
Given a m × n matrix V , find a m × r matrix W and a r × n matrix H such that
V ≈ WH
• all matrices must be non-negative
• rank r is usually smaller than m and n
advantage of non-negativity?
• additive model
• relates to probability distributions
• efficiency?
module 7.3.4: fundamental frequency detection in polyphonic signals 9 / 17
overview intro iterative subtraction other intro objective function example summary
non-negative matrix factorization
introduction
Non-negative Matrix Factorization (NMF)
Given a m × n matrix V , find a m × r matrix W and a r × n matrix H such that
V ≈ WH
• all matrices must be non-negative
• rank r is usually smaller than m and n
advantage of non-negativity?
• additive model
• relates to probability distributions
• efficiency?
module 7.3.4: fundamental frequency detection in polyphonic signals 9 / 17
overview intro iterative subtraction other intro objective function example summary
non-negative matrix factorization
introduction
Non-negative Matrix Factorization (NMF)
Given a m × n matrix V , find a m × r matrix W and a r × n matrix H such that
V ≈ WH
• all matrices must be non-negative
• rank r is usually smaller than m and n
advantage of non-negativity?
• additive model
• relates to probability distributions
• efficiency?
module 7.3.4: fundamental frequency detection in polyphonic signals 9 / 17
overview intro iterative subtraction other intro objective function example summary
non-negative matrix factorization
overview
alternative formulation2 to V ≈ WH
V =
r
X
i=1
wi · hi + E V ∈ Rm×n
W = [w1, w2, ..., wr ] ∈ Rm×r
H = [h1, h2, ..., hr ]T ∈ Rr×n
E is the error matrix
V =
w0
h0
+ · · · +
wr−1
hr−1
+ E
2
A Cichocki, R Zdunek, A. Phan, et al., Nonnegative matrix and tensor factorizations: applications to exploratory multi-way data analysis and
blind source separation. John Wiley  Sons, 2009.
module 7.3.4: fundamental frequency detection in polyphonic signals 10 / 17
overview intro iterative subtraction other intro objective function example summary
objective function
distance and divergence
task: iteratively minimize objective function D(V ||WH)
typical distance measures (B = WH):
• squared Euclidean distance:
DEU(V ∥ B) =∥ V − B ∥2
=
X
ij
(Vij − Bij )2
• generalized K-L divergence:
DKL(V ∥ B) =
X
ij
(Vij log

Vij
Bij

− Vij + Bij )
• others3
: Bregman Divergence, Alpha-Divergence, Beta-Divergence, . . .
3
A Cichocki, R Zdunek, A. Phan, et al., Nonnegative matrix and tensor factorizations: applications to exploratory multi-way data analysis and
blind source separation. John Wiley  Sons, 2009.
module 7.3.4: fundamental frequency detection in polyphonic signals 11 / 17
overview intro iterative subtraction other intro objective function example summary
objective function
distance and divergence
task: iteratively minimize objective function D(V ||WH)
typical distance measures (B = WH):
• squared Euclidean distance:
DEU(V ∥ B) =∥ V − B ∥2
=
X
ij
(Vij − Bij )2
• generalized K-L divergence:
DKL(V ∥ B) =
X
ij
(Vij log

Vij
Bij

− Vij + Bij )
• others3
: Bregman Divergence, Alpha-Divergence, Beta-Divergence, . . .
3
A Cichocki, R Zdunek, A. Phan, et al., Nonnegative matrix and tensor factorizations: applications to exploratory multi-way data analysis and
blind source separation. John Wiley  Sons, 2009.
module 7.3.4: fundamental frequency detection in polyphonic signals 11 / 17
overview intro iterative subtraction other intro objective function example summary
objective function
gradient descent
minimization of objective function
gradient descent: minimum can be found as zero of derivative
• 2D example: given a function f (x1, x2), find the minimum x1 = a and x2 = b
1 initialize xi (0) with random numbers
2 update points iteratively:
xi (n + 1) = xi (n) − α ·
∂f
∂xi
, i = [1, 2]
⇒ as iteration number n increases, x1, x2 will be closer to a, b.
module 7.3.4: fundamental frequency detection in polyphonic signals 12 / 17
overview intro iterative subtraction other intro objective function example summary
objective function
gradient descent
minimization of objective function
gradient descent: minimum can be found as zero of derivative
• 2D example: given a function f (x1, x2), find the minimum x1 = a and x2 = b
1 initialize xi (0) with random numbers
2 update points iteratively:
xi (n + 1) = xi (n) − α ·
∂f
∂xi
, i = [1, 2]
⇒ as iteration number n increases, x1, x2 will be closer to a, b.
module 7.3.4: fundamental frequency detection in polyphonic signals 12 / 17
overview intro iterative subtraction other intro objective function example summary
objective function
additive vs. multiplicative update rules
optimization of objective function4 DEU(V ∥ WH) =∥ V − WH ∥2
additive update rules:
H ← H + α
∂J
∂H
= H + α[(W T
V ) − (W T
WH)]
W ← W + α
∂J
∂W
= W + α[(VHT
) − (WHHT
)]
multiplicative update rules:
H ← H
(W T V )
(W T WH)
W ← W
(VHT )
(WHHT )
4
D Seung and L Lee, “Algorithms for non-negative matrix factorization,” in Advances in neural information processing systems, 2001,
pp. 556–562. [Online]. Available: http://www.public.asu.edu/~jye02/CLASSES/Fall-2007/NOTES/lee01algorithms.pdf.
module 7.3.4: fundamental frequency detection in polyphonic signals 13 / 17
overview intro iterative subtraction other intro objective function example summary
objective function
additive vs. multiplicative update rules
optimization of objective function4 DEU(V ∥ WH) =∥ V − WH ∥2
additive update rules:
H ← H + α
∂J
∂H
= H + α[(W T
V ) − (W T
WH)]
W ← W + α
∂J
∂W
= W + α[(VHT
) − (WHHT
)]
multiplicative update rules:
H ← H
(W T V )
(W T WH)
W ← W
(VHT )
(WHHT )
4
D Seung and L Lee, “Algorithms for non-negative matrix factorization,” in Advances in neural information processing systems, 2001,
pp. 556–562. [Online]. Available: http://www.public.asu.edu/~jye02/CLASSES/Fall-2007/NOTES/lee01algorithms.pdf.
module 7.3.4: fundamental frequency detection in polyphonic signals 13 / 17
overview intro iterative subtraction other intro objective function example summary
objective function
additional cost function constraints
additional penalty terms (regularization terms) may be added to objective
function
example: sparsity in W or H
D =∥ V − WH ∥2
+αJW(W ) + βJH(H)
• α, β: coefficients for controlling degree of sparsity
• JW and JH: typically L1, L2 norm
module 7.3.4: fundamental frequency detection in polyphonic signals 14 / 17
overview intro iterative subtraction other intro objective function example summary
nmf example
template extraction
unsupervised extraction of
templates and activations
input audio:
• horn
• oboe
• violin
• mix
module 7.3.4: fundamental frequency detection in polyphonic signals 15 / 17
matlab
source:
plotF0Nmf.m
overview intro iterative subtraction other intro objective function example summary
nmf use cases
piano transcription
separate template adaptation from activation matrix adaptation:
1 train/set template matrix
2 order template matrix to have fixed pitch mapping
3 keep template matrix fixed and only update activation matrix
4 pick activation magnitude to determine active pitches
potential problems
• detuned piano
• template differs significantly from sound analyzed
module 7.3.4: fundamental frequency detection in polyphonic signals 16 / 17
overview intro iterative subtraction other intro objective function example summary
summary
lecture content
polyphonic pitch detection
• highly challenging task with
▶ unknown number of sources
▶ unknown harmonic structure
▶ spectral overlap of sources
▶ time-varying mixture
traditional approaches
• iterative subtraction (detect one pitch, remove it, repeat analysis)
• multi-band processing
non-negative matrix factorization
• iterative process minimizing an objective function
• split a matrix into a template matrix and an activation matrix
module 7.3.4: fundamental frequency detection in polyphonic signals 17 / 17

More Related Content

Similar to 07-03-04-ACA-Tonal-Polyf0.pdf

Filters two design_with_matlab
Filters two design_with_matlabFilters two design_with_matlab
Filters two design_with_matlab
researchwork
 

Similar to 07-03-04-ACA-Tonal-Polyf0.pdf (19)

Recovery of low frequency Signals from noisy data using Ensembled Empirical M...
Recovery of low frequency Signals from noisy data using Ensembled Empirical M...Recovery of low frequency Signals from noisy data using Ensembled Empirical M...
Recovery of low frequency Signals from noisy data using Ensembled Empirical M...
 
09-05-ACA-Temporal-Tempo.pdf
09-05-ACA-Temporal-Tempo.pdf09-05-ACA-Temporal-Tempo.pdf
09-05-ACA-Temporal-Tempo.pdf
 
Robust music signal separation based on supervised nonnegative matrix factori...
Robust music signal separation based on supervised nonnegative matrix factori...Robust music signal separation based on supervised nonnegative matrix factori...
Robust music signal separation based on supervised nonnegative matrix factori...
 
03-03-04-ACA-Input-TF-Filterbanks.pdf
03-03-04-ACA-Input-TF-Filterbanks.pdf03-03-04-ACA-Input-TF-Filterbanks.pdf
03-03-04-ACA-Input-TF-Filterbanks.pdf
 
07-03-05-ACA-Tonal-F0Eval.pdf
07-03-05-ACA-Tonal-F0Eval.pdf07-03-05-ACA-Tonal-F0Eval.pdf
07-03-05-ACA-Tonal-F0Eval.pdf
 
Ft and FFT
Ft and FFTFt and FFT
Ft and FFT
 
Hybrid Reverberator Using Multiple Impulse Responses for Audio Rendering Impr...
Hybrid Reverberator Using Multiple Impulse Responses for Audio Rendering Impr...Hybrid Reverberator Using Multiple Impulse Responses for Audio Rendering Impr...
Hybrid Reverberator Using Multiple Impulse Responses for Audio Rendering Impr...
 
Unit 4 Pulse Modulation.pdf
Unit 4 Pulse Modulation.pdfUnit 4 Pulse Modulation.pdf
Unit 4 Pulse Modulation.pdf
 
SignalDecompositionTheory.pptx
SignalDecompositionTheory.pptxSignalDecompositionTheory.pptx
SignalDecompositionTheory.pptx
 
Signal Processing
Signal ProcessingSignal Processing
Signal Processing
 
Hybrid multichannel signal separation using supervised nonnegative matrix fac...
Hybrid multichannel signal separation using supervised nonnegative matrix fac...Hybrid multichannel signal separation using supervised nonnegative matrix fac...
Hybrid multichannel signal separation using supervised nonnegative matrix fac...
 
FFT
FFTFFT
FFT
 
Final presentation
Final presentationFinal presentation
Final presentation
 
Otoacoustic Emissions : A comparison between simulation and lab measures.
Otoacoustic Emissions : A comparison between simulation and lab measures.Otoacoustic Emissions : A comparison between simulation and lab measures.
Otoacoustic Emissions : A comparison between simulation and lab measures.
 
Construction of The Sampled Signal Up To Any Frequency While Keeping The Samp...
Construction of The Sampled Signal Up To Any Frequency While Keeping The Samp...Construction of The Sampled Signal Up To Any Frequency While Keeping The Samp...
Construction of The Sampled Signal Up To Any Frequency While Keeping The Samp...
 
Filters two design_with_matlab
Filters two design_with_matlabFilters two design_with_matlab
Filters two design_with_matlab
 
Neural source-filter waveform model
Neural source-filter waveform modelNeural source-filter waveform model
Neural source-filter waveform model
 
example based audio editing
example based audio editingexample based audio editing
example based audio editing
 
Hybrid NMF APSIPA2014 invited
Hybrid NMF APSIPA2014 invitedHybrid NMF APSIPA2014 invited
Hybrid NMF APSIPA2014 invited
 

More from AlexanderLerch4

More from AlexanderLerch4 (20)

0A-02-ACA-Fundamentals-Convolution.pdf
0A-02-ACA-Fundamentals-Convolution.pdf0A-02-ACA-Fundamentals-Convolution.pdf
0A-02-ACA-Fundamentals-Convolution.pdf
 
12-02-ACA-Genre.pdf
12-02-ACA-Genre.pdf12-02-ACA-Genre.pdf
12-02-ACA-Genre.pdf
 
10-02-ACA-Alignment.pdf
10-02-ACA-Alignment.pdf10-02-ACA-Alignment.pdf
10-02-ACA-Alignment.pdf
 
13-00-ACA-Mood.pdf
13-00-ACA-Mood.pdf13-00-ACA-Mood.pdf
13-00-ACA-Mood.pdf
 
09-07-ACA-Temporal-Structure.pdf
09-07-ACA-Temporal-Structure.pdf09-07-ACA-Temporal-Structure.pdf
09-07-ACA-Temporal-Structure.pdf
 
09-01-ACA-Temporal-Intro.pdf
09-01-ACA-Temporal-Intro.pdf09-01-ACA-Temporal-Intro.pdf
09-01-ACA-Temporal-Intro.pdf
 
07-06-ACA-Tonal-Chord.pdf
07-06-ACA-Tonal-Chord.pdf07-06-ACA-Tonal-Chord.pdf
07-06-ACA-Tonal-Chord.pdf
 
15-00-ACA-Music-Performance-Analysis.pdf
15-00-ACA-Music-Performance-Analysis.pdf15-00-ACA-Music-Performance-Analysis.pdf
15-00-ACA-Music-Performance-Analysis.pdf
 
12-01-ACA-Similarity.pdf
12-01-ACA-Similarity.pdf12-01-ACA-Similarity.pdf
12-01-ACA-Similarity.pdf
 
09-04-ACA-Temporal-BeatHisto.pdf
09-04-ACA-Temporal-BeatHisto.pdf09-04-ACA-Temporal-BeatHisto.pdf
09-04-ACA-Temporal-BeatHisto.pdf
 
11-00-ACA-Fingerprinting.pdf
11-00-ACA-Fingerprinting.pdf11-00-ACA-Fingerprinting.pdf
11-00-ACA-Fingerprinting.pdf
 
08-00-ACA-Intensity.pdf
08-00-ACA-Intensity.pdf08-00-ACA-Intensity.pdf
08-00-ACA-Intensity.pdf
 
03-05-ACA-Input-Features.pdf
03-05-ACA-Input-Features.pdf03-05-ACA-Input-Features.pdf
03-05-ACA-Input-Features.pdf
 
05-00-ACA-Data-Intro.pdf
05-00-ACA-Data-Intro.pdf05-00-ACA-Data-Intro.pdf
05-00-ACA-Data-Intro.pdf
 
03-03-01-ACA-Input-TF-Fourier.pdf
03-03-01-ACA-Input-TF-Fourier.pdf03-03-01-ACA-Input-TF-Fourier.pdf
03-03-01-ACA-Input-TF-Fourier.pdf
 
03-06-ACA-Input-FeatureLearning.pdf
03-06-ACA-Input-FeatureLearning.pdf03-06-ACA-Input-FeatureLearning.pdf
03-06-ACA-Input-FeatureLearning.pdf
 
03-07-01-ACA-Input-Post-Processing.pdf
03-07-01-ACA-Input-Post-Processing.pdf03-07-01-ACA-Input-Post-Processing.pdf
03-07-01-ACA-Input-Post-Processing.pdf
 
07-02-ACA-Tonal-Music.pdf
07-02-ACA-Tonal-Music.pdf07-02-ACA-Tonal-Music.pdf
07-02-ACA-Tonal-Music.pdf
 
06-00-ACA-Evaluation.pdf
06-00-ACA-Evaluation.pdf06-00-ACA-Evaluation.pdf
06-00-ACA-Evaluation.pdf
 
02-00-ACA-System-Intro.pdf
02-00-ACA-System-Intro.pdf02-00-ACA-System-Intro.pdf
02-00-ACA-System-Intro.pdf
 

Recently uploaded

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
Wonjun Hwang
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 

Recently uploaded (20)

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 

07-03-04-ACA-Tonal-Polyf0.pdf

  • 1. Introduction to Audio Content Analysis module 7.3.4: fundamental frequency detection in polyphonic signals alexander lerch
  • 2. overview intro iterative subtraction other intro objective function example summary introduction overview corresponding textbook section section 7.3.4 lecture content • overview of “historic” methods for polyphonic pitch detection • introduction to Non-negative Matrix Factorization (NMF) learning objectives • describe the task and challenges of polyphonic pitch detection • list the processing steps of iterative subtraction and relate them to the introduced approaches • describe the process of NMF and discuss advantages and disadvantages of using NMF for pitch detection module 7.3.4: fundamental frequency detection in polyphonic signals 1 / 17
  • 3. overview intro iterative subtraction other intro objective function example summary introduction overview corresponding textbook section section 7.3.4 lecture content • overview of “historic” methods for polyphonic pitch detection • introduction to Non-negative Matrix Factorization (NMF) learning objectives • describe the task and challenges of polyphonic pitch detection • list the processing steps of iterative subtraction and relate them to the introduced approaches • describe the process of NMF and discuss advantages and disadvantages of using NMF for pitch detection module 7.3.4: fundamental frequency detection in polyphonic signals 1 / 17
  • 4. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking problem statement monophonic fundamental frequency detection: • exactly one fundamental frequency with sinusoidals at multiples of f0 (harmonics) polyphonic fundamental frequency detection: • multiple/unknown number of fundamental frequencies with harmonics • number of voices might change over time • complex mixture with overlapping frequency content module 7.3.4: fundamental frequency detection in polyphonic signals 2 / 17
  • 5. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: introduction principle 1 find most salient fundamental frequency ▶ e.g., with monophonic pitch tracking 2 remove this frequency and related frequency components ▶ e.g., mask or subtraction 3 repeat until termination criterion ▶ e.g., number of voices challenges • reliably identify fundamental frequency in a mixture • identify/group components and amount to subtract ▶ overlapping components ▶ spectral leakage • define termination criterion ▶ e.g., unknown number of voices or overall energy module 7.3.4: fundamental frequency detection in polyphonic signals 3 / 17
  • 6. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: introduction principle 1 find most salient fundamental frequency ▶ e.g., with monophonic pitch tracking 2 remove this frequency and related frequency components ▶ e.g., mask or subtraction 3 repeat until termination criterion ▶ e.g., number of voices challenges • reliably identify fundamental frequency in a mixture • identify/group components and amount to subtract ▶ overlapping components ▶ spectral leakage • define termination criterion ▶ e.g., unknown number of voices or overall energy module 7.3.4: fundamental frequency detection in polyphonic signals 3 / 17
  • 7. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: Cheveigné 1 compute squared AMDF ASMDFxx (η, n) = 1 ie(n) − is(n) + 1 ie(n) X i=is(n) x(i) − x(i + η) 2 2 find fundamental frequency ηmin = argmin ASMDFxx (η, n) 3 apply comb cancellation filter, IR: h(i) = δ(i) − δ(i − ηmin) 4 repeat process module 7.3.4: fundamental frequency detection in polyphonic signals 4 / 17
  • 8. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: Cheveigné 1 compute squared AMDF ASMDFxx (η, n) = 1 ie(n) − is(n) + 1 ie(n) X i=is(n) x(i) − x(i + η) 2 2 find fundamental frequency ηmin = argmin ASMDFxx (η, n) 3 apply comb cancellation filter, IR: h(i) = δ(i) − δ(i − ηmin) 4 repeat process module 7.3.4: fundamental frequency detection in polyphonic signals 4 / 17
  • 9. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: Cheveigné 1 compute squared AMDF ASMDFxx (η, n) = 1 ie(n) − is(n) + 1 ie(n) X i=is(n) x(i) − x(i + η) 2 2 find fundamental frequency ηmin = argmin ASMDFxx (η, n) 3 apply comb cancellation filter, IR: h(i) = δ(i) − δ(i − ηmin) 4 repeat process module 7.3.4: fundamental frequency detection in polyphonic signals 4 / 17
  • 10. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: Cheveigné 1 compute squared AMDF ASMDFxx (η, n) = 1 ie(n) − is(n) + 1 ie(n) X i=is(n) x(i) − x(i + η) 2 2 find fundamental frequency ηmin = argmin ASMDFxx (η, n) 3 apply comb cancellation filter, IR: h(i) = δ(i) − δ(i − ηmin) 4 repeat process module 7.3.4: fundamental frequency detection in polyphonic signals 4 / 17
  • 11. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: Meddis 1 auditory pitch tracking: rzz(c, n, η) = K−1 X i=0 zc(i) · zc(i + η) 2 detect most likely frequency for all bands 3 remove all bands with a max at detected frequency 4 reiterate until most bands have eliminated module 7.3.4: fundamental frequency detection in polyphonic signals 5 / 17
  • 12. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: Meddis 1 auditory pitch tracking: rzz(c, n, η) = K−1 X i=0 zc(i) · zc(i + η) 2 detect most likely frequency for all bands 3 remove all bands with a max at detected frequency 4 reiterate until most bands have eliminated module 7.3.4: fundamental frequency detection in polyphonic signals 5 / 17
  • 13. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: Meddis 1 auditory pitch tracking: rzz(c, n, η) = K−1 X i=0 zc(i) · zc(i + η) 2 detect most likely frequency for all bands 3 remove all bands with a max at detected frequency 4 reiterate until most bands have eliminated module 7.3.4: fundamental frequency detection in polyphonic signals 5 / 17
  • 14. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: Meddis 1 auditory pitch tracking: rzz(c, n, η) = K−1 X i=0 zc(i) · zc(i + η) 2 detect most likely frequency for all bands 3 remove all bands with a max at detected frequency 4 reiterate until most bands have eliminated module 7.3.4: fundamental frequency detection in polyphonic signals 5 / 17
  • 15. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: spectral 1 find salient fundamental frequency (e.g. auditory approach, HPS) 2 estimate current model for harmonic magnitudes 3 subtract the model spectrum 4 repeat process module 7.3.4: fundamental frequency detection in polyphonic signals 6 / 17
  • 16. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: spectral 1 find salient fundamental frequency (e.g. auditory approach, HPS) 2 estimate current model for harmonic magnitudes 3 subtract the model spectrum 4 repeat process module 7.3.4: fundamental frequency detection in polyphonic signals 6 / 17
  • 17. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: spectral 1 find salient fundamental frequency (e.g. auditory approach, HPS) 2 estimate current model for harmonic magnitudes 3 subtract the model spectrum 4 repeat process module 7.3.4: fundamental frequency detection in polyphonic signals 6 / 17
  • 18. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking iterative subtraction: spectral 1 find salient fundamental frequency (e.g. auditory approach, HPS) 2 estimate current model for harmonic magnitudes 3 subtract the model spectrum 4 repeat process module 7.3.4: fundamental frequency detection in polyphonic signals 6 / 17
  • 19. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking exhaustive search 1 define set of all possible fundamental frequencies 2 compute all possible pairs of fundamental frequency 3 repeatedly filter the signal with two comb cancellation filters (all combinations) 4 find combination with minimal output energy module 7.3.4: fundamental frequency detection in polyphonic signals 7 / 17
  • 20. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking exhaustive search 1 define set of all possible fundamental frequencies 2 compute all possible pairs of fundamental frequency 3 repeatedly filter the signal with two comb cancellation filters (all combinations) 4 find combination with minimal output energy module 7.3.4: fundamental frequency detection in polyphonic signals 7 / 17
  • 21. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking exhaustive search 1 define set of all possible fundamental frequencies 2 compute all possible pairs of fundamental frequency 3 repeatedly filter the signal with two comb cancellation filters (all combinations) 4 find combination with minimal output energy module 7.3.4: fundamental frequency detection in polyphonic signals 7 / 17
  • 22. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking exhaustive search 1 define set of all possible fundamental frequencies 2 compute all possible pairs of fundamental frequency 3 repeatedly filter the signal with two comb cancellation filters (all combinations) 4 find combination with minimal output energy module 7.3.4: fundamental frequency detection in polyphonic signals 7 / 17
  • 23. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking klapuri 1 gammatone filterbank (100 bands) 2 normalization, HWR, smoothing, . . . 3 STFT per filter channel (magnitude) 4 use delta pulse templates to detect frequency patterns 5 pick most salient frequencies, remove them graph from1 1 A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), New Paltz, 2005. module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
  • 24. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking klapuri 1 gammatone filterbank (100 bands) 2 normalization, HWR, smoothing, . . . 3 STFT per filter channel (magnitude) 4 use delta pulse templates to detect frequency patterns 5 pick most salient frequencies, remove them graph from1 1 A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), New Paltz, 2005. module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
  • 25. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking klapuri 1 gammatone filterbank (100 bands) 2 normalization, HWR, smoothing, . . . 3 STFT per filter channel (magnitude) 4 use delta pulse templates to detect frequency patterns 5 pick most salient frequencies, remove them graph from1 1 A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), New Paltz, 2005. module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
  • 26. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking klapuri 1 gammatone filterbank (100 bands) 2 normalization, HWR, smoothing, . . . 3 STFT per filter channel (magnitude) 4 use delta pulse templates to detect frequency patterns 5 pick most salient frequencies, remove them graph from1 1 A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), New Paltz, 2005. module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
  • 27. overview intro iterative subtraction other intro objective function example summary polyphonic pitch tracking klapuri 1 gammatone filterbank (100 bands) 2 normalization, HWR, smoothing, . . . 3 STFT per filter channel (magnitude) 4 use delta pulse templates to detect frequency patterns 5 pick most salient frequencies, remove them graph from1 1 A. P. Klapuri, “A Perceptually Motivated Multiple-F0 Estimation Method,” in Proceedings of the IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), New Paltz, 2005. module 7.3.4: fundamental frequency detection in polyphonic signals 8 / 17
  • 28. overview intro iterative subtraction other intro objective function example summary non-negative matrix factorization introduction Non-negative Matrix Factorization (NMF) Given a m × n matrix V , find a m × r matrix W and a r × n matrix H such that V ≈ WH • all matrices must be non-negative • rank r is usually smaller than m and n advantage of non-negativity? • additive model • relates to probability distributions • efficiency? module 7.3.4: fundamental frequency detection in polyphonic signals 9 / 17
  • 29. overview intro iterative subtraction other intro objective function example summary non-negative matrix factorization introduction Non-negative Matrix Factorization (NMF) Given a m × n matrix V , find a m × r matrix W and a r × n matrix H such that V ≈ WH • all matrices must be non-negative • rank r is usually smaller than m and n advantage of non-negativity? • additive model • relates to probability distributions • efficiency? module 7.3.4: fundamental frequency detection in polyphonic signals 9 / 17
  • 30. overview intro iterative subtraction other intro objective function example summary non-negative matrix factorization introduction Non-negative Matrix Factorization (NMF) Given a m × n matrix V , find a m × r matrix W and a r × n matrix H such that V ≈ WH • all matrices must be non-negative • rank r is usually smaller than m and n advantage of non-negativity? • additive model • relates to probability distributions • efficiency? module 7.3.4: fundamental frequency detection in polyphonic signals 9 / 17
  • 31. overview intro iterative subtraction other intro objective function example summary non-negative matrix factorization introduction Non-negative Matrix Factorization (NMF) Given a m × n matrix V , find a m × r matrix W and a r × n matrix H such that V ≈ WH • all matrices must be non-negative • rank r is usually smaller than m and n advantage of non-negativity? • additive model • relates to probability distributions • efficiency? module 7.3.4: fundamental frequency detection in polyphonic signals 9 / 17
  • 32. overview intro iterative subtraction other intro objective function example summary non-negative matrix factorization overview alternative formulation2 to V ≈ WH V = r X i=1 wi · hi + E V ∈ Rm×n W = [w1, w2, ..., wr ] ∈ Rm×r H = [h1, h2, ..., hr ]T ∈ Rr×n E is the error matrix V = w0 h0 + · · · + wr−1 hr−1 + E 2 A Cichocki, R Zdunek, A. Phan, et al., Nonnegative matrix and tensor factorizations: applications to exploratory multi-way data analysis and blind source separation. John Wiley Sons, 2009. module 7.3.4: fundamental frequency detection in polyphonic signals 10 / 17
  • 33. overview intro iterative subtraction other intro objective function example summary objective function distance and divergence task: iteratively minimize objective function D(V ||WH) typical distance measures (B = WH): • squared Euclidean distance: DEU(V ∥ B) =∥ V − B ∥2 = X ij (Vij − Bij )2 • generalized K-L divergence: DKL(V ∥ B) = X ij (Vij log Vij Bij − Vij + Bij ) • others3 : Bregman Divergence, Alpha-Divergence, Beta-Divergence, . . . 3 A Cichocki, R Zdunek, A. Phan, et al., Nonnegative matrix and tensor factorizations: applications to exploratory multi-way data analysis and blind source separation. John Wiley Sons, 2009. module 7.3.4: fundamental frequency detection in polyphonic signals 11 / 17
  • 34. overview intro iterative subtraction other intro objective function example summary objective function distance and divergence task: iteratively minimize objective function D(V ||WH) typical distance measures (B = WH): • squared Euclidean distance: DEU(V ∥ B) =∥ V − B ∥2 = X ij (Vij − Bij )2 • generalized K-L divergence: DKL(V ∥ B) = X ij (Vij log Vij Bij − Vij + Bij ) • others3 : Bregman Divergence, Alpha-Divergence, Beta-Divergence, . . . 3 A Cichocki, R Zdunek, A. Phan, et al., Nonnegative matrix and tensor factorizations: applications to exploratory multi-way data analysis and blind source separation. John Wiley Sons, 2009. module 7.3.4: fundamental frequency detection in polyphonic signals 11 / 17
  • 35. overview intro iterative subtraction other intro objective function example summary objective function gradient descent minimization of objective function gradient descent: minimum can be found as zero of derivative • 2D example: given a function f (x1, x2), find the minimum x1 = a and x2 = b 1 initialize xi (0) with random numbers 2 update points iteratively: xi (n + 1) = xi (n) − α · ∂f ∂xi , i = [1, 2] ⇒ as iteration number n increases, x1, x2 will be closer to a, b. module 7.3.4: fundamental frequency detection in polyphonic signals 12 / 17
  • 36. overview intro iterative subtraction other intro objective function example summary objective function gradient descent minimization of objective function gradient descent: minimum can be found as zero of derivative • 2D example: given a function f (x1, x2), find the minimum x1 = a and x2 = b 1 initialize xi (0) with random numbers 2 update points iteratively: xi (n + 1) = xi (n) − α · ∂f ∂xi , i = [1, 2] ⇒ as iteration number n increases, x1, x2 will be closer to a, b. module 7.3.4: fundamental frequency detection in polyphonic signals 12 / 17
  • 37. overview intro iterative subtraction other intro objective function example summary objective function additive vs. multiplicative update rules optimization of objective function4 DEU(V ∥ WH) =∥ V − WH ∥2 additive update rules: H ← H + α ∂J ∂H = H + α[(W T V ) − (W T WH)] W ← W + α ∂J ∂W = W + α[(VHT ) − (WHHT )] multiplicative update rules: H ← H (W T V ) (W T WH) W ← W (VHT ) (WHHT ) 4 D Seung and L Lee, “Algorithms for non-negative matrix factorization,” in Advances in neural information processing systems, 2001, pp. 556–562. [Online]. Available: http://www.public.asu.edu/~jye02/CLASSES/Fall-2007/NOTES/lee01algorithms.pdf. module 7.3.4: fundamental frequency detection in polyphonic signals 13 / 17
  • 38. overview intro iterative subtraction other intro objective function example summary objective function additive vs. multiplicative update rules optimization of objective function4 DEU(V ∥ WH) =∥ V − WH ∥2 additive update rules: H ← H + α ∂J ∂H = H + α[(W T V ) − (W T WH)] W ← W + α ∂J ∂W = W + α[(VHT ) − (WHHT )] multiplicative update rules: H ← H (W T V ) (W T WH) W ← W (VHT ) (WHHT ) 4 D Seung and L Lee, “Algorithms for non-negative matrix factorization,” in Advances in neural information processing systems, 2001, pp. 556–562. [Online]. Available: http://www.public.asu.edu/~jye02/CLASSES/Fall-2007/NOTES/lee01algorithms.pdf. module 7.3.4: fundamental frequency detection in polyphonic signals 13 / 17
  • 39. overview intro iterative subtraction other intro objective function example summary objective function additional cost function constraints additional penalty terms (regularization terms) may be added to objective function example: sparsity in W or H D =∥ V − WH ∥2 +αJW(W ) + βJH(H) • α, β: coefficients for controlling degree of sparsity • JW and JH: typically L1, L2 norm module 7.3.4: fundamental frequency detection in polyphonic signals 14 / 17
  • 40. overview intro iterative subtraction other intro objective function example summary nmf example template extraction unsupervised extraction of templates and activations input audio: • horn • oboe • violin • mix module 7.3.4: fundamental frequency detection in polyphonic signals 15 / 17 matlab source: plotF0Nmf.m
  • 41. overview intro iterative subtraction other intro objective function example summary nmf use cases piano transcription separate template adaptation from activation matrix adaptation: 1 train/set template matrix 2 order template matrix to have fixed pitch mapping 3 keep template matrix fixed and only update activation matrix 4 pick activation magnitude to determine active pitches potential problems • detuned piano • template differs significantly from sound analyzed module 7.3.4: fundamental frequency detection in polyphonic signals 16 / 17
  • 42. overview intro iterative subtraction other intro objective function example summary summary lecture content polyphonic pitch detection • highly challenging task with ▶ unknown number of sources ▶ unknown harmonic structure ▶ spectral overlap of sources ▶ time-varying mixture traditional approaches • iterative subtraction (detect one pitch, remove it, repeat analysis) • multi-band processing non-negative matrix factorization • iterative process minimizing an objective function • split a matrix into a template matrix and an activation matrix module 7.3.4: fundamental frequency detection in polyphonic signals 17 / 17