Harmonic estimation from a single note I have a recording of a single note played several times on a violin. I'm working with Matlab to estimate the amplitude of the first N harmonics. I already know which note is played but there can be fluctuations in frequency and noise (very little, actually). Can you suggest me the more robust method in this kind of situation? At the moment I am windowing the signal and using a peak detection algorithm on the FFT of each frame in order to find the amplitude of the harmonics. Is there anything better?
pitch detection and tracking.  use autocorrelation or perhaps AMDF (average-magnitude difference function) or ASDF (average-squared difference function).
either the "heterodyne oscillator" or, i would recommend, wavetable synthesis techniques to get the amplitude and phase of each harmonic.