Whether you’re a linguist studying vowel spaces or a paranormal investigator trying to determine if that EVP recording contains actual speech formants, Praat formant analysis gives you the tools to measure what your ears alone can’t. Praat is free, powerful, and widely used across any field where acoustic analysis of human (or seemingly human) voice matters, including the documentation side of ghost hunting.
At Haunt Gears, we spend a lot of time testing and reviewing the hardware that captures audio in the field. But capturing a recording is only half the job. Analyzing that audio with precision is where real evidence either holds up or falls apart. Praat’s formant tracking, specifically its Burg LPC method, lets you extract F1 and F2 values from speech segments and put hard numbers behind what you’re hearing.
This guide walks you through the full process: setting up Praat for formant extraction, measuring F1/F2 manually, understanding what the Burg method actually does under the hood, and writing scripts to automate the whole workflow. No prior experience with Praat is required, just a recording and a reason to look closer.
What you need before you start
Before you open Praat and start running formant analysis, taking five minutes to check your setup will save you hours of troubleshooting later. The Burg LPC method is sensitive to sampling rate, file format, and how your audio was recorded in the first place. Getting these basics right before you touch a single setting means your F1 and F2 values will actually reflect real acoustic information rather than artifacts from a bad file or a misconfigured environment.
Software and system requirements
Praat is free and runs on Windows, macOS, and Linux. You download it directly from the official Praat website maintained by Paul Boersma and David Weenink at the University of Amsterdam. There is no installer on most platforms; you simply run the executable file. Praat version 6.0 or later is recommended for this guide because earlier versions handle the Burg algorithm differently, and some script commands referenced in later steps may not exist in older builds. You can check your version by opening Praat and clicking Praat > About Praat in the top menu bar.
Your system does not need to be powerful. Any modern computer with at least 4 GB of RAM and a standard sound card will handle the analysis load without issue. If you plan to run automated Praat scripts across large batches of recordings, additional RAM helps avoid slowdowns. For single-file manual work, the hardware requirements are minimal.
Audio files that will actually work
Not every audio file is ready for praat formant analysis straight out of your recorder or field kit. The format and recording quality of your audio directly shapes how clean and reliable your formant tracks appear in the editor.
Poor audio quality is the most common reason formant tracks look erratic, not a misconfigured Burg setting.
Your audio file should meet these requirements before you load it into Praat:
| Requirement | Recommended value | Why it matters |
|---|---|---|
| File format | WAV (PCM) | Praat reads WAV natively without conversion artifacts |
| Sampling rate | 16,000 Hz minimum, 44,100 Hz ideal | Lower rates cut off frequency information needed for accurate LPC pole estimation |
| Bit depth | 16-bit or 24-bit | Compressed 8-bit audio introduces noise that corrupts formant tracking |
| Channel count | Mono | Stereo files need conversion before Praat can extract formants cleanly |
| Recording environment | Low background noise | Overlapping noise frequencies interfere with the Burg method’s spectral modeling |
If your file is stereo or in MP3 or M4A format, convert it first. Audacity, a free open-source audio editor, lets you export a mono 44,100 Hz WAV file in under a minute by going to File > Export > Export as WAV after setting the track to mono in the Tracks menu.
What to know about Praat’s interface before you dive in
Praat opens two windows simultaneously: the Objects window, where you load and manage audio files, and the Picture window, where graphs render. Almost everything in this guide takes place in the Objects window and the SoundEditor that opens from it. You will not need the Picture window for formant extraction at any point in this workflow.

