This post is about resonant frequencies of a tube, in the context of speech and the neutral vocal configuration. Two formulas are given: the first to calculate the resonant frequencies when the length is known, and second, to calculate the length when the frequency of a formant is known. Finally, there is a real-life example: a calculation of a speaker’s vocal tract length after measuring the formants in *schwa*.

The speech mechanism in vowels is described by a model that uses the physical properties of tubes. A tube is a simple apparatus that, if attached to a source of sound, can emit harmonic frequencies. When attached to a sound speaker at the end, the tube acts as a resonator that “has an infinite number of resonances, located at frequencies given by odd-quarter wavelength” (Kent and Read 14). The resonant frequencies of a tube closed at one end are calculated by using this formula (Johnson 96):

Where *n* is an integer, *L* is the length of the tube and *c* is the speed of sound (about 35,000 cm/sec).

This was very interesting to me, so I decided to experiment with the formula in R language. The purpose was to calculate average frequencies of a vocal tract in the neutral configuration (a position of vocal organs where a tube without obstacles is created from the larynx to the lips). So, the formula written above in R looks like this:

freq <- ((2*i-1)*35000)/(4*tract.len)

For a given speed of sound c=35000, the formant number *i* and the tract length, we can calculate estimated formant values. As an example, we can insert L = 17.5 cm in the formula, the average length of human tract16 from glottis to lips (15). In this case the first formant, or the first resonance frequency, occurs at 500 Hz, the second at 1500 Hz, the third at 2500 Hz, and so on. Here is the output form R code located here:

> Resonance(17.5) Tract length is 17.5 cm. formant 1: 500 Hz formant 2: 1500 Hz formant 3: 2500 Hz formant 4: 3500 Hz formant 5: 4500 Hz

Of course, we can reverse the calculation; by entering formant frequency and the order of the formant we can calculate an average length:

prep <- 35000*((formant/2)-0.25) length <- (prep/freq)

This is the result of *Length* function of the code:

> Length(1000, 1) Estimated tract length is 8.75 cm, where formant number 1 has value of 1000 Hz.

This length corresponds to vocal tract lengths measured in infants.

To make the calculations even more interesting, we can measure the frequency of the first formant of speakers, and then “calculate” the length lengths of the vocal tracts. Here is an example: we recorded a speaker and examined the sound data. Since *schwa* sound is pronounces in (approximately) the neutral configuration, we measured the formants where this sound (IPA: ə) was articulated. In this case, that was near the end of the word *abjured* /əbˈdʒʊəd/. The first three formant values in the sample female speaker were:

Time_s F1_Hz F2_Hz F3_Hz 4.633178 549.304326 1750.098455 2915.885791

If we enter 549.3 Hz in the second formula, we get:

> Length(549.304326,1) Estimated tract length is 15.92 cm, where formant number 1 has value of 549.3043 Hz.

This is, it seems, an acceptable value for this speaker.

*The measurements and image was obtained by using Praat, free phonetic software. Calculation and the code example were written in R programming language.*

## One reply on “Resonant frequencies and the vocal tract length”

[…] laptop running Praat allowed visitors to estimate the length of their vocal tract based on the frequency of their first formant when uttering schwa. Visitors then got to plot themselves on a graph of vocal tract lengths by age and sex (red = […]