Find the resonances of a voice. Each frame of the recording is fitted with a linear predictor, a short all-pole filter that reproduces the frame’s spectral envelope, and the filter’s poles are read out as frequencies and bandwidths. That is how Praat measures formants, and the defaults here are Praat’s, so a figure read off this page lands where Praat’s does on the same file.
The tracks
Voiced frames are plotted as points, one track per formant, F1 brightest. Gaps are unvoiced frames, where no pitch was found and the fit describes noise rather than a vowel. A steady vowel draws five flat lines; speech draws the curves of the tongue moving between them.
The vowel chart
F2 across and F1 down, both on a log axis and F2 reversed, the way phoneticians draw it so that the chart matches the mouth: front vowels on the left, open vowels at the bottom. The grey symbols are the Peterson and Barney male averages from 1952, which are the usual landmarks; the ring is the file’s median. A recording of one held vowel lands as a cloud near its symbol, and a different speaker shifts the whole cloud.
Settings
Highest formant sets the band the fit looks at and the rate the file is resampled to, twice that frequency. It is the control to get right: a ceiling too low loses F5 into F4, one too high invents a formant between the real ones. Formants sets how many poles are fitted, two per formant. The window is 25 ms at Praat’s default, 15 for faster speech, 40 for a steadier reading on a sustained note.
The table
CSV or JSON, one row per 10 ms hop: time, f0, voicing strength, then frequency and bandwidth for each formant, with a 0 where none was found. Rows pool pairwise past 20,000, and the hop reported at the top of the file is the one that applies after pooling.
Limits
A high-pitched voice has harmonics spaced wider than the formants are, so the predictor sees peaks at harmonics and the fit scatters; Praat has the same trouble on children and sopranos. Two voices at once defeat it entirely. Breathy or whispered speech has formants but no pitch, so those frames are plotted as unvoiced even when the table has numbers for them.