When you load a sound file, it appears as a Sound object in the Objects window. From there, you open the SoundEditor, configure your formant display settings, and either measure F1/F2 manually or trigger a script to pull measurements in bulk. Understanding this object-based structure from the start prevents confusion each time a later step tells you to "select your Sound object" before running a command.
Step 1. Prepare a clean vowel sample
The quality of your vowel sample sets the ceiling for everything your praat formant analysis can produce. If the segment you’re analyzing is too short, contains consonant transitions, or sits inside a noisy recording, the Burg LPC algorithm will have trouble finding stable poles, and your F1/F2 tracks will bounce around in ways that don’t reflect real formant structure. Getting a clean sample up front is the single best thing you can do before touching any analysis settings.
Choose the right vowel segment
Not every part of a vowel is equally useful for formant measurement. You want the steady-state portion, which is the middle section of the vowel where pitch and spectral shape hold relatively stable, not the transitions where the tongue is still moving from a preceding or following consonant.
For measuring F1 and F2 in conversational speech, aim for a window of 20 to 50 milliseconds pulled from the center of the vowel.
A monophthong like the "ah" in "father" is far easier to work with than a diphthong like the "i" in "ride," which has formant movement built in by design. If you’re working with EVP recordings or field audio, look for the clearest, most sustained vowel-like segment in the signal. Load your WAV file into Praat by going to Open > Read from file in the Objects window, select the resulting Sound object, and click View & Edit to open the waveform and spectrogram in the SoundEditor.
Trim and isolate the target segment
Once you have the SoundEditor open, zoom into the target vowel using the magnifier controls or by clicking and dragging a selection directly on the waveform. You are looking for a section where the waveform shows regular, repeating cycles, which signals voicing, and where the spectrogram shows formant bands that run relatively horizontal rather than swooping up or down.
Select that steady-state region by clicking and dragging across it in the waveform display. Then go to File > Extract selected sound (preserve times) to pull it into the Objects window as a separate Sound object. Working from this isolated clip, rather than the full recording, keeps your formant settings tuned to the specific frequency range and duration of the segment you actually care about.
Step 2. Set up the editor view for formants
The SoundEditor in Praat does not show formant tracks by default. Before you can run praat formant analysis on your isolated vowel clip, you need to activate the formant display layer and configure the view so that the tracks you see correspond to the frequency range where F1 and F2 actually live. Getting this right takes under two minutes, and it makes the difference between reading real formant structure and chasing visual noise.
Turn on the formant display
With your isolated Sound object selected in the Objects window, click View & Edit to open the SoundEditor. Once the editor loads, go to the top menu bar inside that window and click Formant, then select Show formants. A set of red dots will appear overlaid on the spectrogram. These dots are Praat’s formant track estimates, and each dot represents a tracked spectral peak at a specific point in time.
If the red dots appear scattered or jump erratically across the display, do not adjust settings yet. That behavior is expected before you configure the Burg LPC parameters in the next step.
You can also toggle the formant display on and off by pressing Shift+F5 inside the SoundEditor. This shortcut is useful when you want to compare the raw spectrogram against the formant overlay without navigating through menus each time.
Adjust the spectrogram view range
The default spectrogram in Praat runs from 0 to 5,000 Hz, which covers the range where F1 and F2 typically sit for most adult vowels. F1 for English vowels generally falls between 250 and 900 Hz, and F2 falls between 700 and 2,500 Hz, so the default view keeps both formants in frame without requiring changes for most standard recordings.
Working with high-pitched voices or child speech may require you to extend the upper frequency limit. Go to Spectrogram settings in the View menu inside the SoundEditor and set the maximum frequency to 8,000 Hz. This wider view prevents upper formants from disappearing off the top of the display when the fundamental frequency is elevated. For typical adult speech captured in field recordings, the 5,000 Hz default works well and keeps the display uncluttered.
Step 3. Configure Burg LPC formant settings
The Burg LPC settings in Praat directly control how the algorithm models your speech signal and where it looks for spectral peaks. Getting these numbers wrong produces formant tracks that look plausible but reflect the algorithm’s assumptions rather than the actual acoustics of your recording. Open the settings panel by clicking Formant > Formant settings inside the SoundEditor window.
Set the number of formants and maximum formant frequency
These two parameters work together, and mismatching them is the most common configuration mistake in praat formant analysis. The maximum formant frequency tells Praat the upper boundary of the frequency range it should model, and the number of formants tells it how many spectral peaks to track within that range.

