OK - maybe a basic thing here.

I'm learning about formants/harmonics, and formant extraction.

One thing I was wondering if is if there is an expected decrease in amplitude of the subsequent harmonic overtones, unrelated (somewhat) to the formants/vocal tract.

It seems like you could estimate the fundamental F0 and its approximate "un-formanted" amplitude, then, coupled with the assumed (ideal) amplitude decrease of the harmonic overtones, "subtract" this signal from the original signal to get an approximation of what the formant structures look like.

This approach seems too basic/naive, so I might be missing something conceptually, but would appreciate any thoughts on this and perhaps why it wouldn't work.



Are you talking about something like this?

Diagram of formants and envelope

The blue line here is the Fourier transform of the signal, showing the harmonics, and the red line is the factor by which it differs from a plain sawtooth wave. The peaks in this red line are then the formants.

So yes, if that's the sort of thing you mean, this totally works! Mathematically, this tends to be done through LPC (linear predictive coding) rather than straight-up comparison of each harmonic, but the idea behind it is the same—see how much this spectrum differs from a standard sawtooth wave.

You might also hear this called "estimating the envelope" or "estimating the filter parameters"; in the "source-filter model" of phonetics, the human voice is modelled as a source producing a nice clean sawtooth wave (the vocal cords), and a filter modifying this wave in various ways (the vocal tract). Formants, then, come from the filter rather than the source.

  • yeah! ... but I was assuming there is an expected decrease in the amplitudes of the upper harmonics (or the ideal sawtooths) that you'd want to account for as well. I saw that LPC is used, but I'd need to port it to javascript (since that's what I'm using), and that's a bigger thing to tackle... and I was interested in the possibility of this approach in general. – user655489 Feb 26 '20 at 22:50
  • @user655489 Yep! A sawtooth wave's harmonics fall off as 1/n, nice and easy to calculate. And the LPC is surprisingly not that difficult, mathematically; if you have a library that can do correlation and matrix inversion, those are the hardest parts. The reason most people use pre-written libraries instead is for speed, because doing it the naïve way is quite slow. – Draconis Feb 26 '20 at 23:45
  • ahh - the amplitudes fall of at 1/n? thanks for all the info! – user655489 Feb 26 '20 at 23:48
  • @user655489 Yep, a sawtooth is 1/n with all harmonics included. (They're not all in phase, but phase doesn't matter here.) – Draconis Feb 26 '20 at 23:51

Simple models like sawtooth or triangle are reasonable first stabs at the glottal wave function, but aren't exactly right for human speech. You may (eventually) want to look at distinctive phonation types as exists in Dinka, Mazateco, Hmong etc., which are characterized by different kinds of source waves. A number of languages contrast modal, breathy and "creaky" voicing which, depending on the language, is realized as different downward slopes of the glottal wave (creaky has a shallower slope, breathy has a steeper slope -- depending on how you measure it). Breathy voicing, especially in Dinka, can present evidence for a somewhat different view of amplitude fall-off, where in breathy voice most of the energy is in the fundamental and much less is in the higher harmonics – the fundamental is essentially separate from the higher harmonics.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.