code: def __call__(self, x, uttid=None):
      if self.utt2spk is not None:
          spk = self.utt2spk[uttid]
      else:
          spk = uttid
  
      if not self.reverse:
          if self.norm_means:
              x = np.add(x, self.bias[spk])
          if self.norm_vars:
              x = np.multiply(x, self.scale[spk])
  
      else:
          if self.norm_vars:
              x = np.divide(x, self.scale[spk])
          if self.norm_means:
              x = np.subtract(x, self.bias[spk])
  
      return x
  
file_path: espnet/espnet/transform/cmvn.py
imports: import io
  import h5py
  import kaldiio
  import numpy
label_desc: Use image node_id 3 for calling the CMVN obj's underlying member method code with example usage: obj.__call__(x, uttid) and returns: x