I have to do a presentation about Auto-Tune and its relation to the Fourier transform. What is a good explanation on how does Auto-Tune work?

  • $\begingroup$ oh dear. i sorta doubt that Auto-Tune works in the frequency domain (using the Fourier Transform) in the first place. back in the 1990s i know it did not work in the frequency domain, it was a time-domain algorithm. i worked on a "competitive" product called Pitch Doctor. that AutoTune worked by doing the same kind of time-domain pitch shifting that Eventide Harmonizers did along with a pitch detector. so the pitch correction happens when the detected pitch is close to, but not exactly equal to a target pitch and the difference between the two was how much pitch shifting was applied. $\endgroup$ – robert bristow-johnson Aug 23 '19 at 21:49
  • $\begingroup$ BTW, the downvote didn't come from me. i'll fix it for you. $\endgroup$ – robert bristow-johnson Aug 23 '19 at 21:49
  • $\begingroup$ I said Auto-Tune just as a generic name for a pitch correction program. I would be glad to know how a frequency domain pitch correction program works (a time domain one too if you can). Sorry for not being specific enough. $\endgroup$ – Kleber Pandino Fernandes Aug 23 '19 at 21:58
  • $\begingroup$ pitch detection, pitch shifting, and pitch correction are not small topics well "explain[ed ..] in a simple way". $\endgroup$ – robert bristow-johnson Aug 23 '19 at 22:20
  • $\begingroup$ "Simply put, the audio track to be manipulated is divided into windows that overlap at the edges. One reason for these overlaps is so the splits are less noticeable. After this division, the FFT algorithm is applied to each segment of the signal. This makes the wave of each segment now dependent on its frequency, and no longer in time. Thus, a frequency manipulation can be made to reach the desired frequency. After the manipulation is done, the opposite path is taken: the IFFT algorithm is applied to bring each segment back to the time domain so that the signal can be reconstructed." $\endgroup$ – Kleber Pandino Fernandes Aug 23 '19 at 22:29

when I read the original autotune patent few steps made me understand that everything was done in time domain (in the past, I don't know today), they didn't mention anything about overlap and add, it made me wonder if the pitch detector is so good that they didn't have to overlap and add, could they always skip or add periods in the exact position? (just out of curiosity I ended up implementing the pitch detector described in this patent, and honestly that's not all I imagined lol)

Take a look in the red marked piece of the patent paper:

enter image description here

Of course, the patent description also says nothing about keeping the formants, but to me it is clear that the above description is just a time domain method to apply time scale and change the pitch using resample.

By the way, I wrote a pure time domain "pitch correction" keeping the formants based in the papers from @robertbristow-johnson and Keith Lent

youtube demo from my code here:


  • 1
    $\begingroup$ i hope you had a good pitch detector for your implementation. $\endgroup$ – robert bristow-johnson Aug 26 '19 at 10:50
  • $\begingroup$ //"...they didn't mention anything about overlap and add, it made me wonder if the pitch detector is so good that they didn't have to overlap and add, could they always skip or add periods in the exact position?"// --- The pitch detector can't be so good to give you a pitch that will make a non-periodic portion of the sound be periodic. if you make non-overlapped jumps from one place in the audio to another that is just unrelated, it will click. $\endgroup$ – robert bristow-johnson Aug 26 '19 at 10:53

Although perhaps not state-of-the-art, FFT based phase vocoder algorithms have been used for time-pitch modification (with formant shift artifacts). And time-pitch modification can be used to auto-tune.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.