Setting the maximum formant frequency too high for the speaker type forces Praat to stretch its model across more spectrum than the signal contains, which pushes formant tracks into meaningless territory.
Use the values in the table below as your starting point based on speaker type:
| Speaker type | Max formant frequency | Number of formants |
|---|---|---|
| Adult male | 5,000 Hz | 5 |
| Adult female | 5,500 Hz | 5 |
| Child (under 12) | 8,000 Hz | 5 |
| Unknown or EVP audio | 5,500 Hz | 5 |
Type your chosen values into the Maximum formant (Hz) and Number of formants fields in the Formant settings dialog, then click OK.
Adjust the window length and pre-emphasis settings
Window length controls how much of the signal Praat analyzes at each time step. The default value is 0.025 seconds (25 milliseconds), which works well for most sustained vowel segments in adult speech. Shortening the window to around 0.015 seconds gives you finer time resolution but reduces spectral precision. Lengthening it to 0.030 seconds smooths the formant tracks but blurs rapid transitions. For steady-state vowel measurement, keep the default.
The pre-emphasis setting, which defaults to 50 Hz, applies a high-frequency boost before the LPC model runs. Leave this at 50 Hz for standard recordings. You only need to adjust it downward if you are working with audio that has already had significant low-frequency roll-off applied during capture, which is rare in typical field recordings or controlled lab conditions.
Step 4. Measure F1 and F2 manually the right way
Manual measurement in praat formant analysis gives you control that automated extraction cannot always match, especially when the formant tracks show minor instability or when your segment is short. The process comes down to clicking at the right moment in the vowel and reading the values Praat reports at that precise time point. Done correctly, you can pull reliable F1 and F2 measurements in under thirty seconds per vowel.
Click the right moment in the steady-state region
Inside the SoundEditor, zoom into your isolated vowel using the waveform display so you can clearly see the steady-state portion you identified in Step 1. Position your cursor over the spectrogram rather than the waveform panel for better precision. Click once at the center of the steady-state region where the red formant dots run in the most horizontal, stable line you can find.

