code: def evaluate(
      references,
      estimates,
      win=1*44100,
      hop=1*44100,
      mode='v4',
      padding=True
  ):
      
  
      estimates = np.array(estimates)
      references = np.array(references)
  
      if padding:
          references, estimates = pad_or_truncate(references, estimates)
  
      SDR, ISR, SIR, SAR, _ = metrics.bss_eval(
          references,
          estimates,
          compute_permutation=False,
          window=win,
          hop=hop,
          framewise_filters=(mode == "v3"),
          bsseval_sources_version=False
      )
  
      return SDR, ISR, SIR, SAR
docs: BSS_EVAL images evaluation using metrics module
  
      Parameters
      ----------
      references : np.ndarray, shape=(nsrc, nsampl, nchan)
          array containing true reference sources
      estimates : np.ndarray, shape=(nsrc, nsampl, nchan)
          array containing estimated sources
      window : int, defaults to 44100
          window size in samples
      hop : int
          hop size in samples, defaults to 44100 (no overlap)
      mode : str
          BSSEval version, default to `v4`
      Returns
      -------
      SDR : np.ndarray, shape=(nsrc,)
          vector of Signal to Distortion Ratios (SDR)
      ISR : np.ndarray, shape=(nsrc,)
          vector of Source to Spatial Distortion Image (ISR)
      SIR : np.ndarray, shape=(nsrc,)
          vector of Source to Interference Ratios (SIR)
      SAR : np.ndarray, shape=(nsrc,)
          vector of Sources to Artifacts Ratios (SAR)