Real-Time Domain Pitch Tracking Using Wavelets
Abstract
A pitch tracker based on the fast lifting wavelet transform (FLWT) is developed in Matlab
and C++. The algorithm is designed to function on vocal samples with a range of
90–1500 Hz. With under 25 ms latency, RMS error of under 2 cents (i.e. 1/50 of a semitone)
on sinusoidal signals through four octaves is achieved. The algorithm is shown to be robust
to noise (up to a SNR of 20–25 dB) and missing/weak fundamentals. Analysis is performed in the time domain using the FLWT. The Haar wavelet is used as the basis for the FLWT, which is shown to be mathematically equivalent to splitting a signal into low-pass and highpass components and down-sampling (generating approximations and details, respectively). Peak detection on successive wavelet approximations is used determine the pitch of vocals.