[music-dsp] Pitch detection methods
vesa.norilo at saunalahti.fi
Thu Jun 30 17:55:53 EDT 2005
I've been hired to do some pitch detection consultation lately, and thus
have researched this field a bit.
I just thought I'd share a nice method I found, I don't know if it's
novel or if some of you have used it before.
Basically, in comparing existing techniques I found that the plain old
HPS method was pretty robust, which is important in my application.
However, I also need time resolution and frequency resolution must be
very high too.
So what I did was that I replaced the FFT power spectrum analysis in HPS
with a phase vocoder frequency analyzator with a mechanism to combine a
typical cluster of close frequencies to a amplitude-weighted average,
take 10-20 loudest of these and run a HPS-like process on a sparsely
populated "continuous" frequency domain, multiplying partials that are
"close enough" in frequency to partials of the compressed versions of
The results are suprisingly good. I was very close to scrapping
frequency domain methods completely and revisiting autocorrelation
variants, but now I'm not so sure. The contraption tracks busy and noisy
violin passages even with unintentional side-tones better than any other
methods I've experimented so far. I do need fairly heavily overlapped
phase vocoder to do this right, but it's probably possible to extend the
method to polyphonic detection.
I'd love to hear of any experiences or ideas related to this.
More information about the music-dsp