praat-parselmouth
Praat in Python, the Pythonic way
What it is and what it does
Parselmouth is a Python binding to Praat, a widely-used speech analysis software. Rather than wrapping Praat's scripting language or reimplementing its algorithms, Parselmouth directly calls Praat's internal C/C++ code, ensuring that results are identical to Praat's native output while presenting a standard Python API. This makes it suitable for researchers and developers who need Praat's proven phonetic and acoustic analysis algorithms—pitch detection, formant extraction, spectral analysis—without leaving the Python ecosystem.
The package depends on numpy and is distributed as prebuilt wheels for Python 2.7 through 3.11 across macOS, Linux, and Windows. It is actively maintained, with a stable API and no known security vulnerabilities. The GPLv3 copyleft license means code using it must also be open-source, which is typical in academic speech research but may constrain commercial applications.
Use it for:
- Extract pitch contours and formant frequencies from speech recordings for phonetic research or analysis.
- Automate batch processing of audio files using Praat's algorithms within a Python pipeline.
- Build speech processing applications that leverage Praat's proven signal-processing implementations.
- Analyze acoustic properties of speech for linguistics, speech pathology, or voice quality assessment.
- Integrate Praat-based analysis into machine learning workflows for speech feature extraction.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parselmouth provides a Pythonic interface to Praat's speech analysis algorithms by directly binding to Praat's C/C++ code, enabling phonetic and acoustic analysis without reimplementation.
Yes, if you need Praat's speech analysis algorithms in Python and can accept the GPLv3 copyleft constraint. The package is actively maintained, has no known vulnerabilities, and provides direct access to Praat's C/C++ code with a Pythonic interface. Install friction is moderate due to compiled bindings, but prebuilt wheels cover most common platforms and Python versions. Not recommended if you require Python 3.12+ without building from source or if your project cannot use GPLv3-licensed code.
Install
praat-parselmouth on PyPI
pip
pip install praat-parselmouthuv
uv add praat-parselmouthpoetry
poetry add praat-parselmouthInstalling praat-parselmouth
Before you install
Medium install friction due to compiled C++ bindings; wheels are provided for Python 2.7 through 3.11 on macOS, Linux, and Windows, but the package requires numpy and relies on prebuilt binaries rather than pure Python installation.
License in practice
GPLv3 copyleft license means any derivative work or modification must also be released under GPLv3; acceptable for research and open-source projects but may restrict commercial or proprietary use.
Quickstart
import parselmouth
sound = parselmouth.Sound("audio.wav")
pitch = sound.to_pitch()
formants = sound.to_formant_burg()
Requires numpy; prebuilt wheels available for Python 2.7–3.11 on major platforms, but older or uncommon Python versions may lack wheels and require compilation.
Verify before relying
- Whether Praat must be installed separately on the system or if Parselmouth bundles Praat's runtime.
- Performance characteristics and typical latency for common phonetic analyses on large audio files.
- Compatibility status with Python 3.12 and 3.13 given the most recent wheel is cp311.
Package facts
| License | GPLv3 (copyleft) |
| Python support | supports the current Python release (!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 260 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 400,864/month — #6,933 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: praat_parselmouth-0.4.7-cp27-cp27m-macosx_10_9_x86_64.whl; praat_parselmouth-0.4.7-cp27-cp27m-manylinux2010_i686.whl; praat_parselmouth-0.4.7-cp27-cp27m-manylinux2010_x86_64.whl; praat_parselmouth-0.4.7-cp27-cp27mu-manylinux2010_i686.whl; praat_parselmouth-0.4.7-cp27-cp27mu-manylinux2010_x86_64.whl; praat_parselmouth-0.4.7-cp27-cp27m-win32.whl; praat_parselmouth-0.4.7-cp27-cp27m-win_amd64.whl; praat_parselmouth-0.4.7-cp310-cp310-macosx_10_9_universal2.whl; praat_parselmouth-0.4.7-cp310-cp310-macosx_10_9_x86_64.whl; praat_parselmouth-0.4.7-cp310-cp310-macosx_11_0_arm64.whl; praat_parselmouth-0.4.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl; praat_parselmouth-0.4.7-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl; praat_parselmouth-0.4.7-cp310-cp310-win32.whl; praat_parselmouth-0.4.7-cp310-cp310-win_amd64.whl; praat_parselmouth-0.4.7-cp311-cp311-macosx_10_9_universal2.whl; praat_parselmouth-0.4.7-cp311-cp311-macosx_10_9_x86_64.whl; praat_parselmouth-0.4.7-cp311-cp311-macosx_11_0_arm64.whl; praat_parselmouth-0.4.7-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl; praat_parselmouth-0.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; praat_parselmouth-0.4.7-cp311-cp311-win32.whl
Keywords: praat, speech, signal processing, phonetics
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
pyphoneticsPyphonetics implements phonetic matching…
permissive · top 15,000 on PyPI
panphonPanPhon maps International Phonetic Alphabet…
permissive · top 15,000 on PyPI
gruut-lang-enProvides English language data files for…
permissive · top 15,000 on PyPI
pystoiComputes Short Term Objective Intelligibility…
permissive · top 5,000 on PyPI
phoneticsComputes phonetic keys of strings using…
permissive · top 15,000 on PyPI
soundexImplements the Soundex phonetic algorithm for…
copyleft · top 15,000 on PyPI
phonemizerPhonemizer converts written text into phonetic…
copyleft · top 15,000 on PyPI
python_speech_featuresExtracts speech features from audio signals for…
permissive · top 15,000 on PyPI
pyacoustidProvides Python bindings for Chromaprint…
permissive · top 15,000 on PyPI
cmudictProvides Python access to the CMU Pronouncing…
copyleft · top 15,000 on PyPI