Resources

The following resources are provided free and without warranty. Some are GPLed, most of them come unlicenced.

Almost all Praat plugins and scripts listed here are based on the current Praat scripting syntax. To run them you need a current version of Praat (version 5.3.64 or newer).

Praat Scripts and Plugins

NCHLT Plugin

This plugin enables Praat to search in the orthographic transcriptions of the NCHLT Speech Corpus and open the audio files of corresponding search results.

The NCHLT Speech Corpus (National Centre for Human Language Technologies, Council for Scientific and Industrial Research, South Africa) contains orthographically transcribed broadband speech corpora for all of South Africa’s eleven official languages and must be available on your machine (at least one language) before using this plugin. The corpus can be obtained from South Africa’s Language Resource Management Agency website.

After launching this plugin, you select one of your installed languages and specify a search pattern (simple pattern or regular expression). XML parsing and search is done inside the Praat script (this is considerably slower but more robust than doing it with Python like before). You can view the results in a table (including orthographic transcription, speaker ID, age, gender, and location) and open corresponding audio files one after the other or specifically for certain items in the results list. It’s also possible now to refine the search results using filters (age, gender, and location).

Recquirements

  • Praat 5.4.x or newer
  • NCHLT Speech Corpus (at least one language)

Changelog

  • v0.3.1
    • detailed manual added
  • v0.3
    • Python no longer required
    • regular expression search
    • filtering of search results
  • v0.2
    • usability improvements and bug fixes
  • v0.1
    • initial release

Pitch settings

Editor script implementing Hirst’s (2011) two-pass approach to set pitch analysis parameters for Praat’s pitch algorithm.

Vowelchart

With this plugin, you can first intialize a Praat picture for a F1/F2 vowelchart (option: show german standard vowelchart). You can then add measured formant values with the appropriate symbols to the chart (options: symbol, color, circle around symbol). Here’s an example with the German standard vowelspace for male speakers in blue and some measured vowels in red:

Vowelchart

Sessions for Praat

This plugin implements a simple session management system for Praat. A session is a distinct accumulation of objects (any type, any number) in the objects list. With this plugin, all objects in the list are saved to the session (a binary Praat collection), whether selected or not. All sessions are saved to a default directory. The default directory is specified only once and then memorized.

If you just want a simple and fast method to save and restore a bunch of objects use this plugin. If you want your sessions distributed among different directories (e.g. put sessions for individual projects in different project directories) use the standard Praat procedure for saving Praat collections. Of course, both methods can be combined.

Additional plugin features:

  • existing session: overwrite or append objects
  • open session and remove collection file at one go
  • list and remove existing sessions (dropdown menu)
  • (re-)set default directory

Plot data and trendline

The first script plots raw data from a table as line graph or scatter plot and adds a trendline based on a simple linear regression analysis (Praat built-in method). You can select various graphics options (color, line style, data symbols etc.). The second script adds a trendline to an existing data plot.

Spectral profile

Editor script to measure some spectral characteristics in the sound selection (stationary phase of a vowel). Measurements:

  • mean and standard deviation of F1 and F2
  • H1-H2 (voice quality)
  • H1-A1 / H1-A2 / H1-A3 (spectral tilt)

Extract intervals

The script finds all non-empty intervals in the selected TextGrid, extracts the corresponding sound segments from the associated sound object, and saves the segments to the hard disk. Intervals with certain labels can be excluded with a search pattern. Three options for the filenames: (1) label of the segment (label.wav), (2) index (001.wav), or index + label (001_label.wav).

Concatenate sounds

Implements concatenation of two or more sounds with optional pause (silence) between sounds and optional custom order (standard order is the order of objects in the objects list). If the selected sounds have different sampling frequencies the script asks for permission to resample before concatenation (only sounds with the same sampling frequency can be concatenated).

MFC wizard

Generates a syntactically correct experiment file for ExperimentMFC after prompting the user for all relevant parameters. Requires ExperimentMFC version 6 (introduced in Praat 5.3.36).

Save selected objects

Save all selected Sound, TextGrid, and Table objects to the hard disk at once (other object types in the selection will issue a warning message and are ignored). Two options for filenames: (1) filename = object name or (2) unique basename + index. If a file with the choosen filename already exists a time stamp is added to the new file’s name so that all objetcs are reliably saved without affecting exsting files.

Label menu

Pin a label menu to the screen, parallel to the TextGrid editor, to support manual annotation. The set of labels can easily be customized in the script.

Syllable detection

Implementation of an heuristic algorithm to detect syllable boundaries. Since the results are far from reliable, the purpose of the script is to support manual syllable annotations, not to replace them!

GRBAS voice quality assessment

Demo window application (pretty raw) that implements the GRBAS voice quality assessment (Grade, Roughness, Breathiness, Asthenia, Strain). Randomized presentation of wav files, evaluation form with 4 levels per dimension.

GRBAS evaluation form

Spectral moments

Calculate spectral moments (centre of gravity, standard deviation, skewness, kurtosis) for a set of fricatives and plosives.

Load files template

A script template which loads all files matching a specific file name pattern in a specific directory. Files are loaded (and unloaded) one by one. You can easily add commands to do something with the files.

Other Resources

Sublime Text plugin

Praat comes with a built-in script editor which is pretty simple. If you are familiar with other code editors you may miss some productivity features, like e.g. syntax highlighting, automatic indentation, bracket matching, snippets etc. Fortunately, most serious editors provide a plugin mechanism to add extended functionality, enabling you for instance to teach them a new language.

My prefered code editor, Sublime Text, comes with many helpful language-independent features (multi-selection/multi-edit, sophisticated find and replace, projects, etc.). To utilize Sublime's language-dependent skills as well—in particular syntax highlighting and the build system—this plugin teaches Sublime Text the Praat scripting language.

Sublime Text screenshot

The plugin includes the following Praat specific stuff:

  • comments definition
  • indent patterns
  • some snippets (if you need even more snippets create your own or check Mauricio Figueroas plugin; see below)
  • language definition reflecting the recent scripting syntax (starting with Praat 5.3.63; older syntax versions are more or less supported)
  • customized Solarized Light theme
  • build system

Using the build system, you can run your Praat scripts from within Sublime Text (cmd-B / ctrl-B), i.e. you don’t need the built-in Praat script editor to run scripts; exceptions: (1) command history is only available in the Praat script editor, and (2) form..endform doesn’t work from Sublime Text (but beginPause..endPause does).

The build system relies on sendpraat, a command line utility which is available from the Praat homepage: sendpraat. The build system should work on Macs, Linux, and Windows. Probably, you need to adapt the path to the sendpraat utility; navigate to the plugin directory, then

  • Mac/Linux: edit runPraatScript.sh
  • Windows: edit runPraatScript.bat

To install the plugin, unpack the zip file to your Sublime Text 3/Packages directory.

Requirements

Changelog

  • v0.4
    • licence added
  • v0.3
    • bug fixes
  • v0.2
    • language definition refinements
  • v0.1
    • initial release

Other editor plugins

José Joaquín Atria has written a language definition for the Editor Kate (available on GitHub). Mauricio Figueroa provides a language definition and snippets for Sublime Text (available on GitHub). Stefano Coretta converted Mauricios stuff into an language package for Atom. Scott Sadowsky provides a syntax highlighting file for Notepad++. And there’s a syntax file for Vim from Mart Lubbers. Last but not least, Ace, the embeddable code editor written in JavaScript, masters Praat syntax highlighting.