please help me to find pitch of a speech signal using spectral autocorrelation method. Thank You Regards Girish Babu S

# Pitch Estimation using spectral Autocorrelation method.

Started by ●March 12, 2014

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 Shttp://lmgtfy.com/?q=pitch+detection+using+autocorrelation#

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 ●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 S1. 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 ●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 findingand 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 rateinterpolate, i think. so how would you do that? -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."

Reply by ●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 ●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