class_docstr: Style MelGAN disciminator module.
code: def _forward(self, x: torch.Tensor) -> List[torch.Tensor]:
      outs = []
      for idx, (ws, pqmf, disc) in enumerate(
          zip(self.window_sizes, self.pqmfs, self.discriminators)
      ):
          # NOTE(kan-bayashi): Is it ok to apply different window for real and fake
          #   samples?
          start_idx = np.random.randint(x.size(-1) - ws)
          x_ = x[:, :, start_idx : start_idx + ws]
          if idx == 0:
              x_ = pqmf(x_)
          else:
              x_ = pqmf.analysis(x_)
          outs += [disc(x_)]
      return outs
  
imports: import copy
  import logging
  import math
  from typing import Any, Dict, List, Optional
  import numpy
  import torch
  import torch.nn.functional
  from espnet2.gan_tts.melgan import MelGANDiscriminator
  from espnet2.gan_tts.melgan.pqmf import PQMF
  from espnet2.gan_tts.style_melgan.tade_res_block import TADEResBlock
label_desc: Use image node_id 3 for calling the StyleMelGANDiscriminator obj's underlying member method code with example usage: obj._forward(x) and returns: outs