Forums

pitch determination

Started by kobi...@yahoo.com January 9, 2008
hello all
i am working on speaker identification.I want to calculate the pitch of a speech signal.Can you help me is there any function available for pitch detection or dection of voiced & unvoiced part in a signal using MATLAB?
Do you mean you want the fundamental frequency of the speech?

There are many ways to go about this. A useful way is to take the short time FFT of your speech signal. Then you can find the linear prediction coefficients for this short time speech segment. By plotting the short time FFT with the linear prediction spectrum...you can have a nice "threshold" which will help you write a basic algorithm to find the local maxima...and the first one should be the pitch of your speech segment.

type "help lpc" at the matlab command prompt for more info.

hello all
>i am working on speaker identification.I want to calculate the pitch of a speech signal.Can you help me is there any function available for pitch detection or dection of voiced & unvoiced part in a signal using MATLAB?
Hi,
If the speech is clean, the following is a
reliable way of estimating pitch period.
Compute LP coefficients for a speech segment
of 20-30 ms and inverse filter the signal to
obtain LP residual (error signal).
Compute Hilbert envelope of LP residual.
h = abs(hilbert(r)); in MATLAB,
where r is LP residual.
Compute autocorrelation of 20-30 ms of
Hilbert envelope (h).
ac = xcorr(h);
Use one-sided autocorrelation sequence
and pick the strongest peak (excluding the
centre peak, of course).
The location of the strongest peak gives
you pitch period.
This works even if speech is a little noisy.
Bye
Guru

--- r...@gmail.com wrote:

> Do you mean you want the fundamental frequency of
> the speech?
>
> There are many ways to go about this. A useful way
> is to take the short time FFT of your speech signal.
> Then you can find the linear prediction
> coefficients for this short time speech segment. By
> plotting the short time FFT with the linear
> prediction spectrum...you can have a nice
> "threshold" which will help you write a basic
> algorithm to find the local maxima...and the first
> one should be the pitch of your speech segment.
>
> type "help lpc" at the matlab command prompt for
> more info.
>
> hello all
> >i am working on speaker identification.I want to
> calculate the pitch of a speech signal.Can you help
> me is there any function available for pitch
> detection or dection of voiced & unvoiced part in a
> signal using MATLAB?
> >
>