This alternative pitch follower uses autocorrelation like Pitch, but with an adapted method, and calculated via FFT. There are some parameters for you to choose the window size and other aspects of the calculation, but a user who doesn't want to worry too much about this kind of stuff, please just use the defaults and don't worry about them.
In technical terms, this UGen calculates a modified autocorrelation function following the method used in the Tartini open source (GNU GPL) pitch following software (http://miracle.otago.ac.nz/postgrads/tartini/)
The algorithm is based on the following paper: Philip McLeod and Geoff Wyvill (2005) "A Smarter Way to Find Pitch". ICMC Proceedings; 138-141.
There are two outputs (see examples code below)
in |
the audio rate input signal |
threshold |
In autocorrelation function peak picking, chooses first peak within this threshold of the maximum peak. Leave it at 0.93 by default. |
n |
data window size (on OS X without fftw, only 2048, 1024 and 512 supported, and k must be n/2) |
k |
autocorrelation lags, actual FFT size will be n+k (this may lead to nonstandard non-power of 2 FFTs, fftw copes, don't worry about it...). It is recommended by Phil McLeod that you keep k at n/2 (if you set k=0 you will get that default) else at most 3*n/4. |
overlap |
overlap size in samples (ie, 1024 window, 256 overlap means advance by 768 samples each time) |
smallCutoff |
a parameter for determining when a peak is recorded in the autocorrelation function, advanced use only. Suggest you never put this too low, ie near zero, because then every possible lag in the autocorrelation becomes a potential peak, CPU cost goes up, and results won't necessarily be any good. |
(use headphones!)