All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Nothing yet
0.4.7 - 2025-11-27
- Fixed compilation issues in Praat when compiling with Clang 17.
- Fixed build of source distributions on Windows with VS 2022, and updated documentation links to VC++ Redistributable downloads.
0.4.6 - 2025-06-08
- Fixed potential vulnerability in Praat's opusfile external dependency (#141).
- Fixed minimum CMake version in pybind11 subtree to work with CMake 4 (see #144).
0.4.5 - 2024-10-11
- Fixed compilation issues of source distribution on certain platforms, due to unintentional X11 dependency in
sendpraat.c.
0.4.4 - 2024-07-30
- Fixed compatibility with NumPy 2.
0.4.3 - 2022-12-24
- Fixed source distribution failing to build, due to
scikit-build&setuptoolsversion mismatch inpyproject.toml.
0.4.2 - 2022-11-06
- Added support for Python 3.11 and PyPy 3.9.
0.4.1 - 2022-02-01
- Added support for Python 3.10 and PyPy 3.8.
0.4.0 - 2021-02-07
- Added
extra_objectsandreturn_variableskeyword arguments topraat.runandpraat.run_file. - Added
keep_cwdkeyword argument topraat.run_file. - Updated API reference with links to Praat and to other objects.
- Added
TextGridPython objects, and conversion from/to the TextGridTools (tgt) library. - Praat's tests are run as part of Parselmouth's test suite in CI (enabled by the
--run-praat-testsflag). - Added support for Python 3.9, for PyPy 2.7, 3.6, and 3.7, and for Python 3.9 on macOS 11.0 Apple Silicon machines.
- Fixed a memory leak in
PraatEnvironment::retrieveSelectedObjects(see #33). - Changed default value of the
very_accurateparameter ofSound.to_pitch_acandSound.to_pitch_cctoFalse, matching Praat's default. - Added a
Soundcopy constructor from anotherSoundobject, making suresampling_frequencyalso gets copied.
- Updated Praat to version 6.1.38.
- Updated pybind11 to version v2.6.2.
- Removed support for Python 3.4.
0.3.3 - 2019-05-19
- Added support for Python 3.8 (2019-12-23).
- Fixed crash in
praat.callandpraat.runwhen returning already existing Praat objects. - Fixed bug/crash in
praat.callandpraat.runwhen passing empty list of objects. - Removed
setlocalecalls from Praat and replace locale-dependent standard library calls with locale-independent ones (see #11). - Fixed sdist build by adding tests folder to
MANIFEST.in(see #9).
0.3.2 - 2018-08-30
- Exposed
tmin,tmax,trange,nt,t1,dt,ts,t_grid, andt_binsforTimeFunctionandTimeSampledaspects. - Added
PREBUILT_PRAAT_DIRvariable to CMake configuraiton to allow reusing an already built Praat static library.
- Refactored bindings framework to allow for forward declarations and to get reduce the importance and use of
parselmouth/Parselmouth.h.
- Fixed
parselmouth.to_pitchoverload resolution, stopping*argsand**kwargsfrom matching all calls.
0.3.1 - 2018-08-10
- Added Binder setup description and links from documentation.
- Added test framework with pytest and set up first batch of tests.
- Added Python 3.7 configurations to CI configurations.
- Updated pybind11 to v2.2.3.
- Updated documentation, changing examples from simple reStructuredText to Jupyter notebooks, executable through Binder.
- Fixed
parselmouth.praat.run_fileto include files from directory of the script file, but to run in the original working directory. - Corrected typo in
Sound.to_harmonicity_acandto_harmonicity_cc(see #6).
0.3.0 - 2018-02-09
- Exposed calls to Praat commands through
parselmouth.praat.call. - Exposed running Praat scripts through
parselmouth.praat.runandparselmouth.praat.run_script. - Added
Thing.class_nameas read-only property to get underlying Praat class, even when that one is not yet exposed. - Added
nameandfull_nameproperties toThingclass. - Added
save,save_as_text_file,save_as_short_text_file, andsave_as_binary_filetoDataclass.
- Updated Praat version to 6.0.37.
- Updated pybind11 to development version v2.3.dev0 (for
py::argsbugfix in dispatcher).
- Corrected confusion between
get_time_from_frame_numberandget_frame_number_from_timein time-sampled classes. - Minor fixes to the examples in the docs.
0.2.1 - 2017-12-11
- Set up documentation on ReadTheDocs, including a rough API reference.
- Exposed some missing
IntensityandPitchmethods, andPitch's internals.
- Made Travis CI and AppVeyor install NumPy.
0.2.0 - 2017-09-15
- Added time domain query and modification methods on Sampled classes with a time aspect.
- Exposed classes in the middle of Praat's inheritance hierarchy,
Function,Sampled, andSampledXY. - Exposed main functionality of
Pitch,Formants, andMFCC. - Added manylinux1 wheel building on Travis CI.
- 'number of' accessors prefixed changed from
num_ton_(e.g.,Sound.num_channels->Sound.n_channels). - Updated Praat version to 6.0.31.
- Updated pybind11 to version v2.2.1.
- Adapted encoding of
Thing.__str__on Python 2 to takelocale.getpreferredencoding()into account.
0.1.1 - 2017-08-18
- Compilation of Praat on MSVC.
- This file.
- Further extended Travis CI configuration and added one for AppVeyor.
- Corrected README example involving sample times vs. logical range.
- Introduced
NonNegative[T]type and annotation, fixingSound.concatenate(..., overlap=0.0). - Changed use of Python-reserved (keyword) arguments
from(and matchingto) tofrom_timeandto_time.
0.1.0 - 2017-06-11
- Initial release with main pybind11 framework, based on Praat version 6.0.28.
- Main functionality of
Thing,Data,Matrix,Vector,Sound,Spectrum,Spectrogram, andIntensityclasses. Preliminary implementations ofPitch,Harmonicity,Formant, andMFCC. - Basic Travis CI configuration.