F0 Praat



Scripts and batch processes are a handy way of saving time while performing repetitive operations. In this page we share some of the Praat scripts we use in our Lab.

Before we illustrate how to measure pitch in Praat, let’s discuss what the pitch is and what it used for. Pitch is a term used to refer to variations in fundamental frequency (F0), which serves as an important acoustic cue for tone, lexical stress, and intonation. PRAAT can be used on different operating systems (see PRAAT website for more information), but this tutorial is based on MacOS Sierra (10.12.3). PRAAT is a very flexible tool to do acoustic analysis.

All the scripts include instructions (either at the begining of the file or in the first form of the script).

To download the Praat script, right-click on the link to the script and select 'Save link as...'.

The f0 trimming and time-normalization algorithms, which are part of the core of the script, were developed in my PhD research (Xu 1993), which were then implemented in a C program working in conjunction with xwaves, which, like Praat, generates automatic vocal cycle markings and saves most of the human labor in marking the cycles manually as done in my dissertation. What Praat calls 'pitch' is f0. These are not the same; pitch is a psychoacoustic phenomenon, f0 is a property of periodic signals. Creaky voice is often perceived as low in pitch, but it has no periodicity at all. Praat's f0 estimates are based on autocorrelation. The thing labeled 'pitch' is actually fundamental frequency (F0), so what Praat displays is an approximation of the rate at which the vocal folds vibrate in producing a certain sound.

If you don't find the script you are looking for, you can write us and maybe we have one that suits you and it is not uploaded. If the script does not exist yet, we can script it for you.

Foprty thieves

Praat scripts

eti_ToBI: An automatic transcriber for Spanish and Catalan intonation using the Sp_ToBI and Cat_ToBI conventions.

create_pictures v.4.4: This script creates and saves pictures (PNG, PDF, wmf, eps, PraatPic) of all the sound files it finds in a folder. The pictures contain a waveform, a spectrogram, an optional F0 track and opcionally the content of the tiers of the TextGrid associated to the sound file.

Mandarin_Chinese_tones_transcriber: This is a first beta. Needs a wav sound and a textgrid with intervals. It can serve as a helper for transcription but its performance is far from perfect.

Editing, manipulation and sound segmenters

edit_sound_files: This script runs through all the files in a folder and allows you to convert the stereo sounds into mono, resample the files, normalize intensity and remove noise. Beware! It removes noise everytime you use it, your sound can become metallic.

modifies_duration: Modifies duration of a selected Sound neutralizes_pitch: Manipulates pitch in order to be a constante value of X Hertzs.

Foprtn

extract_and_save_intervals: This script extracts and saves intervals in an independent sound file, the new files will have the same name/label as the intervals.

TextGrid annotation and modification for all the files in a folder

blank_TextGrid_creation: Creates TextGrids for all the Sounds in a folder.

created_TextGrid_modification: Opens a created TextGrid with its related sound, gives you time to correct it and saves the TextGrid with the modifications.

segmentation_helper: This script goes through all the wavs in a folder and annotates them (sound by sound in IPA). It needs the ortographic transcription of the wav content. It will write the same label (sentence) in the TextGrid for all the wavs in the folder. If you want to annotate a corpus that has a different content depending on the file name, check Mietta Lennes scripts, SPASS or EasyAlign.

Finding F0 Praat

remove_tiers: This script runs through all the Textgrids in a folder and removes the number of tiers you select and those below it

add_tiers: It adds new interval or point tiers for all the TextGrids in a folder.

Data analysis

point_label_extraction: Works for all the files in a folder. Writes in a txt every point label and it writes its correspondent interval. In order to run it needs a TextGrid with ar least 1 interval tier and 1 point tier.

Get F0 Praat Script

Script

extracts_f0_from_points: Works for all the files in a folder. Writes in a txt point labels, time of point and F0 on point. Needs a .wav and textgrid with at least 1 point tier. The output is a tab separated file.

extracts_f0_from_points_and_corresponding_label_in_interval_tier: Works for all the files in a folder. Writes in a txt point labels, time of point, F0 on point and label in a matching interval tier. Needs a .wav and textgrid with at least 1 point tier and 1 interval tier. The output is a tab separated file.

extracts_vowel_data: Works for all the files in a folder. Extracts F0, F1, F2, F3, F4, duration and intensity for all intervals that have a label with a vowel symbol.

prosodic_data_extraction.praat v. 2.2: This script can get duration, intensity and 3 F0 (Hz and st) values for each non-empty interval it finds in the tier. It can also extract the corresponding labels for . Then it saves the values in a tab-separated txt, which you can easily open with Excel.

zero-crossings-and-spectral-moments: Script created for analysing fricatives. This script goes through all the files in a folder and gets (for non-empty-intervals or intervals that match a label) zero-crossings and spectral moments.

ltas_data: Writes Ltas values from all files in a folder in a txt that can be opened with Excel.

Foprty thieves

save_perception_results: This script extracts the results of all the perception test that are in the objects list, then sorts them by stimulus and saves a txt file with the name you indicate.

Other tools

list_files: Writes a list with all *wav or/and *TextGrid that finds in a folder.

Utilities for Amper members

segmentador.praat: Automatic segmenter for the Amper's project fixed corpus. It identifies sentences out of a large .wav sound and extracts it sentence with its corresponding code. In order to use it, you need to have a txt with the codes in the order that you have recorded them.

copy_Amper_folder_without_expansion_files.praat: This script copies all the files belonging to the sentences without expansions from the 'permanent' Amper corpus.

Foprty Thieves

Amper_txt_Hz_to_St.R: This script goes through all the Amper files in a folder and converts the F0 in Hertz data in St data.