Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Autocorrelation is the simplest and worst pitch detection algorithm. It's highly prone to "octave errors" (not necessarily off by an actual octave, it's just the term for detecting a harmonic/subharmonic of the "true" pitch).

Pitch detection algorithms are a fascinating rabbit hole, and designing a good one for a given set of requirements is a real art.

Edit: One thing autocorrelation is quite effective for is autotune. Here, you need to snap to the nearest (12-tone equal temperament) note, and it turns out the ratio you calculate to perform that correction is unaffected by the most common octave errors. Eg. If I detect your slightly flat D4 as a slightly flat D5, the correction to get to the nearby D is the same.



Any good place to get a summary of pitch detection algorithms?


Not that I know of unfortunately. When I needed one I read a bunch of papers, tried out various open source ones and ended up designing one myself.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: