Source-filter synthesis 2. Filtering a source

Once you have a glottal source signal, you are ready to create a filter that represents the resonances of the vocal tract, as a function of time. In other words, you create a FormantGrid object.

For a vowel spoken by an average (i.e. adult female) human voice, tradition assumes five formants in the range between 0 and 5500 hertz. This number comes from a computation of the formants of a straight tube, which has resonances at wavelengths of four tube lengths, four thirds of a tube length, four fifths, and so on. For a straight tube 16 centimetres long, the shortest wavelength is 64 cm, which, with a sound velocity of 352 m/s, means a resonance frequency of 352/0.64 = 550 hertz. The other resonances will be at 1650, 2750, 3850, and 4950 hertz.

You can create a FormantGrid object with Create FormantGrid... from the New menu (submenu Tiers):

Create FormantGrid: "filter", 0, 0.5, 10, 550, 1100, 60, 50

This creates a FormantGrid with 10 formants and a single frequency value for each formant: F1 is 550 Hz and the higher formants are spaced 1100 Hz apart, i.e., they are 1650, 2750, 3850, 4950, 6050, 7150, 8250, 9350, and 10450 hertz; the ten bandwidths start at 60 Hz and have a spacing of 50 Hz, i.e., they are 60, 110, 160, 210, 260, 310, 360, 410, 460, and 510 hertz.

You can then create formant contours with FormantGrid: Add formant point...:

Remove formant points between: 1, 0, 0.5
Add formant point: 1, 0.00, 100
Add formant point: 1, 0.05, 700
Remove formant points between: 2, 0, 0.5
Add formant point: 2, 0.00, 500
Add formant point: 2, 0.05, 1100

This example creates a spectral specification whose F1 rises from 100 to 700 hertz during the first 50 milliseconds (as for any obstruent), and whose F2 rises from 500 to 1100 hertz. The other eight formants keep their original values, as do the ten bandwidths. The resulting sound may be a [ba]-like formant transition.

To get the final acoustic result (the sound), you select the glottal source signal together with the FormantGrid and choose Sound & FormantGrid: Filter.

The resulting sound will have a fairly straight intensity contour. You can change this with the Formula command (Sound: Formula...), or by multiplying the source signal or the acoustic result with an Intensity or IntensityTier object.

Links to this page

© ppgb, April 21, 2014