[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New pitch estimator



Dear members of the list,

I want to share with you a new pitch estimation algorithm that I have
created as part of my PhD dissertation. The algorithm is similar to
autocorrelation, in the sense that it performs an integral transform of
the spectrum using a cosine as kernel (recall the Wiener-Khinchin
Theorem). However, instead of using the square of the magnitude of
spectrum, it uses its square root. Also, it introduces some modifications
to the cosine kernel to avoid some of the problems of autocorrelation.
First, it zeroes the first quarter of the first cycle of the cosine to
avoid the maximum that autocorrelation has at zero lag. Second, it
multiplies the kernel by an envelope that decays as 1/f  to avoid the
periodicity of the autocorrelation function for periodic signals. Third,
it normalizes the kernel and uses a pitch-dependant window size to make
the width of the main spectral lobes match the width of the positive
cosine lobes. This last step is done to avoid the tendency that
autocorrelation has to give higher values to periodic signals with high F0
than to periodic signals with low F0 (why?). It can be shown that the type
of signals that maximizes the inner product between the spectrum and the
kernel are periodic signals whose spectral envelope decay as 1/f (e.g.,
sawtooth waveforms). A substantial improvement on the algorithm is
achieved by analyzing the spectrum only at its first and prime harmonics.
This is performed by removing from the kernel the non-prime peaks
(positive cosine lobes) and their neighboring valleys (negative cosine
lobes).

The algorithm was tested using three speech databases and one musical
instrument database. It outperformed other well known algorithms like YIN,
TEMPO, SHS, and several variations of autocorrelation that are found in
programs like Praat, Speech Filing System, and Festival.

The dissertation is available at
http://www.cise.ufl.edu/~acamacho/publications/dissertation.pdf. A Matlab
implementation of the algorithm is available in one of the appendices.

Thanks,

Arturo

-- 
__________________________________________________

Arturo Camacho, PhD
Computer and Information Science and Engineering
University of Florida

E-mail: acamacho@xxxxxxxxxxxx
Web page: www.cise.ufl.edu/~acamacho
__________________________________________________