Forums

Pitch Estimation using spectral Autocorrelation method.

Started by Unknown March 12, 2014
please help me to find pitch of a speech signal using spectral autocorrelation method.

Thank You

Regards
Girish Babu S
Le mercredi 12 mars 2014 06:11:52 UTC-4, girishb...@gmail.com a �crit�:
> please help me to find pitch of a speech signal using spectral autocorrelation method. > > > > Thank You > > > > Regards > > Girish Babu S
http://lmgtfy.com/?q=pitch+detection+using+autocorrelation#
On Wednesday, March 12, 2014 3:41:52 PM UTC+5:30, girishb...@gmail.com wrote:
> please help me to find pitch of a speech signal using AMDF method. If u have matlab code please post here. > > > > Thank You > > > > Regards > > Girish Babu S
On Wednesday, 12 March 2014 03:11:52 UTC-7, girishb...@gmail.com  wrote:
> please help me to find pitch of a speech signal using spectral autocorrelation method. > > > > Thank You > > > > Regards > > Girish Babu S
1. Do a DFT on your signal 2. Multiply the real parts by the conjugate 3. Take the absolute of the result and perform an inverse transformation 4. Perform peak finding 5. Extrapolate your estimated frequency via the Nyquist of your sampling rate -- Audio Poison
On 4/15/14 10:43 AM, info@audiopoison.com wrote:
> On Wednesday, 12 March 2014 03:11:52 UTC-7, girishb...@gmail.com wrote: >> please help me to find pitch of a speech signal using spectral autocorrelation method. >> >> > > > 1. Do a DFT on your signal > 2. Multiply the real parts by the conjugate > 3. Take the absolute of the result and perform an inverse transformation > 4. Perform peak finding
and you also have to decide between many peaks that you found. at this point, you should know something about scale here. computing autocorrelation by this method implies a rectangular window on the data that also gets offset by the lag. so the window is smaller, so even if you had a perfectly periodic function, there is a maximum value "envelope" (decreasing with lag) that the normalized autocorrelation can reach. that has to be used to pick the correct peak. and there's even more to it (to avoid the "octave problem").
> 5. Extrapolate your estimated frequency via the Nyquist of your sampling rate
interpolate, i think. so how would you do that? -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
On Tue, 25 Mar 2014 23:14:08 -0700 (PDT),
girishbabu2490@gmail.com wrote:

>On Wednesday, March 12, 2014 3:41:52 PM UTC+5:30, girishb...@gmail.com wrote: >> please help me to find pitch of a speech signal using AMDF method. If u have matlab code please post here.
Another approach you might consider is to skip the autocorrelation and just find the N strongest peaks in the spectrum, assume they are harmonically related, and find their greatest common factor. That will help you resolve the missing fundamental problem. It will also help with interpolation to find that fundamental, since the upper peaks will add resolution. (The spectral bin width is a smaller percentage of a high frequency, so you have a better resolution when scaled back down to the fundamental.) You can also use the relative amplitudes of adjacent spectral lines to interpolate to the single frequency that is assumed to be causing both of them, but this doesn't work too well near DC. Of course, with speech you'll also need to make a voiced/unvoiced determination. Best regards, Bob Masta DAQARTA v7.50 Data AcQuisition And Real-Time Analysis www.daqarta.com Scope, Spectrum, Spectrogram, Sound Level Meter Frequency Counter, Pitch Track, Pitch-to-MIDI FREE Signal Generator, DaqMusiq generator Science with your sound card!
On Wed, 16 Apr 2014 12:22:44 GMT, N0Spam@daqarta.com (Bob Masta)
wrote:

>On Tue, 25 Mar 2014 23:14:08 -0700 (PDT), >girishbabu2490@gmail.com wrote: > >>On Wednesday, March 12, 2014 3:41:52 PM UTC+5:30, girishb...@gmail.com wrote: >>> please help me to find pitch of a speech signal using AMDF method. If u have matlab code please post here. > >Another approach you might consider is to skip the >autocorrelation and just find the N strongest peaks in the >spectrum, assume they are harmonically related, and find >their greatest common factor. That will help you resolve >the missing fundamental problem. It will also help with >interpolation to find that fundamental, since the upper >peaks will add resolution. (The spectral bin width is a >smaller percentage of a high frequency, so you have a better >resolution when scaled back down to the fundamental.) > >You can also use the relative amplitudes of adjacent >spectral lines to interpolate to the single frequency that >is assumed to be causing both of them, but this doesn't work >too well near DC. >
For several years I had an iPhone app I developed to estimate the pitch of internal combustion engines, to determine the RPM. It was very marginal and got terrible reviews. I was using just the approach you suggested - taking an FFT and looking for peaks and trying to sort them out by their greatest common factor. I even did the interpolation you mentioned to refine the peaks. Then, a year ago, I updated the app to use the autocorrelation function instead of the simple FFT. The app because much more reliable and got better reviews. I am a strong believer in the effectiveness of autocorrelation over a simple FFT for pitch estimation when the underlying source is truly periodic. I would not make any such claim for applications to unvoiced sounds, though. Robert Scott Hopkins, MN