Skip to content

[BUG] reverberation_time_linear_regression only works with normalized EDCs #129

@tjueterb

Description

@tjueterb

Is there an existing issue for this?

  • I have searched the existing issues

Problem description

Hey all,

reverberation_time_linear_regression(edc) doesn't work as expected when edc isn't normalized.

This should be easily fixable by always applying normalization before doing the regression.

Code sample

Code run:

import pyfar as pf
import pyrato as ra

signal = 0.01*pf.signals.files.room_impulse_response()

edc = ra.schroeder_integration(signal, is_energy=False)
edc_normalized = pf.dsp.normalize(edc)

t30 = ra.reverberation_time_linear_regression(edc, T='T30')
t30_normalized = ra.reverberation_time_linear_regression(edc_normalized, T='T30')

print(f'T30:\n\t{t30},\nT30 with normalized EDC:\n\t{t30_normalized}')

Traceback:

T30:
	[-inf],
T30 with normalized EDC:
	[1.99828878]

Environment

Details
pyrato==0.4.1
├── pyfar [required: >=0.5.0, installed: 0.7.4]
│   ├── numpy [required: >=1.23.0, installed: 1.26.4]
│   ├── scipy [required: >=1.5.0,<1.17.0, installed: 1.15.0]
│   │   └── numpy [required: >=1.23.5,<2.5, installed: 1.26.4]
│   ├── matplotlib [required: Any, installed: 3.10.0]
│   │   ├── contourpy [required: >=1.0.1, installed: 1.3.1]
│   │   │   └── numpy [required: >=1.23, installed: 1.26.4]
│   │   ├── cycler [required: >=0.10, installed: 0.11.0]
│   │   ├── fonttools [required: >=4.22.0, installed: 4.51.0]
│   │   ├── kiwisolver [required: >=1.3.1, installed: 1.4.4]
│   │   ├── numpy [required: >=1.23, installed: 1.26.4]
│   │   ├── packaging [required: >=20.0, installed: 26.0]
│   │   ├── pillow [required: >=8, installed: 11.0.0]
│   │   ├── pyparsing [required: >=2.3.1, installed: 3.2.0]
│   │   └── python-dateutil [required: >=2.7, installed: 2.9.0.post0]
│   │       └── six [required: >=1.5, installed: 1.16.0]
│   ├── sofar [required: >=0.1.2, installed: 1.2.1]
│   │   ├── netCDF4 [required: Any, installed: 1.7.2]
│   │   │   ├── cftime [required: Any, installed: 1.6.4.post1]
│   │   │   │   └── numpy [required: >=1.26.0b1, installed: 1.26.4]
│   │   │   ├── certifi [required: Any, installed: 2026.1.4]
│   │   │   └── numpy [required: Any, installed: 1.26.4]
│   │   ├── numpy [required: >=1.14.0, installed: 1.26.4]
│   │   ├── beautifulsoup4 [required: Any, installed: 4.12.3]
│   │   │   └── soupsieve [required: >1.2, installed: 2.5]
│   │   └── requests [required: Any, installed: 2.32.4]
│   │       ├── charset-normalizer [required: >=2,<4, installed: 3.3.2]
│   │       ├── idna [required: >=2.5,<4, installed: 3.7]
│   │       ├── urllib3 [required: >=1.21.1,<3, installed: 2.2.3]
│   │       └── certifi [required: >=2017.4.17, installed: 2026.1.4]
│   ├── urllib3 [required: Any, installed: 2.2.3]
│   ├── deepdiff [required: Any, installed: 8.1.1]
│   │   └── orderly-set [required: >=5.2.3,<6, installed: 5.2.3]
│   └── soundfile [required: >=0.11.0, installed: 0.13.0]
│       ├── cffi [required: >=1.0, installed: 1.17.1]
│       │   └── pycparser [required: Any, installed: 2.21]
│       └── numpy [required: Any, installed: 1.26.4]
├── numpy [required: >=1.14.0, installed: 1.26.4]
├── scipy [required: >=1.5.0, installed: 1.15.0]
│   └── numpy [required: >=1.23.5,<2.5, installed: 1.26.4]
└── matplotlib [required: Any, installed: 3.10.0]
    ├── contourpy [required: >=1.0.1, installed: 1.3.1]
    │   └── numpy [required: >=1.23, installed: 1.26.4]
    ├── cycler [required: >=0.10, installed: 0.11.0]
    ├── fonttools [required: >=4.22.0, installed: 4.51.0]
    ├── kiwisolver [required: >=1.3.1, installed: 1.4.4]
    ├── numpy [required: >=1.23, installed: 1.26.4]
    ├── packaging [required: >=20.0, installed: 26.0]
    ├── pillow [required: >=8, installed: 11.0.0]
    ├── pyparsing [required: >=2.3.1, installed: 3.2.0]
    └── python-dateutil [required: >=2.7, installed: 2.9.0.post0]
        └── six [required: >=1.5, installed: 1.16.0]

Anything else?

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions