pyFDN.estimate_rt_bands#
- pyFDN.estimate_rt_bands(ir, fs, fc=1000.0, start=-4.0, n=8, filter_order=8, decay_db=30.0)[source]#
Estimate RT in octave bands via Butterworth bandpass filtering.
Filters the impulse response into octave bands using
pyroomacoustics.bandpass_filterbank, then estimates RT per band usingpyroomacoustics.measure_rt60(extrapolated fromdecay_db).Default bands: 63, 125, 250, 500, 1000, 2000, 4000, 8000 Hz (
start=-4, n=8). Bands whose upper edge exceedsfs/2are dropped.- Parameters:
ir (array-like, 1-D) – Impulse response.
fs (float) – Sampling rate in Hz.
fc (float) – Octave-band reference centre frequency in Hz (default 1000).
start (float) – Octave offset of the lowest band relative to
fc(default -4 → 62.5 Hz).n (int) – Number of octave bands (default 8).
filter_order (int) – Butterworth filter order (default 8).
decay_db (float) – Decay range in dB used for the linear fit. The default 30 dB fit is extrapolated to a 60 dB reverberation time.
- Return type:
- Returns:
rt ((n_bands,) ndarray) – Estimated RT in seconds per band.
f_centre ((n_bands,) ndarray) – Centre frequencies in Hz corresponding to each RT value.