    def forward(self, x: torch.Tensor):
        """Discriminator STFT Module is the sub module of MultiScaleSTFTDiscriminator.

        Args:
            x (torch.Tensor): input tensor of shape [B, 1, Time]

        Returns:
            z: z is the output of the last convolutional layer of shape
            fmap: fmap is the list of feature maps of every convolutional layer of shape
        """
        fmap = []
        z = self.spec_transform(x)  # [B, 2, Freq, Frames, 2]
        z = torch.cat([z.real, z.imag], dim=1)
        z = rearrange(z, "b c w t -> b c t w")
        for i, layer in enumerate(self.convs):
            z = layer(z)

            z = self.activation(z)
            fmap.append(z)
        z = self.conv_post(z)
        return z, fmap
Discriminator STFT Module is the sub module of MultiScaleSTFTDiscriminator.

Args:
x (torch.Tensor): input tensor of shape [B, 1, Time]

Returns:
z: z is the output of the last convolutional layer of shape
fmap: fmap is the list of feature maps of every convolutional layer of shape
models/vocoders/gan/discriminator/msstftd.py