DSPRelated.com
Forums

Formant Estimation

Started by Chuping Liu July 1, 2003
Hi,

I am looking for some good method to estimate the
fomants F1, F2. The method currently I am following is
by Schafer and Rabiner, 1970. I am wondering how about
the performance of such approach? And is there
somewhere I can download the source code in C or
Matlab? thanks a lot.

Tracy

=====
Laughter is an instant vacation.

--Milton Berle



hi Liu

i don't know which is the method that you have chosen from Rabiner &
Schafer, but anyway, here is what i think...

take a frame of input speech. use the Levinson Durbin recursive algorithm to
compute the alpha coefficients (coefficients of the short term predictor ie
STP). This algorithm is given in Rabiner & Schafer as well as in the book by
A. Kondoz.

now you have the transfer function of the STP. The inverse of this is the
transfer function of the short term "synthesis" filter. hence the frequency
response of this filter is same as the envelope of the "spectrum" of speech
under consideration. (we know that formants are defined as the peaks in the
speech spectrum's "envelope")

so if you can plot the freq response of the short term synthesis filter
using MATLAB, your problem is solved. the first two peaks in this response
are your formants f1 and f2. This way you can verify the results of your
implementation. however, if you are already using the L-Durbin algo, i guess
the results are fine anyway ;-)

all you need is a C or Matlab code for Levinson Durbin algorithm, which, i
think would be available on the internet.

there is one more way to cross check the result using "Cool Edit" or similar
tools : just select the appropriate section of the speech waveform, then
click on "Frequecy analysis". This will show you the spectrum from 0 to 4
KHz. the first two peaks in its envelope are the required formants.

hope that helps.
best regards,
Sameer. -----Original Message-----
From: Chuping Liu [mailto:]
Sent: Tuesday, July 01, 2003 11:53 PM
To:
Subject: [speechcoding] Formant Estimation Hi,

I am looking for some good method to estimate the
fomants F1, F2. The method currently I am following is
by Schafer and Rabiner, 1970. I am wondering how about
the performance of such approach? And is there
somewhere I can download the source code in C or
Matlab? thanks a lot.

Tracy

=====
Laughter is an instant vacation.

--Milton Berle