Skip to content
This repository was archived by the owner on Feb 7, 2024. It is now read-only.
This repository was archived by the owner on Feb 7, 2024. It is now read-only.

t60_impulse estimation fails for octave bands up to 16kHz with fs=44100Hz #262

Description

@happyTonakai

Example code:

from acoustics import room, bands
t60 = room.t60_impulse(file, bands.octave(31.25, 16e3), "t30")

An error raised ValueError: Digital filter critical frequencies must be 0 < Wn < 1, which happens at the last frequency band

if band_type == 'octave':
low = octave_low(bands[0], bands[-1])
high = octave_high(bands[0], bands[-1])

octave_high() gives the largest element of high is 22627.41699797, which is out of range of Nyquist at 44100Hz. That results in the ValueError in

filtered_signal = bandpass(raw_signal, low[band], high[band], fs, order=8)

It may be better to check the frequency range in octave_high and third_high or just after they are called.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions