On 10/03/17 06:12 AM, Jeroen Vreeken wrote: > One of the things that I noticed while testing was that the current > pitch estimation sometimes makes a mistake and ends up with twice the > real pitch. I also got the feeling (but no proof yet) it was worse with > samples with heavy filtering under 300Hz (e.g. to get rid of CTCSS tones). > So there might be some room for improvement there...
Pitch doubling/tripling is a common problem in pitch estimation. I spent some time trying to avoid it as much as possible in the Opus (CELT) pitch detector. You might want to have a look just in case (haven't tested) it works better than the existing codec2 pitch detector. Some of the things I have found that can help (and that the CELT code does): 1) Upsampling the pitch correlation (2x) to get fractional time resolution. Even if that resolution isn't needed, it helps reduce pitch doubling). 2) Looking at fractions of the pitch period to find peaks. e.g. if the correlation at T/3 is almost as good as the one at T, then we pick T/3 instead. The code is part of Opus, in celt/pitch.c (remove_doubling() function). Cheers, Jean-Marc ------------------------------------------------------------------------------ Announcing the Oxford Dictionaries API! The API offers world-renowned dictionary content that is easy and intuitive to access. Sign up for an account today to start using our lexical data to power your apps and projects. Get started today and enter our developer competition. http://sdm.link/oxford _______________________________________________ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2