Pitch-Tracking Systems in Auto-Tune
Spring 2026EENG 411
Built a real-time auto-tune pipeline in MATLAB and benchmarked FFT against autocorrelation pitch detection, measuring a 2.68x speedup for FFT
Details
- Built the full real-time auto-tune pipeline in MATLAB, capturing audio at 48 kHz, isolating the vocal band with cascaded Butterworth filters (80 dB stopband attenuation), and decimating in two stages to an 8 kHz analysis rate
- Implemented FFT pitch detection over a Hamming-windowed, 8192-bin spectrum with parabolic peak interpolation, resolving fundamental frequency below the native bin spacing without increasing FFT size
- Implemented time-domain autocorrelation detection with lag bounds restricted to 55-2000 Hz and a correlation-peak prominence threshold, preventing false locks on higher harmonics
- Built the latency and residual-error measurement and reporting tooling behind the comparison, measuring a 2.68x speedup for FFT (0.22 ms per frame versus 0.59 ms) with roughly a third of the variance
- Characterized tracking limits with a continuous chirp sweep, showing autocorrelation collapsing past the 1500 Hz passband edge while FFT tracked into the filter transition band before both failed in the 2 kHz stopband
- Retuned tracked pitch to the nearest 12-tone equal temperament note with exponential smoothing to prevent note flutter, then resampled, Hann-windowed, and normalized each frame for live playback
- Owned the 3-person team's Git repository and integration workflow