RT60 Measurement Routine

RT60 Measurement Routine

Automatically determines the reverberation time of an impulse response using the Schroeder method [1].

References

pyroomacoustics.experimental.rt60.measure_rt60(h, fs=1, decay_db=60, energy_thres=1.0, plot=False, rt60_tgt=None, label=None, linear_domain_fit=False)

Analyze the RT60 of an impulse response. Optionaly plots some useful information.

Parameters:
  • h (array_like) – The impulse response.

  • fs (float or int, optional) – The sampling frequency of h (default to 1, i.e., samples).

  • decay_db (float or int, optional) – The decay in decibels for which we actually estimate the time. Although we would like to estimate the RT60, it might not be practical. Instead, we measure the RT20 or RT30 and extrapolate to RT60.

  • energy_thres (float) – This should be a value between 0.0 and 1.0. If provided, the fit will be done using a fraction energy_thres of the whole energy. This is useful when there is a long noisy tail for example.

  • plot (bool, optional) – If set to True, the power decay and different estimated values will be plotted (default False).

  • rt60_tgt (float) – This parameter can be used to indicate a target RT60 to which we want to compare the estimated value.

  • label (str, optional) – A label to use in a plot.

  • linear_domain_fit (bool, optional) – When True, applies a direct fit of an exponential to the data in the linear domain. When False, a linear fit is done in the logarithm domain (default).