class_docstr: STFT decoder for speech enhancement and separation
class_docstr_tok: ["STFT","decoder","for","speech","enhancement","and","separation"]
code: def spec_back(self, spec):
      if self.spec_transform_type == "exponent":
          spec = spec / self.spec_factor
          if self.spec_abs_exponent != 1:
              e = self.spec_abs_exponent
              spec = spec.abs() ** (1 / e) * torch.exp(
                  1j * spec.angle()
              )
      elif self.spec_transform_type == "log":
          spec = spec / self.spec_factor
          spec = (torch.exp(spec.abs()) - 1) * torch.exp(
              1j * spec.angle()
          )
      elif self.spec_transform_type == "none":
          spec = spec
      return spec
  
file_path: espnet/espnet2/enh/decoder/stft_decoder.py
imports: import torch
  import torch_complex
  from packaging.version import parse
  from torch_complex.tensor import ComplexTensor
  from espnet2.enh.decoder.abs_decoder import AbsDecoder
  from espnet2.enh.layers.complex_utils import is_torch_complex_tensor
  from espnet2.layers.stft import Stft
label_desc: Use image node_id 6 for calling the STFTDecoder obj's underlying member method code with example usage: obj.spec_back(spec) and returns: spec