Thanks David...
Maybe is the time to move Sandra's formant tracking to the main repository. You could be doing things that are already done. So it is better to show you the code. I just joined all the related clam-draft folders in a single one so it can be moved to a public repository.
So, Xavi, Pau, where an how do i move it.

I'd be glad to see it and possibly save myself some work...

I can't help you so much. I just ported the LPC to ports based behaviour and i don't have much more insight on the algorithm than what you are explaining. Sandra code has a class named PolynomialRootsFinder. In the LPC there is an algorithm called Levinson Durbin which also computes roots but i am not sure is that what you are looking for.

From what I understand, the Levinson-Durbin is a preceding step. Let me explain it b/c I think it helps me understand it better and also b/c maybe someone will catch me if I'm making a mistake...
The general procedure is
windowing->autocorrelation coefficients->LPC coefficients->formants. The Levinson-Durbin recursion is the step that goes from the autocorrelation coefficients to LPC coefficients. For a linear prediction order of p, you use the previous p samples in a linear model to predict the p+1 sample. The p coefficients of this linear model are the LPC coefficients. To get these, you do the Levinson-Durbin algorithm which uses the auto correlation coefficients to recursively solve the LPC coefficients from 1 (first order filter) to p (pth order filter). To get the formants, you have to solve the linear model of the LPC coefficients, which I think is just finding the roots of a polynomial or the poles of the filter. The LPC coefficients are real valued, but the roots are complex. The arg/angle of the root/pole is the formant frequency and the magnitude is the formant bandwidth.

I've read up on it the first week of the SoC, so I think I understand it, but if I'm mistaken or missing something let me know.
Matrix code could be considered deprecated as it is almost not used, not tested and FOSS software libraries around can do linear algebra faster.


Are there any particular libraries that I should look at?

Thanks,
Abe
begin:vcard
fn:Abe Kazemzadeh
n:Kazemzadeh;Abe
org:University of Southern California;Computer Science
email;internet:[EMAIL PROTECTED]
title:PhD Student
tel;work:213-740-3477
x-mozilla-html:FALSE
url:http://www-scf.usc.edu/~kazemzad
version:2.1
end:vcard

_______________________________________________
Clam-devel mailing list
Clam-devel@llistes.projectes.lafarga.org
https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel

Reply via email to