Reply by Robert Scott April 16, 20142014-04-16
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
Reply by Bob Masta April 16, 20142014-04-16
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!
Reply by robert bristow-johnson April 15, 20142014-04-15
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."
Reply by April 15, 20142014-04-15
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
Reply by March 26, 20142014-03-26
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
Reply by March 12, 20142014-03-12
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#
Reply by March 12, 20142014-03-12
please help me to find pitch of a speech signal using spectral autocorrelation method.

Thank You

Regards
Girish Babu S