Dear list people,

I'm used to doing auto correlation for pitch detection, but right now, I've got to find a way for doing very fast and half-reliable algorithm for periodic signals. I'd like to stick to time-domain approaches here, but naive zero crossing is a no-go, as I might have to face plenty of harmonics and noise. So I thought about using steep, adaptive bandpass filters (regular biquads). The idea was to feed an evvelope follower with the filter output (very short env actually), and move the center freq up- & downwards, where the inc/dec is directly proportional to the envelope amount. The 'louder', the less movement occurs, until everything finally stands still. Theoretically, the thing thereby should sync itself to any incoming pitch.

It does work to some extend, but I think I'm still missing something. I can either have it to sync fast to the pitch, but then it's not very accurate. Or, it's accurate but slow (like a portamento). Also, when the incdec steps are too coarse, the filter steps 'over' the actual frequency and thereby bounces back & forth.

I can imagine a slow action being ok for feedback cancelling or such. But would you guys say the technique is capable to detect pitch in a fast way?

I'm currently looking at section 4) on this page:
https://ccrma.stanford.edu/~pdelac/154/m154paper.htm

What I don't get right: When doing a convergence test (or: in my case, deriving an envelope), how does one derive a filter frequency from it? Can someone point me to more precise literature on that (couldn't find it)? I'm currently trying to travel up & down like
inc = 1 + factor * (1 - filter_envelope);
where 'factor' changes according to the direction.
I don't think it's the best thing to do. How can I do better?

I also thought about having two filters, cross-coupled, perhaps with opposite direction. Would that work?

Thanks for any brainstorming over this,
Sascha
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp

Reply via email to