Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Scientific Audio
  3. Parselmouth

Parselmouth

GPL-3.0C++v0.4.7

A Python library that provides direct, Pythonic access to Praat's speech processing algorithms from within Python.

Visit WebsiteGitHubGitHub
1.3k stars131 forks0 contributors

What is Parselmouth?

Parselmouth is a Python library that provides a direct interface to Praat, the popular software for speech analysis and phonetics. It allows researchers and developers to access Praat's extensive speech processing algorithms—such as spectrogram generation, pitch tracking, and intensity analysis—directly from Python code, ensuring identical results to the original Praat software.

Target Audience

Speech scientists, phoneticians, linguists, and developers working on speech analysis who want to integrate Praat's proven algorithms into Python-based research pipelines or applications.

Value Proposition

Parselmouth offers a unique combination of accuracy and usability by directly wrapping Praat's C/C++ code, unlike other Python ports that reimplement functionality or rely on scripting. This ensures scientific reproducibility while providing a native Python experience.

Overview

Praat in Python, the Pythonic way

Use Cases

Best For

  • Conducting reproducible phonetic research with Python scripts
  • Integrating Praat's speech analysis algorithms into machine learning pipelines
  • Creating interactive speech analysis visualizations in Jupyter notebooks
  • Automating batch processing of audio files for speech features
  • Teaching phonetics and speech analysis using Python's ecosystem
  • Developing custom speech analysis tools that require Praat's algorithms

Not Ideal For

  • Projects requiring proprietary software licensing, as Parselmouth and Praat are GPL-licensed
  • Users who prefer graphical, point-and-click interfaces over coding for speech analysis
  • Real-time speech processing applications due to potential overhead from wrapping Praat's offline code
  • Teams seeking lightweight, pure-Python libraries without C++ dependencies and compilation

Pros & Cons

Pros

Algorithmic Fidelity

Parselmouth directly accesses Praat's C/C++ code, ensuring speech analysis outputs are identical to Praat, which is crucial for scientific reproducibility as stated in the README.

Pythonic Usability

It provides a standard Python interface with familiar APIs, making it easy to integrate into scripts and notebooks, as demonstrated by the example code snippets for sound and spectrogram processing.

Efficient Data Access

The library offers performant access to speech data objects like Sound and Spectrogram, enabling efficient batch processing, as shown in the file iteration example.

Interactive Exploration

Support for Jupyter notebooks allows for interactive visualization and analysis, with examples provided in the documentation and a Binder link for online testing.

Cons

Sparse Development Documentation

The README admits the project's code is 'hardly documented at all,' which can hinder contributions and deep customization, as mentioned in the Development section.

Complex Build Requirements

Building from source requires cmake and a C++17 compiler, which might be challenging for users unfamiliar with C++ toolchains, adding setup complexity.

Inherits Praat's Limitations

As a wrapper, Parselmouth cannot extend beyond Praat's functionality, so any missing features in Praat are also absent here, limiting flexibility for novel use cases.

Frequently Asked Questions

Quick Stats

Stars1,266
Forks131
Contributors0
Open Issues18
Last commit6 days ago
CreatedSince 2017

Tags

#scientific-computing#audio-analysis#python-library#phonetics#speech-processing#data-visualization#jupyter-notebooks#c-plus-plus-bindings

Built With

C
CMake
P
Python
P
Pybind11
C
C++

Links & Resources

Website

Included in

Scientific Audio1.7k
Auto-fetched 1 day ago

Related Projects

pyannote.audiopyannote.audio

Neural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding

Stars10,194
Forks1,078
Last commit4 days ago
pyAudioAnalysispyAudioAnalysis

Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

Stars6,244
Forks1,217
Last commit10 months ago
gentlegentle

gentle forced aligner

Stars1,699
Forks311
Last commit1 month ago
PyWorldVocoderPyWorldVocoder

A Python wrapper for the high-quality vocoder "World"

Stars789
Forks126
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub