On Sun, Oct 10, 2010 at 05:27:25PM -0400, Jeremy wrote:
I'm very excited to look at the code for zita-at!
I'm specifically curious
about what you did differently for the pitch detection and re-sampling. The
website doesn't seem to explain the technical details.
The basic method for pitch detection is the same as in Autotalent.
Some refinements are added: interpolation of autocorrelation peaks
(improves accuracy a lot, in particular at higher pitches), some
logic in the determination of the current note, and whatever it
takes to make things work correctly at all sample rates between
44.1 and 192 kHz.
The resampling is completely different - I never managed to grok
how Autotalent does it. But whatever it does has some problems,
just look at the spectrum of a 1 kHz tone 'retuned' to 987.7 Hz.
Resampling is done by linear interpolation, at 44.1 and 48 kHz
this is done on the signal upsampled to twice the original rate.
It would be relatively easy to improve this further, but I don't
think it would matter much. You'll find some comments on the
algorithm used in retuner.cc.
The computation of the required correction could be improved a
lot by making the algorithm look ahead a few seconds. Of course
this would mean off-line processing, e.g. operating on an Ardour
region.
Another improvement would be formant estimation and correction,
for an off-line algorithm that would be relatively easy.
Ciao,
--
FA
There are three of them, and Alleline.