code: def extract_feature(waveforms, params):
      """extract fbank with delta-delta and do cmvn
      waveforms: [batch, samples]
      """
      p = params
      with tf.variable_scope("feature_extractor"):
          mel_fbanks = extract_logfbank_with_delta(waveforms, params)
          # shape: [1, nframes, nbins, nchannels]
          fbank_size = utils.shape_list(mel_fbanks)
          # assert fbank_size[0] == 1
  
          # This replaces CMVN estimation on data
          if not p.audio_global_cmvn:
              mean = tf.reduce_mean(mel_fbanks, keepdims=True, axis=1)
              variance = tf.reduce_mean(
                  tf.square(mel_fbanks - mean), keepdims=True, axis=1
              )
          else:
              assert p.audio_cmvn_path, p.audio_cmvn_path
              mean, variance = utils.load_cmvn(p.audio_cmvn_path)
  
          var_epsilon = 1e-09
          mel_fbanks = utils.apply_cmvn(
              mel_fbanks, mean, variance, var_epsilon
          )
  
          # Later models like to flatten the two spatial dims. Instead, we add a
          # unit spatial dim and flatten the frequencies and channels.
          batch_size = fbank_size[0]
          feats = tf.concat(
              [
                  tf.reshape(
                      mel_fbanks,
                      [
                          batch_size,
                          fbank_size[1],
                          fbank_size[2],
                          fbank_size[3],
                      ],
                  ),
                  tf.zeros(
                      (
                          batch_size,
                          p.num_zeropad_frames,
                          fbank_size[2],
                          fbank_size[3],
                      )
                  ),
              ],
              1,
          )
      return feats
  
file_path: delta/delta/data/feat/tf_speech_feature.py
imports: import functools
  import numpy
  import delta.compat
  import scipy.signal
  from delta import utils
  from delta.utils.hparam import HParams
label_desc: Use image node_id 6 for calling a global function with example usage: extract_feature(waveforms, params) and returns: feats