History#

1.0.1 (2026-05-05)#

Fixed:#

  • pyrato.edc.intersection_time_lundeby now works for multi-dimensional Signals (PR #170)

1.0.0 (2026-03-19)#

Warning

pyrato version 1.0.0 introduces several breaking changes which are not backwards compatible with prior versions. This includes changes in the module structure, and deprecations of functions that are now part of the pyfar v0.8.0 package.

Breaking changes#

  • pyrato has been structured into the modules

    • pyrato.analytic containing analytic functions for room acoustics.

    • pyrato.dsp containing functions for low-level room impulse response pre-processing.

    • pyrato.edc containing functions for computing Energy Decay Curves (EDC).

    • pyrato.parameters containing functions to compute room acoustical parameters from room impulse responses.

    • pyrato.parametric containing functions to compute room acoustical parameters from simple geometric considerations.

  • The following functions were removed and calling functions now use equivalent functions from pyfar

    • pyrato.dsp.find_impulse_response_start was removed in favor of pyfar.dsp.find_impulse_response_start.

    • pyrato.dsp.center_frequencies_octaves and pyrato.dsp.center_frequencies_third_octaves were removed in favor of pyfar.constants.fractional_octave_frequencies_nominal.

    • pyrato.dsp.filter_fractional_octave_bands was removed in favor of pyfar.dsp.filter.fractional_octave_bands.

    • pyrato.dsp.time_shift was removed in favor of pyfar.dsp.time_shift.

    • pyrator.parametric.air_attenuation_coefficient was removed in favor of pyfar.constants.air_attenuation.

    • pyrato.parametric.calculate_speed_of_sound was removed in favor of multiple functions in pyfar.constants that can compute the speed of sound.

  • pyrato.dsp.truncate_energy_decay_curve was renamed to pyrato.dsp.threshold_energy_decay_curve`.

Added:#

  • Room acoustic parameters according to ISO 3382 to pyrator.parameters

    • clarity to compute the clarity for arbitrary time limits including the standardized parameters C50 and C80.

    • early_lateral_energy_fraction to compute the early lateral energy fraction J_LF.

    • late_lateral_sound_level to compute the late lateral sound level L_J

    • sound_strength to compute the sound strength G.

    • speech_transmission_index_indirect and modulation_transfer_function to compute the STI based on impulse responses.

  • pyrato.edc.intersection_time_lundby Now by default raises a warning, if the computation fails for a specific channel. Before this update, it raised an error, even if the computation only failed for certain channels.

  • pyrato.parametric.reverberation_time_eyring and pyrato.parametric.reverberation_time_sabine to estimate the reverberation.

  • pyrato.parametric.critical_distance to compute the critical distance based on room volume and reverberation time.

  • pyrato.parametric.mean_free_path to estimate the mean freq path length from a rooms volume and surface area.

Changed:#

  • pyrato.parametric.energy_decay_curve_analytic was refactored to take the desired reverberation time as input parameter.

  • Updated tests and package versions used for testing, as well as test fixtures.

Removed#

  • Support for Python 3.9 and 3.10 was removed.

Documentation#

  • Improved the scope and clarity of the documentation.

  • Added buttons to copy code contained in the documentation.

0.4.2 (2026-03-18)#

  • Bugfix: Channel independent normalization parametrization was reversed (PR #117)

  • Bugfix: Reverberation time estimation of non normalized EDCs (PR #138)

  • Bugfix: Properly support EDC calculation for multi-dimensional RIRs (PR #113)

  • Bugfix: Properly support multi-dimensional RIRs in the Schroeder integration (PR #62)

  • Dependencies: Limit to pyfar < 0.8.0 (PR #161)

  • CI: Add deprecation tests

0.4.1 (2024-06-05)#

  • fix: include analytic module in the package (PR #27)

  • fix: allow T15 reverberation time estimation in reverberation_time_linear_regression (PR #51)

  • fix: several deprecation warnings (PR #54, #55, #56)

  • fix: Correct index selection in truncation time estimation (#32)

  • fix: Fix deprecation warnings in example notebook (#58)

  • doc: apply Documentation style changes to match with pyfar (PR #30, #34, #48, #61)

  • ci: apply pyfar’s packaging style (PR #49)

  • ci: change from flake8 to ruff and apply pyfar rule set (PR #52)

  • ci: configure and change to bumpversion for release (PR #60)

0.4.0 (2024-03-20)#

  • Use pyfar audio objects to store RIRs and EDCs (PR #7)

  • Drop support for Python 3.7 (PR #14)

  • rename RT estimation function to reverberation_time_linear_regression (PR #13)

  • use pyfar’s impulse response start finding function and fractional octave filters, respective functions are deprecated and will be removed in pyrato 0.5.0 #17 (PR #7)

  • Add ISO 3382 compliant dynamic range threshold to energy_decay_curve_truncation, add similar functionality to energy_decay_curve_chu (PR #18)

  • Bugfix for wrong truncation time for multichannel RIRs (PR #19)

  • Update of the documentation style and adaption of the shared gallery homepage (PR #22)

0.3.2 (2022-10-10)#

  • Hotfix for deprecated generation of nested ragged sequences in Lundeby’s intersection time algorithm.

0.3.1 (2022-05-31)#

  • Bugfix Lundeby’s intersection time algorithm

0.3.0 (2021-06-12)#

  • Release on PyPI as pyrato

0.2.1 (2020-02-26)#

  • Bugfix Chu’s EDC calculation

  • Documentation fixes

  • Improved identification of impulse response onset

0.2.0 (2019-11-19)#

  • Energy decay curve calculation with various noise compensation methods

  • Linear regression based reverberation time estimation

0.1.0 (2018-12-13)#

  • First release