Real-Time Domain Pitch Tracking Using Wavelets
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.