class_docstr: Single Resolution STFT loss.
  
  Args:
      n_fft (int): Nb of FFT.
      hop_length (int): Hop length.
      win_length (int): Window length.
      window (str): Window function type.
      normalized (bool): Whether to use normalized STFT or not.
      epsilon (float): Epsilon for numerical stability.
      factor_sc (float): Coefficient for the spectral loss.
      factor_mag (float): Coefficient for the magnitude loss.
docstr: Calculate forward propagation.
  
  Args:
      x (torch.Tensor): Predicted signal (B, T).
      y (torch.Tensor): Groundtruth signal (B, T).
  Returns:
      torch.Tensor: Single resolution STFT loss.
docstr_tok: ["Calculate","forward","propagation",".","Args",":","x","(","torch.Tensor",")",":","Predicted","signal","(","B",",","T",")",".","y","(","torch.Tensor",")",":","Groundtruth","signal","(","B",",","T",")",".","Returns",":","torch.Tensor",":","Single","resolution","STFT","loss","."]
code: def forward(
      self, x: torch.Tensor, y: torch.Tensor
  ) -> tp.Tuple[torch.Tensor, torch.Tensor]:
      """Calculate forward propagation.
  
      Args:
          x (torch.Tensor): Predicted signal (B, T).
          y (torch.Tensor): Groundtruth signal (B, T).
      Returns:
          torch.Tensor: Single resolution STFT loss.
      """
      sc_loss, mag_loss = self.loss(x, y)
      return self.factor_sc * sc_loss + self.factor_mag * mag_loss
  
imports: import typing
  import torch
  from torch import nn
  from torch.nn import functional
label_desc: Use image node_id 2 for calling the STFTLoss obj's underlying member method code with example usage: obj.forward(x, y) and returns: unknown