VowelTriangle

A Praat script to calculate the Vowel Space Area from labelled and unlabelled running speech [1].

Running the script interactively

When running the script, a form will appear with the following fields (English labels):

Buttons:

After the script starts, if the Record option has not been chosen, a window will open to select a sound file. If a tier number has been entered in the Vowel tier field, a window will open to select the TextGrid file corresponding to the audio file. If the is a TextGrid file with the same name as the audio file, with extension TextGrid, this file will be selected and used automatically. If the tiernumber given does not exist in this file, no label file is used.

After the vowel triangle has been plotted, a window will open to enter the file name and select the folder to save the plot. If cancel is chosen, the plot is not saved.

Running the script non-interactively

It is possible to run VowelTriangle.praat using a control list of audio and TextGrid files as the input§. To do this, enter file://<path to the control table> in the Title: field. The path can be relative to the VowelTriangle.praat script, or it can be an absolute path, starting with /, \, or <Drive letter>:\ (<Drive letter> one of C, D, ...). The control table should have the .tsv or .csv extension. If no file path is given, i.e., after entering just file://, a window will pop-up to ask you to select a control table.

• The control table should have tab (.tsv) or semicolon (.csv) separated columns labelled:

Title;Speaker;File;Language;Log;Plotfile

• An example of an entry line in the table would be a semicolon separated list:

F40L2VT2;F;IFAcorpus/chunks/F40L/F40L2VT1.aifc;NL;target/results.tsv;target/F40L2VT2.png

• All file paths in the control table are relative to the position of the control table, unless they start with /, \, ~, or <Drive letter>:.

All files are used AS IS, and nothing is drawn unless a Plotfile is entered.

Optionally, columns named VowelTier, Vowels, and LabelFile can be added containing the values for the use of existing segmentations. If the sound input has a wildcard (*), the labelfile input should have it too and result in a list of label files that has the same order as those of the corresponding sound files. If a tier number is entered for the phoneme tier, and no Label filename, it is assumed label files have the same name as the corresponding audio file, and the extension .TextGrid. If no vowel symbol list is given, the default SAMPA [3] list for the interface laguage is used (Pinyin for Chinese).

§Another way to run VowelTriangle.praat non-interactively is to enter the name of the list in the VowelTriangle.praat script in the line: input_file$= "<file path>" (search for input_file ). From then on, this version of the script will just run this single input file.

References

GitHub page: https://github.com/robvanson/VowelTriangle

[1] van Son, R.J.J.H., Middag, C., & Demuynck, K (2018). Vowel space as a tool to evaluate articulation problems, Proceedings of INTERSPEECH 2018, Hyderabad, India, 357-361

[2] Lammert AC, Narayanan SS. On Short-Time Estimation of Vocal Tract Length from Formant Frequencies. PLOS ONE. 2015 Jul 15;10(7):e0132193.

The vocal tract length (VTL) is calculated as: VTL = 100 · 352.95 / (4 · φ) cm. Note that a different formant tracking algorithm is used in Pseudonymize Speech than was used in [2] and the estimated φ values here are used only as scale factors. They should not be interpreted as corresponding to "real" VTL values.

[3] SAMPA. Charts for languages: https://www.phon.ucl.ac.uk/home/sampa/index.html


© Rob van Son, August 24, 2020