DSPRelated.com
Forums

Vowel recognizer using FFTW

Started by acid...@inwind March 21, 2006
acid_burn@inwind wrote:
> Hi! I must build a vowel recognizer using the library FFTW: > analyzing a .wav file, I must retrieve the fundamental and the armonics, > then compare these with fundamental and armonics of other .wav files > previously archived to choose the vowel "most" closeness. > > i followed these steps: > - first, I load the samples from the .wav file into an array of > fftw_complex, using 0.0 as imaginary parts; > - then, perform a c2c DFT using FFTW_ESTIMATE as flag; the length of the > DFT is the number of samples (say NS) in the .wav file (in general, this > number ISN'T power of 2); > - last, i've got an array of fftw_complex; the length of the array is NS. > > now, I must retrieve the fundamental and the armonics from this array. > how can I interpretate the values of the array? i've read the manual of > FFTW, but the problem is still unresolved.
Sounds like you may want a quick and dirty approximation rather than the better techniques previously mentioned in this subject thread. Do you know how to convert complex data in magnitudes? Do you know how to find the local maxima and minima in an array? Do you know what frequency the second bin in your vector represents? (you may not want to answer that one :) Do you know any polynomial interpolation formulas? Do you know that the frequency with the most energy doesn't necessarily represent the fundamental pitch? -- rhn A.T nicholson d.0.t C-o-M
Richard Dobson wrote:
> Richard Owlett wrote: > >> >>> In any case, the database of vowel format frequencies is independent >>> of the spoken/sung pitch. >> >> >> Can you suggest a page that discusses that? >> > > The best I can find on a quick Google is: > > http://www2.sfu.ca/sonic-studio/handbook/Formant.html > > You need to look for publications by Johan Sundberg, he did the original > research on vocal formants, some time ago now. There is relatively > little of his material directly on the net, most is in books, journals. > If you Google on "formant" + "Sundberg", you should find most of > whatever is available. > > Richard Dobson > >
I added "pitch" to your suggested search and hit paydirt. None of them told me everything but with several starting points and their links I got a satisfying picture. I hadn't overtly/consciously/??? realized that the vocal cords were vibrating an octave below lowest formant. Logical in retrospect ;} Thanks
Hi!

>Do you know how to find the local maxima and minima in an array?
I've solved my problems reading "The Scientist and Engineer's Guide to Digital Signal Processing". Now, i've another problem: how to find the local maxima and minima in an array? after computed the DFT, i've extracted the spectra of the signal: now, how to find the first high peak (the fundamental) and the other high peaks (the armonics) from the array-output of the DFT? thanks in advance
Hi!

local maxima and minima in an array really means peak detection.

where can i find an algorithm to perform peak detection?

thanks in advance