class_docstr: HiFi-GAN multi-scale + multi-period discriminator module.
docstr: Calculate forward propagation.
  
  Args:
      x (Tensor): Input noise signal (B, 1, T).
  
  Returns:
      List[List[Tensor]]: List of list of each discriminator outputs,
          which consists of each layer output tensors. Multi scale and
          multi period ones are concatenated.
docstr_tok: ["Calculate","forward","propagation",".","Args",":","x","(","Tensor",")",":","Input","noise","signal","(","B",",","1",",","T",")",".","Returns",":","List","[","List","[","Tensor","]","]",":","List","of","list","of","each","discriminator","outputs",",","which","consists","of","each","layer","output","tensors",".","Multi","scale","and","multi","period","ones","are","concatenated","."]
code: def forward(self, x: torch.Tensor) -> List[List[torch.Tensor]]:
      """Calculate forward propagation.
  
      Args:
          x (Tensor): Input noise signal (B, 1, T).
  
      Returns:
          List[List[Tensor]]: List of list of each discriminator outputs,
              which consists of each layer output tensors. Multi scale and
              multi period ones are concatenated.
  
      """
      msd_outs = self.msd(x)
      mpd_outs = self.mpd(x)
      return msd_outs + mpd_outs
  
imports: import copy
  import logging
  from typing import Any, Dict, List, Optional
  import numpy
  import torch
  import torch.nn.functional
  from espnet2.gan_tts.hifigan.residual_block import ResidualBlock
label_desc: Use image node_id 2 for calling the HiFiGANMultiScaleMultiPeriodDiscriminator obj's underlying member method code with example usage: obj.forward(x) and returns: unknown