class_docstr: Perform minimum variance distortionless response (MVDR) beamforming
  by using an input signal in the frequency domain, its covariance matrices
  and tdoas (to compute a steering vector).
  
      Example
      -------
      >>> import torch
  
      >>> from speechbrain.dataio.dataio import read_audio
      >>> from speechbrain.processing.features import STFT, ISTFT
      >>> from speechbrain.processing.multi_mic import Covariance
      >>> from speechbrain.processing.multi_mic import GccPhat, DelaySum
      >>>
      >>> xs_speech = read_audio(
      ...    'tests/samples/multi-mic/speech_-0.82918_0.55279_-0.082918.flac'
      ... )
      >>> xs_speech = xs_speech.unsqueeze(0) # [batch, time, channel]
      >>> xs_noise  = read_audio('tests/samples/multi-mic/noise_diffuse.flac')
      >>> xs_noise = xs_noise.unsqueeze(0) #[batch, time, channels]
      >>> fs = 16000
      >>> xs = xs_speech + 0.05 * xs_noise
      >>>
      >>> stft = STFT(sample_rate=fs)
      >>> cov = Covariance()
      >>> gccphat = GccPhat()
      >>> mvdr = Mvdr()
      >>> istft = ISTFT(sample_rate=fs)
      >>>
      >>> Xs = stft(xs)
      >>> Ns = stft(xs_noise)
      >>> XXs = cov(Xs)
      >>> NNs = cov(Ns)
      >>> tdoas = gccphat(XXs)
      >>> Ys = mvdr(Xs, NNs, tdoas)
      >>> ys = istft(Ys)
class_docstr_tok: ["Perform","minimum","variance","distortionless","response","(","MVDR",")","beamforming","by","using","an","input","signal","in","the","frequency","domain",",","its","covariance","matrices","and","tdoas","(","to","compute","a","steering","vector",")",".","Example","--","--","--","-",">",">",">","import","torch",">",">",">","from","speechbrain.dataio.dataio","import","read_audio",">",">",">","from","speechbrain.processing.features","import","STFT",",","ISTFT",">",">",">","from","speechbrain.processing.multi_mic","import","Covariance",">",">",">","from","speechbrain.processing.multi_mic","import","GccPhat",",","DelaySum",">",">",">",">",">",">","xs_speech","=","read_audio","(","...","'tests\/samples\/multi-mic\/speech_-0.82918_0.55279_-0.082918.flac'","...",")",">",">",">","xs_speech","=","xs_speech.unsqueeze","(","0",")","#","[","batch",",","time",",","channel","]",">",">",">","xs_noise","=","read_audio","(","'tests\/samples\/multi-mic\/noise_diffuse.flac","'",")",">",">",">","xs_noise","=","xs_noise.unsqueeze","(","0",")","#","[","batch",",","time",",","channels","]",">",">",">","fs","=","16000",">",">",">","xs","=","xs_speech","+","0.05","*","xs_noise",">",">",">",">",">",">","stft","=","STFT","(","sample_rate=fs",")",">",">",">","cov","=","Covariance","(",")",">",">",">","gccphat","=","GccPhat","(",")",">",">",">","mvdr","=","Mvdr","(",")",">",">",">","istft","=","ISTFT","(","sample_rate=fs",")",">",">",">",">",">",">","Xs","=","stft","(","xs",")",">",">",">","Ns","=","stft","(","xs_noise",")",">",">",">","XXs","=","cov","(","Xs",")",">",">",">","NNs","=","cov","(","Ns",")",">",">",">","tdoas","=","gccphat","(","XXs",")",">",">",">","Ys","=","mvdr","(","Xs",",","NNs",",","tdoas",")",">",">",">","ys","=","istft","(","Ys",")"]
code: def __init__(self, eps=1e-20):
      super().__init__()
  
      self.eps = eps
  
imports: import torch
  from packaging import version
  import speechbrain.processing.decomposition
label_desc: Use image node_id 1 to create a new Mvdr object from inherited base classes: torch.nn with example: obj = Mvdr(eps)