code: def compute_mel_filterbank_features(
      waveforms,
      sample_rate=16000,
      preemphasis=0.97,
      frame_length=0.025,
      frame_step=0.010,
      fft_length=None,
      lower_edge_hertz=80.0,
      upper_edge_hertz=7600.0,
      num_mel_bins=80,
      log_noise_floor=1e-3,
      apply_mask=True,
  ):
      """Implement mel-filterbank extraction using tf ops.
      Args:
        waveforms: float32 tensor with shape [max_len, nchannels]
        sample_rate: sampling rate of the waveform
        preemphasis: waveform high-pass filtering constant
        frame_length: frame length in ms
        frame_step: frame_Step in ms
        fft_length: number of fft bins
        lower_edge_hertz: lowest frequency of the filterbank
        upper_edge_hertz: highest frequency of the filterbank
        num_mel_bins: filterbank size
        log_noise_floor: clip small values to prevent numeric overflow in log
        apply_mask: When working on a batch of samples, set padding frames to zero
      Returns:
        filterbanks: a float32 tensor with shape [nchannles, max_len, num_bins]
      """
      del log_noise_floor, apply_mask
      spectrogram = powspec_feat(
          waveforms,
          sr=sample_rate,
          nfft=512 if not fft_length else fft_length,
          winlen=frame_length,
          winstep=frame_step,
          lowfreq=lower_edge_hertz,
          highfreq=upper_edge_hertz,
          preemph=preemphasis,
      )
  
      # [channels, time, feat_dim]
      fbank = fbank_feat(
          spectrogram,
          sr=sample_rate,
          feature_size=num_mel_bins,
          nfft=512 if not fft_length else fft_length,
          lowfreq=lower_edge_hertz,
          highfreq=upper_edge_hertz,
      )
  
      # [time, feat_dim]
      fbank = tf.cond(
          tf.equal(tf.rank(fbank), 3),
          true_fn=lambda: fbank[0, :, :],
          false_fn=lambda: fbank,
      )
      return fbank
  
file_path: delta/delta/data/feat/speech_ops.py
imports: import numpy
  from absl import logging
  import delta.compat
  from tensorflow.python.ops import gen_audio_ops
  from delta import utils
  from delta.utils.hparam import HParams
  from core.ops import py_x_ops
label_desc: Use image node_id 6 for calling a global function with example usage: compute_mel_filterbank_features(waveforms, sample_rate, preemphasis, frame_length, frame_step, fft_length, lower_edge_hertz, upper_edge_hertz, num_mel_bins, log_noise_floor, apply_mask) and returns: fbank