In this video tutorial, you will learn how to download and install PRAAT on your computer. Praat is a free and open source speech analyzer software download filed under graphics software and made available by Paul Boersma and David Weenink for Windows. The review for Praat has not been completed yet, but it was tested by an editor here on a PC and a list of features has been compiled; see below. Praat - system for phonetic analysis. This installation steps assumes that you have Praat installed on your computer. Download the plugin here; Extract the zip and put the folder 'pluginVocalToolkit' in your Praat preferences directory. You can execute this command in a Praat script window to know where your preferences folder is: writeInfoLine: preferencesDirectory$. The program Praat is a versatile speech analysis program, which becomes a standard in speech/language analysis scientific community.
Released:
A library for working with praat, textgrids, time aligned audio transcripts, and audio files.
Project description
Questions? Comments? Feedback?
A library for working with praat, time aligned audio transcripts, and audio files that comes with batteries included.
Praat uses a file format called textgrids, which are time aligned speech transcripts.This library isn't just a data struct for reading and writing textgrids--many utilities areprovided to make it easy to work with with transcripts and associated audio files.This library also provides some other tools for use with praat.
Praat is an open source software program for doing phonetic analysis and annotationof speech. Praat can be downloaded here
Common Use Cases
What can you do with this library?
query a textgrid to get information about the tiers or intervals contained within
create or augment textgrids using data from other sources
found that you clipped your audio file five seconds early and have added it back to your wavefile but now your textgrid is misaligned? Add five seconds to every interval in the textgrid
utilize the klattgrid interface to raise all speech formants by 20% (among other possible manipulations)
replace labeled segments in a recording with silence or delete them
- see /examples/deleteVowels.py
use set operations (union, intersection, difference) on textgrid tiers
- see /examples/textgrid_set_operations.py
see /praatio/praatio_scripts.py for various ready-to-use functions such as
splitAudioOnTier()
: split an audio file into chunks specified by intervals in one tierspellCheckEntries()
: spellcheck a textgrid tiertgBoundariesToZeroCrossings()
: adjust all boundaries and points to fall at the nearest zero crossing in the corresponding audio filealignBoundariesAcrossTiers()
: for handmade textgrids, sometimes entries may look as if they are aligned at the same time but actually are off by a small amount, this will correct them
Documentation
Automatically generated pdocs can be found here:
Tutorials
There are tutorials available for learning how to use PraatIO. Theseare in the form of IPython Notebooks which can be found in the /tutorials/folder distributed with PraatIO.
You can view them online using the external website Jupyter:
Version History
Praatio uses semantic versioning (Major.Minor.Patch)
Ver 4.3 (Apr 5, 2021)
- Textgrid reading/writing is now more robust (newlines and quotes are ok)
- Textgrids can now be saved without creating blank intervals
- For backwards compatibility, by default, segments with no intervals will be given a blank entry with a label of '
Ver 4.2 (Aug 14, 2020)
- Textgrids can now be written to/read from a json file
- tg.save('blah.json', outputFormat=tgio.JSON)
- tg = openTextgrid('blah.json', readAsJson=True)
Ver 4.1 (May 13, 2020)
- Textgrids can now be read 'raw'
- For backwards compatibility, by default, unlabeled points and intervals are removed when opening textgrids
Ver 4.0 (February 5, 2020)
- Removed unlicensed xsampa.py file, along with associated utility sppas_util.py (originally added in Ver 3.4)
- If you are not directly importing either of those files, you can upgrade without changing your code
Ver 3.8 (July 24, 2019)
- Textgrids can be saved in the Textgrid long file format with .save(fn, useShortForm=False).
- For backwards compatibility, by default, it saves in the short file format.
- Textgrid output formatting is now closer to what Praat outputs.
Ver 3.7 (March 17, 2019)
- Speaker normalization and normalization within local context added to pitch and intensity query functions
- Generated pdoc documentation added
Ver 3.6 (May 05, 2017)

- Major clean up of tgio
- Ver 3.6 is not backwards compatible with previous versions of PraatIO. Lots of changes to tgio.
- Tutorials folder added
Program Jysk Hunedoara
Ver 3.5 (April 04, 2017)
- Added code for reading, writing, and manipulating audio files (praatio.audioio)
- eraseRegion() and insertRegion() added to textgrids and textgrid tiers
Ver 3.4 (February 04, 2017)
- Added place for very specific scripts (praatio.applied_scripts)
- added code for using with input and output textgrids to SPPAS, a forced aligner
- Lots of minor features and bugfixes
Ver 3.3 (June 27, 2016)
- Find zero-crossings in a wave file
- for shifting all boundaries in a textgrid see praatio_scripts.tgBoundariesToZeroCrossings()
- for finding individual zero crossings, see praatio_scripts.findNearestZeroCrossing()
- Pitch features
- pitch extraction is now ten times faster
- automatic pitch halving/doubling detection
- median filtering
- Textgrid features
- set operations over two tiers (union, difference, or intersection)
- erase a section of a textgrid (and a section of the corresponding wave file)
- Extraction of pitch formants using praat
- Lots of small bugfixes
Ver 3.2 (January 29, 2016)

- Float precision is now preserved in file I/O
- Integration tests added; using Travis CI and Coveralls for build automation.
- Lots of small bugfixes
- Moved point processes into 1D and 2D point objects
Ver 3.1 (December 16, 2015)
- Support for reading/writing point processes
Ver 3.0 (November 10, 2015)
- Support for reading and writing klattgrids
Ver 2.1 (July 27, 2015)
- Addition of praatio_scripts.py where commonly used scripts will be placed
- Import clash led to praatio.py being renamed to tgio.py
Ver 2.0 (February 5, 2015)
- Support for reading, writing, and manipulating point tiers
- Ported to python 3
- Major cleanup/reorganizing of code
Ver 1.0 (August 31, 2014)
- Reading and writing of textgrids
- Support for reading, writing, and manipulating interval tiers
Requirements
Python 2.6.*
or above
Python 3.3.*
or above (actually, probably any version of python 3)
Usage
99% of the time you're going to want to run
Or if you want to work with KlaatGrid files
See /test for example usages
Installation
PraatIO is on pypi and can be installed or upgraded from the command-line shell with pip like so
Otherwise, to manually install, after downloading the source from github, from a command-line shell, navigate to the directory containing setup.py and type
If python is not in your path, you'll need to enter the full path e.g.
Citing praatIO
PraatIO is general purpose coding and doesn't need to be citedbut if you would like to, it can be cited like so:
Tim Mahrt. PraatIO. https://github.com/timmahrt/praatIO, 2016.
Acknowledgements
Development of PraatIO was possible thanks to NSF grant BCS 12-51343 toJennifer Cole, José I. Hualde, and Caroline Smith and to the A*MIDEX project(n° ANR-11-IDEX-0001-02) to James Sneed German funded by theInvestissements d'Avenir French Government program,managed by the French National Research Agency (ANR).
Release historyRelease notifications | RSS feed
4.3.0
4.2.1
4.2.0
4.1.1
4.1.0
4.0.0
3.8.1
3.8.0
3.7.1
3.7.0
3.6.15
3.6.14
3.6.13
3.6.12
3.6.11
3.6.10
3.6.8
3.6.7
3.6.5
3.6.4
3.6.3
3.6.1
3.6.0
3.5.7
3.5.6
3.5.5
3.5.4
3.5.3
Program Jysk
3.5.1
3.5.0
3.4.6
3.4.5
3.4.4
3.4.3
3.4.2
3.4.1
3.4.0
3.3.3
3.3.2
3.3.1
3.3.0
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size praatio-4.3.0-py2.py3-none-any.whl (62.4 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes |
Filename, size praatio-4.3.0.tar.gz (54.6 kB) | File type Source | Python version None | Upload date | Hashes |
Hashes for praatio-4.3.0-py2.py3-none-any.whl
Algorithm | Hash digest |
---|---|
SHA256 | 08927390c731a6001eedab442a92aebacac35c9334c515b36ffd5de07c8c0997 |
MD5 | de14be7fe0d27519141e120c2ecfe365 |
BLAKE2-256 | 77961f313345397c055ece2ac1a0b3315483629c631c1854ac9e9c6dcb3255b4 |
Hashes for praatio-4.3.0.tar.gz
Algorithm | Hash digest |
---|---|
SHA256 | b3c1c017b6ff38e26c7e82d07ea9da22314f9189e55c883343cd0f12f1df97c2 |
MD5 | 24f514aa66d4ce88c6df1dfc12d70658 |
BLAKE2-256 | e36006f80a9d3999a1d84a2bd44ec7a2466fec02ccb220ac84234f794c365cfd |
Vocal Toolkit is a free plugin for Praat with automated scripts for voice processing.
Praat is an open-source program for the analysis of speech in phonetics, created by Paul Boersma and David Weenink of the University of Amsterdam.
Latest updates
- Added command 'Combined processes'
- Added commands 'Change vocal tract size, pitch and duration' and 'Copy vocal tract size, pitch and duration'
- Added commands 'Calculate formants of a vocal tract' and 'Calculate vocal tract length'
- Added command 'Declick'
- Added command 'Create vowel'
- Updated code syntax
Commands are grouped into two added dropdown menus, Copy and Process, that will appear when one or more Sounds are selected in the list of objects.
- Copy: These commands work with two selected Sounds. They are used to modify characteristics of the second selected Sound to match those of the first selected Sound.
- Process: These commands are used to process the selected Sounds or to create new ones.
The scripts do not modify the selected Sounds but create new Sounds with the processing result.


For more details on each command, please see the corresponding links on the left.
NOTE: I'm not an expert in phonetics. These scripts were developed as tools for my work as a multimedia programmer and I publish them with the hope that they can be useful.
This plugin is open source and can be used for any purpose.
Please consider to make a donation to support my work and costs. Thank you!
