class_docstr: Multi-Frequency Discriminator module in UnivNet.
class_docstr_tok: ["Multi-Frequency","Discriminator","module","in","UnivNet","."]
docstr: Forward pass of Multi-Frequency Discriminator module.
  
  Args:
      x (Tensor): Input tensor (B, 1, T * hop_size).
  
  Returns:
      List[Tensor]: List of feature maps.
code: def forward(self, x):
      """
      Forward pass of Multi-Frequency Discriminator module.
  
      Args:
          x (Tensor): Input tensor (B, 1, T * hop_size).
  
      Returns:
          List[Tensor]: List of feature maps.
      """
  
      feats = list()
      for stft, layer in zip(self.stfts, self.discriminators):
          mag, phase = stft.transform(x.squeeze(1))
          if self.domain == "double":
              mag = torch.stack(torch.chunk(mag, 2, dim=1), dim=1)
          else:
              mag = mag.unsqueeze(1)
  
          feat = layer(mag)
          feats.append(feat)
      return feats
  
imports: import logging
  import math
  from typing import Any, Dict, List, Optional
  import numpy
  import torch
  import torch.nn.functional
  from espnet2.gan_svs.visinger2.ddsp import remove_above_nyquist, scale_function, upsample
  from espnet2.gan_tts.hifigan import HiFiGANMultiPeriodDiscriminator, HiFiGANMultiScaleDiscriminator, HiFiGANMultiScaleMultiPeriodDiscriminator, HiFiGANPeriodDiscriminator, HiFiGANScaleDiscriminator
  from espnet2.gan_tts.hifigan.residual_block import ResidualBlock
label_desc: Use image node_id 2 for calling the MultiFrequencyDiscriminator obj's underlying member method code with example usage: obj.forward(x) and returns: feats