code: def __init__(
      self,
      n_fft: int = 1024,
      hop_length: int = 256,
      ref_channel: int = 0,
  ):
      super().__init__()
      self.stft = Spectrogram(
          n_fft=n_fft, hop_length=hop_length, power=None
      )
      self.istft = InverseSpectrogram(
          n_fft=n_fft, hop_length=hop_length
      )
      self.mask_net = TDConvNet(
          n_fft // 2 + 1,
          2,
          out_chan=n_fft // 2 + 1,
          causal=False,
          mask_act="linear",
          norm_type="gLN",
      )
      self.beamformer = SoudenMVDR()
      self.psd = PSD()
      self.ref_channel = ref_channel
  
file_path: audio/examples/dnn_beamformer/model.py
imports: import ci_sdr
  import lightning.pytorch
  import torch
  from asteroid.losses.stoi import NegSTOILoss
  from asteroid.masknn import TDConvNet
  from torchaudio.transforms import InverseSpectrogram, PSD, SoudenMVDR, Spectrogram
label_desc: Use image node_id 1 to create a new DNNBeamformer object from inherited base classes: torch.nn with example: obj = DNNBeamformer(n_fft, hop_length, ref_channel)