(waveforms, params)
return feats
extract fbank with delta-delta and do cmvn
     waveforms: [batch, samples]
extract fbank with delta-delta and do cmvn
     waveforms: [batch, samples]
extract fbank with delta - delta and do cmvn waveforms : [ batch samples ]
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
def extract_feature ( waveforms , params ) : 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