A Python library that provides direct, Pythonic access to Praat's speech processing algorithms from within Python.
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.
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.
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.
Praat in Python, the Pythonic way
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
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.
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.
The library offers performant access to speech data objects like Sound and Spectrogram, enabling efficient batch processing, as shown in the file iteration example.
Support for Jupyter notebooks allows for interactive visualization and analysis, with examples provided in the documentation and a Binder link for online testing.
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.
Building from source requires cmake and a C++17 compiler, which might be challenging for users unfamiliar with C++ toolchains, adding setup complexity.
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.