docstr: The forward function, generates synthesized waveforms,
  calculates the scores and the features of the discriminator
  for synthesized waveforms and real waveforms.
  
  Arguments
  ---------
  batch: str
      a single batch
  stage: speechbrain.Stage
      the training stage
docstr_tok: ["The","forward","function",",","generates","synthesized","waveforms",",","calculates","the","scores","and","the","features","of","the","discriminator","for","synthesized","waveforms","and","real","waveforms",".","Arguments","--","--","--","--","-","batch",":","str","a","single","batch","stage",":","speechbrain.Stage","the","training","stage"]
code: def compute_forward(self, batch, stage):
      """The forward function, generates synthesized waveforms,
      calculates the scores and the features of the discriminator
      for synthesized waveforms and real waveforms.
  
      Arguments
      ---------
      batch: str
          a single batch
      stage: speechbrain.Stage
          the training stage
  
      """
      batch = batch.to(self.device)
      x, _ = batch.mel
      y, _ = batch.sig
  
      # generate sythesized waveforms
      y_g_hat = self.modules.generator(x)[:, :, : y.size(2)]
  
      # get scores and features from discriminator for real and synthesized waveforms
      scores_fake, feats_fake = self.modules.discriminator(
          y_g_hat.detach()
      )
      scores_real, feats_real = self.modules.discriminator(y)
  
      return (y_g_hat, scores_fake, feats_fake, scores_real, feats_real)
  
file_path: speechbrain/recipes/LibriTTS/vocoder/hifigan/train.py
imports: import sys
  import torch
  from hyperpyyaml import load_hyperpyyaml
  import speechbrain
  from speechbrain.utils.data_utils import scalarize
  import torchaudio
  import os
label_desc: Use image node_id 1 for calling the HifiGanBrain obj's underlying member method code with example usage: obj.compute_forward(batch, stage) and returns: y_g_hat,  scores_fake,  feats_fake,  scores_real,  feats_real