Praat is a computer program that is widely used in the field of phonetics and speech-related studies. You can use it for analysing, synthesizing, and manipulating speech data, and you can use it to plot waveforms, spectragrams, ptich contours.

There are loads of resouces online that introduce Praat to beginning users and all kinds of scripts you can borrow and tweak (if you have some programming skills) to automate speech analysis.

The problem is that there are too many of them and when you need something, it takes a lot of time to find what you really want. Thus, I would like to provide some useful annotated resouces organized in a logical way and build this as a go-to page when you need to find Praat resources.

The first step to learn Praat is to familarize yourself with some concept about acoustics like, spectrogram, waveform, formant, ptich and so on. Introductory textbooks or online tutorials on acoustic phonetic will do.

In addition, you can play with ESystem, a learning environment for the theory of signals and systems.

Then you can use this tutorial from Praat’s official website or this one by David Weenink to learn about different tabs/functionalities and how they are related to speech signal processing.

If you find that introduction too technical, I would recommend this one in English by Will Styler and this one in Chinese by Ziyu Xiong (for other languages see this link). Both are very nice materials for teaching and learning Praat.

After you have some knowledge of the basics, there are two things researchers usually do when studying phonetics or speech in general: annotation and batch processing data with scripts. This is the second step in learning Praat and the learning curve can be steep at times. For annotating your data, you need to apply the acoustic knowledge you have learnt from the textbook in dealing with real life speech production which can be messy in itself. This is laborious process that requires patience and experience.

Here are a couple of things praat script can help to automate some boring stuff (but Praat cannot DO the annotation for you, especially when you need a high accuracy rate):

  • Before annotation, you can use this scriptto segment words/syllable and generate an annotation file, called TextGrid file.
  • If you want to cut long files into short sound files, provided that you have a textgrid file that marks the boundary, you can use this script.
  • If you want to open each sound file with its textgrid and do some annotation you can use this one.

Once you are happy with your annotation, you can use this script by Daniel Hirst to extract basic acoustic information. There are many other scripts that can do similar things, but this one is a to-go script (including duration, pitch, formant) for me. If you are particularly interested in pitch in speech, I would recommend Yi Xu’s Prosody Pro, which provides a rich range of options and is well recognized in academia.

If the above scripts have not met with your requirement, you can search for more scripts here sorted by type, or here with a built-in searching engine.

But as you start using the script, you will stumb over issues like specifying the directory (location of files on your computer) and bugs of all kinds. It is desirable to develop some programming skills, not to be able to write a script from stratch but to debug and tweak the scripts others have written or tweaked.

Here are some tutorials for teaching/learning scripting in Praat.

Praat scripting manual (workshop) for beginners: This manual/workshop, unlike other existing manuals, is exclusively devoted to script writing (not to Praat’s general usage) and it covers: the Praat Objects window, how to read and write scripts in Praat, good scripting practices, uses and types of variables, conditional jumps (if), loops (for, while, repeat), common numerical and string functions, debugging, interacting with the user, procedures and arrays. It also includes many tips, script examples and learning exercises, for which the solutions can be found in the accompanying folders and files.

Phonetics on speed It attempts to pave the way and provide a basic entrance to the world of Praat scripting. Each session of the tutorial is dedicated to a concept or feature of the Praat scripting language. Sessions are divided into reading assignments followed by a hands-on workshop, where you’ll implement what you have learned.

In recent years, other programming languages, such as R and Python, have APIs for Praat and it is possbile now to take advantage of each program. For a comparision among various packages and libraries, see this paper. Two of them worth mentioning here, EMU-R and Parselmouth.

The EMU Speech Database Management System (EMU-SDMS) is a collection of software tools which aims to be as close to an all-in-one solution for generating, manipulating, querying, analyzing and managing speech databases as possible. This manual introduces and describes the various components of this system.

Parselmouth is an open-source Python library that facilitates access to core functionality of Praat in Python (data visualisation, file manipulation, audio manipulation, statistical analysis), in an efficient and programmer-friendly way. It also features in the integration of Parselmouth into a Python-based experimental design for automated, in-the-loop manipulation of acoustic data. Here is a tutorial.