New functionality was
introduced in Praat 5.3.14 and is still under development.
Future versions will allow the direct creation of Vocal Tract Tiers from LPC objects
and LPC filtering of (source) sounds with sample-frequencies and durations that differ from those
of the LPC analysis. Be aware that this code has not been tested extensively, so there will be bugs.

Links to Real Time MRI and articulatory synthesis

Seeing Speech,
Collected Works on Real-Time Imaging of Speech Production by Erik Bresch, Department of Electrical Engineering,
University of Southern California

Examples of manipulations using Vocal Tract Area functions in praat

In Praat it is possible to calculate a vocal tract area function that is equivalent to a certain (vowel) sound.
The sound can then be resynthesized using the calculated vocal tract area function as a filter. The vocal tract area functions
can be manipulated and modified before resynthesis. In the list below, you find some example vocal tract area functions of
sustained /a/, /i/, and /y/, and the resynthesized sounds.

Take measured areas from MRI slices of the lips, and attach them to an existing Vocal Tract Area function. Start with the recordings
of /i/ and /y/ of the female speaker above. Areas for her lips were determined using an MRI image. Starting from the teeth (X=0) go
outward. Only every third slice was used. Slice thickness was 1.4064 mm and the area value is positioned at slice midpoint.
All values are recalculated to meters.

X

/i/ (m2)

/y/ (m2)

/a/ (m2)

0.0007032

0.00024051

0.00017821

0.00062801

0.0049224

0.000366

0.00012811

0.00043362

0.0091416

0.00035899

0.00008623

0.00037098

0.0133608

-

0.00001303

0.00039874

0.01758

-

-

0.00037381

Start with the original recorded vowels /i/ and
/y/ from the female voice. Convert them to
LPC -> VocalTract with order 30 and length 0.17 (/i/ VocalTract)
and order 32 and length 0.1756 (/y/ VocalTract). Replace
the last three sections in the original /i/ VocalTract
with the values from the table for /i/ and /y/, For the /y/ table values, adapt the number of sections of the resulting
VocalTract to 31 and length to 0.1756. The same is done for the last four sections of the original
/y/ VocalTract. But now the number of sections for
the /i/ table values is reduced to 31 and the length to 0.17. The two original and four new VocalTracts can then
be resynthesized like was done above.

From Vocal Tract area functions to speech

The following table explains how to get from a Vocal Tract to a synthetic sound. For synthesis, a "Source" sound is needed that
supplies the driver of the Vocal Tract filter. In normal speech, the source sound is produced by the glottal folds, or voice box.
You can generate a source as specified below. Note that the sample frequency of the source sound has to be equal to the number of
segments in the Vocal Tract in kHz. For instance, if you have 40 segments (tubes), you need a source sampled with 40kHz. Use the
Praat Resample... function to perform the resampling.
The length of the Vocal Tract Tier must be exactly the same as the
length of the Source sound. Below, we take a duration of 3 seconds in the presented examples. The audio example is 5 seconds long.

Here is
an example generated by
determining the vocal tract area function at a point in a
recorded /a/ and one at a corresponding point in
a recorded /i/ from the same speaker.
The voice source signal is entirely synthetic.

To test the synthesis, you can use the standard vocal tracts in Praat or create a Vocal Tract from recorded speech.
The standard phone Vocal Tracts can be created in Praat from
New->Articulatory synthesis->Create Vocal Tract from phone... .
To create a Vocal Tract from recorded speech, simply read in the recording and convert it to LPC with the
Formants & LPC -> LPC (autocorrelation)...
options. Enter the number of segments you want in your Vocal Tract as the prediction order.
Then use To VocalTract (slice)...
to generate the Vocal Tract object. Save it with
Save->Save as short text file... .
Note that there is a rather convoluted relationship between the LPC prediction order, the sample frequency, the recorded sound and the
quality of the resulting LPC model.

Vocal Tract tube models

The Vocal Tract area functions model the human vocal tract as a set of connected tubes with variable width. Determining the
tube, or segment, areas with LPC is not very reliable. Below are presented tube models as determined with LPC
(prediction order 40) and the "theoretical" models as given by Praat
New->Articulatory synthesis->Create Vocal Tract from phone....