class_docstr: Dynamic range compression for audio signals - clipped log scale
  with an optional multiplier
  
  Arguments
  ---------
  multiplier: float
      the multiplier constant
  clip_val: float
      the minimum accepted value (values below this
      minimum will be clipped)
  
  Example
  -------
  >>> drc = DynamicRangeCompression()
  >>> x = torch.tensor([10., 20., 0., 30.])
  >>> drc(x)
  tensor([  2.3026,   2.9957, -11.5129,   3.4012])
  >>> drc = DynamicRangeCompression(2.)
  >>> x = torch.tensor([10., 20., 0., 30.])
  >>> drc(x)
  tensor([  2.9957,   3.6889, -10.8198,   4.0943])
class_docstr_tok: ["Dynamic","range","compression","for","audio","signals","-","clipped","log","scale","with","an","optional","multiplier","Arguments","--","--","--","--","-","multiplier",":","float","the","multiplier","constant","clip_val",":","float","the","minimum","accepted","value","(","values","below","this","minimum","will","be","clipped",")","Example","--","--","--","-",">",">",">","drc","=","DynamicRangeCompression","(",")",">",">",">","x","=","torch.tensor","(","[","10.",",","20.",",","0.",",","30",".","]",")",">",">",">","drc","(","x",")","tensor","(","[","2.3026",",","2.9957",",","-11.5129",",","3.4012","]",")",">",">",">","drc","=","DynamicRangeCompression","(","2",".",")",">",">",">","x","=","torch.tensor","(","[","10.",",","20.",",","0.",",","30",".","]",")",">",">",">","drc","(","x",")","tensor","(","[","2.9957",",","3.6889",",","-10.8198",",","4.0943","]",")"]
docstr: Performs the forward pass
  
  Arguments
  ---------
  x: torch.Tensor
      the source signal
  
  Returns
  -------
  result: torch.Tensor
      the result
docstr_tok: ["Performs","the","forward","pass","Arguments","--","--","--","--","-","x",":","torch.Tensor","the","source","signal","Returns","--","--","--","-","result",":","torch.Tensor","the","result"]
code: def forward(self, x):
      """Performs the forward pass
  
      Arguments
      ---------
      x: torch.Tensor
          the source signal
  
      Returns
      -------
      result: torch.Tensor
          the result
      """
      return torch.log(
          torch.clamp(x, min=self.clip_val) * self.multiplier
      )
  
imports: import math
  import torch
  import logging
  from speechbrain.utils.checkpoints import mark_as_saver, mark_as_loader, mark_as_transfer, register_checkpoint_hooks
  from speechbrain.dataio.dataio import length_to_mask
label_desc: Use image node_id 2 for calling the DynamicRangeCompression obj's underlying member method code with example usage: obj.forward(x) and returns: torch