Clicking at a point where the red dots dip, spike, or disappear will give you formant values that reflect a transition rather than the vowel itself.
After you click, Praat places a vertical cursor line at that time point. The formant values at that cursor position appear in the status bar at the bottom of the SoundEditor window. Look for the row labeled F1 and F2. If the status bar is not visible, go to View > Show formant values in the SoundEditor menu to enable it.
Read and record the formant values
Praat reports F1 and F2 in hertz (Hz) directly in the status bar alongside the cursor time position. Write down both values along with the time stamp and the vowel label so you can trace measurements back to their source later. A simple spreadsheet with four columns covers everything you need for a clean measurement log:
| Column | What to record |
|---|---|
| Token ID | Unique label for the word or utterance |
| Vowel | Phonetic label (e.g., /ae/, /i/, /u/) |
| F1 (Hz) | Value from Praat status bar |
| F2 (Hz) | Value from Praat status bar |
Repeat the process across three nearby cursor positions within the same steady-state window and average the three readings. This three-point average removes the influence of any single noisy estimate and gives you a more stable formant value for that token.
Step 5. Automate measurements with TextGrids and scripts
Manual measurement works well for small datasets, but if you’re working through dozens of tokens or a long EVP recording, clicking one cursor position at a time is not practical. TextGrids combined with a Praat script let you label every vowel segment once and then extract all your F1 and F2 values in a single run, writing everything to a tab-separated file you can open directly in a spreadsheet.
Create a TextGrid aligned to your sound
A TextGrid is a time-aligned annotation file that pairs directly with your WAV in Praat. To create one, select your Sound object in the Objects window, then go to Annotate > To TextGrid and give your tier a name like "vowels." Once the TextGrid appears in the Objects window, select both the Sound and the TextGrid together, then click View & Edit. This opens the SoundEditor with an annotation tier running below the spectrogram.
Draw interval boundaries around each steady-state vowel region by pressing Enter at the start and end of each target segment. Type a phonetic label inside each interval, for example "ae" or "u," so your script knows which intervals to process. Save the TextGrid using File > Save as text file, keeping it in the same folder as your WAV file.
Run a Praat script to extract formants in bulk
With your TextGrid labeled, the next step is running a script that loops through every labeled interval, measures F1 and F2 at the midpoint of each segment, and writes the results to an output file. Open the Praat script editor by going to Praat > New Praat script in the Objects window.
The script measures formants at the exact midpoint of each labeled interval, which matches the manual three-point averaging logic from Step 4.
Paste the script below, update the file paths to match your system, then press Run:
sound = Read from file: "/path/to/your/audio.wav"
tg = Read from file: "/path/to/your/textgrid.TextGrid"
selectObject: sound
To Formant (burg): 0, 5, 5500, 0.025, 50
output$ = "/path/to/output.txt"
writeFileLine: output$, "interval" + tab$ + "label" + tab$ + "F1" + tab$ + "F2"
n = Get number of intervals: tg, 1
for i to n
label$ = Get label of interval: tg, 1, i
if label$ <> ""
t1 = Get start time of interval: tg, 1, i
t2 = Get end time of interval: tg, 1, i
mid = (t1 + t2) / 2
selectObject: sound
f1 = Get value at time: 1, mid, "Hertz", "Linear"
f2 = Get value at time: 2, mid, "Hertz", "Linear"
appendFileLine: output$, i + tab$ + label$ + tab$ + f1 + tab$ + f2
endif
endfor
This praat formant analysis script outputs one row per labeled interval. Import the resulting text file into Google Sheets or Excel as a tab-delimited file to get a clean measurement table ready for plotting or statistical comparison.
Step 6. Validate results and fix common errors
Even with clean audio and correct settings, your praat formant analysis results need a sanity check before you treat them as reliable measurements. Formant tracking errors are common, and many of them look convincing at first glance. Running a quick validation pass catches the problems that would otherwise corrupt your dataset without any obvious warning sign.
Check your F1 and F2 values against known ranges
Your first validation step is comparing your extracted values against established formant ranges for English vowels. If a measurement falls far outside the expected range for the vowel you labeled, the tracker almost certainly landed on the wrong spectral peak rather than the true formant.
F1 values above 1,000 Hz or F2 values above 3,000 Hz for adult speakers are strong signals that something went wrong in the tracking step.
Use this reference table to spot outliers in your output file before doing any further analysis:
| Vowel (IPA) | Typical F1 range (Hz) | Typical F2 range (Hz) |
|---|---|---|
| /i/ (as in "see") | 250-400 | 2,200-2,800 |
| /ae/ (as in "cat") | 600-900 | 1,500-2,100 |
| /u/ (as in "boot") | 250-450 | 700-1,200 |
| /ɑ/ (as in "father") | 650-900 | 1,000-1,500 |
Any row in your output file where F1 or F2 sits outside the expected range for its labeled vowel warrants a manual check in the SoundEditor before you include it in any analysis.
Fix the three most common tracking problems
Formant jumps or sudden spikes in the red dot overlay almost always point to one of three causes: the maximum formant frequency is set too high for the speaker type, the window length is too short for the pitch period of the voice, or the segment you labeled includes a consonant transition. Go back to the Formant settings dialog and lower the maximum formant frequency by 500 Hz, then re-examine the track.
If your F1 and F2 tracks look smooth but your values still seem off, check that your Formant object in the Objects window was created from the correct Sound object. Running the Burg algorithm on a stereo or unconverted file is a silent error that produces plausible-looking but meaningless measurements. Re-read from a clean mono WAV and rerun the analysis to confirm your numbers hold.

Wrap it up and keep your workflow consistent
You now have everything you need to run a complete praat formant analysis from raw audio to a clean, validated F1/F2 dataset. The Burg LPC method rewards consistency, so build a habit of using the same maximum formant frequency, window length, and pre-emphasis settings across every session you run. Document your settings in a plain text file alongside your output data so future-you can reproduce any result without guessing what configuration produced it.
Validating each batch against known vowel ranges takes less than five minutes and prevents bad measurements from reaching any downstream analysis. Keep your TextGrid labels standardized, store your WAV files as mono 44,100 Hz from the start, and run the extraction script the same way each time. If you capture audio in the field and want reliable hardware to back up your acoustic work, check out the paranormal investigation equipment at Haunt Gears to find tools built for serious documentation.

