History#
1.0.1 (2026-05-05)#
Fixed:#
pyrato.edc.intersection_time_lundebynow 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#
pyratohas been structured into the modulespyrato.analyticcontaining analytic functions for room acoustics.pyrato.dspcontaining functions for low-level room impulse response pre-processing.pyrato.edccontaining functions for computing Energy Decay Curves (EDC).pyrato.parameterscontaining functions to compute room acoustical parameters from room impulse responses.pyrato.parametriccontaining 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_startwas removed in favor ofpyfar.dsp.find_impulse_response_start.pyrato.dsp.center_frequencies_octavesandpyrato.dsp.center_frequencies_third_octaveswere removed in favor ofpyfar.constants.fractional_octave_frequencies_nominal.pyrato.dsp.filter_fractional_octave_bandswas removed in favor ofpyfar.dsp.filter.fractional_octave_bands.pyrato.dsp.time_shiftwas removed in favor ofpyfar.dsp.time_shift.pyrator.parametric.air_attenuation_coefficientwas removed in favor ofpyfar.constants.air_attenuation.pyrato.parametric.calculate_speed_of_soundwas removed in favor of multiple functions inpyfar.constantsthat can compute the speed of sound.
pyrato.dsp.truncate_energy_decay_curvewas renamed topyrato.dsp.threshold_energy_decay_curve`.
Added:#
Room acoustic parameters according to ISO 3382 to
pyrator.parametersclarityto compute the clarity for arbitrary time limits including the standardized parameters C50 and C80.early_lateral_energy_fractionto compute the early lateral energy fraction J_LF.late_lateral_sound_levelto compute the late lateral sound level L_Jsound_strengthto compute the sound strength G.speech_transmission_index_indirectandmodulation_transfer_functionto compute the STI based on impulse responses.
pyrato.edc.intersection_time_lundbyNow 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_eyringandpyrato.parametric.reverberation_time_sabineto estimate the reverberation.pyrato.parametric.critical_distanceto compute the critical distance based on room volume and reverberation time.pyrato.parametric.mean_free_pathto estimate the mean freq path length from a rooms volume and surface area.
Changed:#
pyrato.parametric.energy_decay_curve_analyticwas 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