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

Re: Robust method of fundamental frequency estimation.



Members of the list,

Several people have asked me for a copy of the poster John and I presented
at the ASA meeting. You can find it at
http://scitation.aip.org/confst/ASA/data/6/3pSP28.pdf. If you have any
problems with the fonts you can also try
http://www.cise.ufl.edu/~acamacho/publications/ASA2006PitchPoster.pdf.

Arturo

> Members of the list,
>
>
> I forgot to mention a seemingly insignificant detail in the description
> of CEP and AC, but it causes a huge problem to these algorithms. I should
> have described CEP as "Same as SHR but ADDS AN EXTRA PULSE AT ZERO and
> instead of pulses uses a cosine to transition from 1 to -1". This extra
> lobe at DC is what makes CEP and AC to have always a maximum at infinity
> (i.e. at a pitch period of zero).
>
>
> Arturo
>
>
>> Dear members,
>>
>>
>>
>> I just want to add two points to what Yi-Wen said:
>>
>>
>>
>>> Dear list,
>>>
>>>
>>>
>>>
>>> Just want to draw your attention to a good summary on various
>>> auto-correlation based pitch determination methods,
>>>
>>> Arturo Camacho and John G. Harris, "A biological inspired pitch
>>> determination algorithm", Fourth Joint Meeting of ASA and ASJ,
>>> Honolulu,
>>> Nov. 2006.
>>>
>>>
>>>
>>> Contact arturo@xxxxxxxxxxxx if interested.
>>>
>>>
>>>
>>> Best regards,
>>> Yi-Wen
>>>
>>>
>>
>> First, in that presentation we not only did a summary of pitch
>> estimation algorithms (PEA) but also pointed out some pitfalls they
>> have. Second, we did it not only for autocorrelation based algorithms,
>> but also for many other algorithms we considered to be ?classical?.
>> Although some of these
>> algorithms were initially proposed using a time-domain approach, all of
>> them can also be formulated using the spectrum of the signal, and that
>> is the approach we took. We expressed those algorithms as the selection
>> of the pitch candidate (PC) that maximizes an integral transform of a
>> function of the spectrum.
>>
>> Below  is a summary of our findings. For each algorithm, we give a
>> short DESCRIPTION, then the FUNCTION applied to the spectrum, the KERNEL
>> of the integral transform, and finally a PROBLEM of the algorithm.
>> Sometimes you
>> will find that the algorithm also have problems presented before or
>> problems that will be presented later. Notice that the order we present
>>  the algorithms is such that each subsequent algorithm does not exhibit
>>  the problem mentioned for the previous algorithm. A final note about
>> semantics, to make the writing short in the descriptions, when we say
>> spectrum we mean MAGNITUDE of the spectrum.
>>
>> HARMONIC PRODUCT SPECTRUM (HPS)
>> -------------------------------
>> DESCRIPTION: multiplies the spectrum at multiples of the PC, or
>> equivalently, adds the log of the spectrum at multiples of the PC.
>> FUNCTION: log
>> KERNEL: periodic sum of pulses
>> PROBLEM: If any harmonic of the pitch is missing, the log is minus
>> infinity and therefore the integral is also minus infinity.
>>
>> SUB-HARMONIC SUMMATION (SHS)
>> ----------------------------
>> DESCRIPTION: adds the spectrum at multiples of the PC.
>> FUNCTION: none
>> KERNEL: periodic sum of pulses
>> PROBLEM: Any subharmonic of the pitch has the same score as the pitch.
>>
>>
>>
>> SUB-HARMONIC SUMMATION with decay
>> ---------------------------------
>> DESCRIPTION: Same as SHS but uses a decaying factor to give less weight
>> to high order harmonics. FUNCTION: none KERNEL: decaying periodic sum of
>> pulses PROBLEM: The same score it produces for a pulse train at the
>> pitch is produced for white noise at each PC. Therefore, not only it
>> produces an infinite number of pitch estimates for white noise but also
>> they have the same strength as a pulse train.
>>
>> SUBHARMONIC-TO-HARMONIC RATIO (SHR)
>> -----------------------------------
>> DESCRIPTION: Same as SHS but subtracts the spectrum at the middle points
>>  between harmonics. Uses log spectrum, though. FUNCTION: log KERNEL:
>> periodic sum of positive pulses plus half-period-shifted sum of negative
>> pulses PROBLEM: Like all the algorithms presented above, it does not
>> work for inharmonic signals
>>
>> HARMONIC SIEVE (HS)
>> -------------------
>> DESCRIPTION: Same as SHS but instead of pulses it uses rectangles
>> FUNCTION: none
>> KERNEL: sum of rectangles
>> PROBLEM: weighting applied to spectrum is too sharp. A slight shift in a
>>  component may take it in or out of the rectangle, possibly changing
>> the estimated pitch drastically.
>>
>> CEPSTRUM (CEP)
>> -------------
>> DESCRIPTION: Same as SHR but instead of pulses uses a cosine to
>> transition from 1 to -1. FUNCTION: log KERNEL: cosine
>> PROBLEM: uses the log (see HPS)
>>
>>
>>
>> UNBIASED AUTOCORRELATION (UAC)
>> ------------------------------
>> DESCRIPTION: Same as CEP but squares the spectrum
>> FUNCTION: square
>> KERNEL: cosine
>> PROBLEM: If signal is periodic then UAC is also periodic. Therefore
>> there are infinite number of maximums. Taking the first local maximum
>> (excluding
>> maximum at zero) does not work either. Try a signal with first four
>> harmonics with magnitudes 1,6,1,1. At high enough levels its pitch
>> corresponds to the fundamental frequency, however, the first maximum in
>>  the UAC corresponds to the second harmonic.
>>
>> BIASED AUTOCORRELATION (BAC)
>> ------------------------------
>> DESCRIPTION: Same as UAC but a bias is applied such that a weight of one
>>  is applied to a period of 0 and decays linearly to zero for a period
>> T,
>> where T is the size of the window. FUNCTION: square KERNEL: cosine
>> PROBLEM: Like UAC, the squaring of the spectrum gives to much emphasis
>> to salient harmonics. This feature combined with the bias may cause
>> problems. For example, for the 1,6,1,1 signal, the bias can make the
>> score of the second harmonic higher than the score of the fundamental
>> (take for example
>> the fundamental period as T/4)
>>
>> END OF LIST
>> =========In ISCAS 2007 we will be presenting an algorithm that avoids
>> the problems presented here. It will be published in the proceedings of
>> the conference. From the order we presented here the algorithms it is
>> easy to infer what the algorithm looks like.
>>
>> Arturo
>>
>>
>>
>> --
>> __________________________________________________
>>
>>
>>
>> Arturo Camacho
>> PhD Student
>> Computer and Information Science and Engineering
>> University of Florida
>>
>>
>>
>> E-mail: acamacho@xxxxxxxxxxxx
>> Web page: www.cise.ufl.edu/~acamacho
>> __________________________________________________
>>
>>
>>
>>
>
>
> --
> __________________________________________________
>
>
> Arturo Camacho
> PhD Student
> Computer and Information Science and Engineering
> University of Florida
>
>
> E-mail: acamacho@xxxxxxxxxxxx
> Web page: www.cise.ufl.edu/~acamacho
> __________________________________________________
>
>
>


-- 
__________________________________________________

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

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