class_docstr: A commonly used normalization for the decibel scale
  
  The scheme is as follows
  
  x_norm = (x - min_level_db)/-min_level_db * 2 - 1
  
  The rationale behind the scheme is as follows:
  
  The top of the scale is assumed to be 0db.
  x_rel = (x - min) / (max - min) gives the relative position on the scale
  between the minimum and the maximum where the minimum is 0. and the
  maximum is 1.
  
  The subsequent rescaling (x_rel * 2 - 1) puts it on a scale from -1. to 1.
  with the middle of the range centered at zero.
  
  Arguments
  ---------
  min_level_db: float
      the minimum level
  
  Example
  -------
  >>> norm = MinLevelNorm(min_level_db=-100.)
  >>> x = torch.tensor([-50., -20., -80.])
  >>> x_norm = norm(x)
  >>> x_norm
  tensor([ 0.0000,  0.6000, -0.6000])
class_docstr_tok: ["A","commonly","used","normalization","for","the","decibel","scale","The","scheme","is","as","follows","x_norm","=","(","x","-","min_level_db",")","\/-min_level_db","*","2","-","1","The","rationale","behind","the","scheme","is","as","follows",":","The","top","of","the","scale","is","assumed","to","be","0db",".","x_rel","=","(","x","-","min",")","\/","(","max","-","min",")","gives","the","relative","position","on","the","scale","between","the","minimum","and","the","maximum","where","the","minimum","is","0.","and","the","maximum","is","1",".","The","subsequent","rescaling","(","x_rel","*","2","-","1",")","puts","it","on","a","scale","from","-1.","to","1.","with","the","middle","of","the","range","centered","at","zero",".","Arguments","--","--","--","--","-","min_level_db",":","float","the","minimum","level","Example","--","--","--","-",">",">",">","norm","=","MinLevelNorm","(","min_level_db=-100",".",")",">",">",">","x","=","torch.tensor","(","[","-50.",",","-20.",",","-80",".","]",")",">",">",">","x_norm","=","norm","(","x",")",">",">",">","x_norm","tensor","(","[","0.0000",",","0.6000",",","-0.6000","]",")"]
docstr: Reverses the min level normalization process
  
  Arguments
  ---------
  x: torch.Tensor
      the normalized tensor
  
  Returns
  -------
  result: torch.Tensor
      the denormalized tensor
docstr_tok: ["Reverses","the","min","level","normalization","process","Arguments","--","--","--","--","-","x",":","torch.Tensor","the","normalized","tensor","Returns","--","--","--","-","result",":","torch.Tensor","the","denormalized","tensor"]
code: def denormalize(self, x):
      """Reverses the min level normalization process
  
      Arguments
      ---------
      x: torch.Tensor
          the normalized tensor
  
      Returns
      -------
      result: torch.Tensor
          the denormalized tensor
      """
      x = torch.clip(x, -1, 1)
      x = (x + 1.0) / 2.0
      x *= -self.min_level_db
      x += self.min_level_db
      return x
  
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 3 for calling the MinLevelNorm obj's underlying member method code with example usage: obj.denormalize(x) and returns: x