how does 'enhanced autocorrction' work?

under ‘plot spectrum’ that all the ‘autocorection’ plots are very nice, epsecially the ‘enhanced autocorrection’ is able to tell the pitch precisely from a complicated waveform. Where may I find how does it work and the sorce code? Thanks a lot.

It’s not “autocorection”, it is “autocorrelation”. It is a rather “advanced” feature that I don’t use myself, but there is some information on Wikipedia:

Thanks a lot Steve. Yes, i have found it.

Unfortunately, most of the plot spectrum options are not described in detail.
If no one explains for what those 3 auto correlation features can be used, no one will use them.
I fancy that you understand the basic auto correlation.
It tells you if a sound is included in itself. It gives you a hint about the fundamental frequency of an instrument or voice.
The enhanced auto correlation has been developed to separate 2 or 3 instruments at once.
It firstly takes the cubic auto correlation.
The standard one uses only squaring.
Thus, the cubic version can yield negative values, e.g. -2 x -2 = 4; -2 x -2 x -2 =-8.
The enhanced auto correlation clips the negative values and makes a second correlation with a 2 times stretched version of itself. This removes unwanted harmonics (so called peak pruning).
According to the original paper by Tolonen and Karjalainen, this could be repeated with 3 times the ACF and so on.
The output should actually always be clipped to have only positive values.
Audacity does this only for the first time, that’s why there are also negative level values in the exported spectrum file (and the plot, I assume).
If I am not mistaken, this kind of auto correlation can also show fundamentals that are actually not in the harmonic structure (similar to bell sounds).

I’m not seeing negative values for Enhanced Autocorrelation data.
I am seeing some negative values for Cube root Autocorrelation and Standard Autocorrelation.

Sorry, the negative values do not come from the kind of auto correlation (squared or cubic) because the spectrum is squared in any case and either square or cubic root taken.
The values come from another real FFT, so negative values can be created in the first 2 versions.
The enhanced auto correlation seems to be correctly clipped at 0 in order to produce positive values.
I forgot that the spectrum export appends data on existing files. I’ve simply mixed the values up in Excel, sorry for that.

The number of times that I’ve done that :smiley:

Topic split to: