class_docstr: Multi resolution STFT loss.
  
  Args:
      n_ffts (Sequence[int]): Sequence of FFT sizes.
      hop_lengths (Sequence[int]): Sequence of hop sizes.
      win_lengths (Sequence[int]): Sequence of window lengths.
      window (str): Window function type.
      factor_sc (float): Coefficient for the spectral loss.
      factor_mag (float): Coefficient for the magnitude loss.
      normalized (bool): Whether to use normalized STFT or not.
      epsilon (float): Epsilon for numerical stability.
docstr: Calculate forward propagation.
  
  Args:
      x (torch.Tensor): Predicted signal (B, T).
      y (torch.Tensor): Groundtruth signal (B, T).
  Returns:
      torch.Tensor: Multi 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",":","Multi","resolution","STFT","loss","."]
code: def forward(self, x: torch.Tensor, y: 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: Multi resolution STFT loss.
      """
      sc_loss = torch.Tensor([0.0])
      mag_loss = torch.Tensor([0.0])
      for f in self.stft_losses:
          sc_l, mag_l = f(x, y)
          sc_loss += sc_l
          mag_loss += mag_l
      sc_loss /= len(self.stft_losses)
      mag_loss /= len(self.stft_losses)
  
      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 MRSTFTLoss obj's underlying member method code with example usage: obj.forward(x, y) and returns: unknown