class_docstr: A simple audio limiter (dynamic range compression).
  Note: This transform also delays the signal by a fraction of the attack time.
class_docstr_tok: ["A","simple","audio","limiter","(","dynamic","range","compression",")",".","Note",":","This","transform","also","delays","the","signal","by","a","fraction","of","the","attack","time","."]
code: def convert_time_to_coefficient(
      t: float, sample_rate: int, decay_threshold: float = None
  ) -> float:
      if decay_threshold is None:
          # Attack time and release time in this transform are defined as how long
          # it takes to step 1-decay_threshold of the way to a constant target gain.
          # The default threshold used here is inspired by RT60.
          decay_threshold = convert_decibels_to_amplitude_ratio(-60)
      return 10 ** (
          math.log10(decay_threshold) / max(sample_rate * t, 1.0)
      )
  
file_path: audiomentations/audiomentations/augmentations/limiter.py
imports: import random
  import math
  import numpy
  import sys
  from numpy.typing import NDArray
  from audiomentations.core.transforms_interface import BaseWaveformTransform
  from audiomentations.core.utils import convert_decibels_to_amplitude_ratio, get_max_abs_amplitude
label_desc: Use image node_id 2 for calling the Limiter obj's underlying member method code with example usage: obj.convert_time_to_coefficient(t, sample_rate, decay_threshold) and returns: unknown