小编Eli*_*ski的帖子

是否有可能从 tensorflow mfcc 和 librosa mfcc 获得完全相同的结果?

我试图让 tensorflow mfcc 给我与 python lybrosa mfcc 相同的结果我试图匹配 librosa 在我的 tensorflow 代码中使用的所有默认参数并得到不同的结果

这是我使用的 tensorflow 代码:

waveform = contrib_audio.decode_wav(
 audio_binary,
 desired_channels=1,
 desired_samples=sample_rate,
 name='decoded_sample_data')


sample_rate = 16000

transwav = tf.transpose(waveform[0])

stfts = tf.contrib.signal.stft(transwav,
  frame_length=2048,
  frame_step=512,
  fft_length=2048,
  window_fn=functools.partial(tf.contrib.signal.hann_window, 
  periodic=False), 
  pad_end=True)

spectrograms = tf.abs(stfts)
num_spectrogram_bins = stfts.shape[-1].value
lower_edge_hertz, upper_edge_hertz, num_mel_bins = 0.0,8000.0, 128
linear_to_mel_weight_matrix = 
tf.contrib.signal.linear_to_mel_weight_matrix(
num_mel_bins, num_spectrogram_bins, sample_rate, lower_edge_hertz,
   upper_edge_hertz)
mel_spectrograms = tf.tensordot(
 spectrograms, 
 linear_to_mel_weight_matrix, 1)
mel_spectrograms.set_shape(spectrograms.shape[:-1].concatenate(
linear_to_mel_weight_matrix.shape[-1:]))
log_mel_spectrograms = tf.log(mel_spectrograms + 1e-6)
mfccs = tf.contrib.signal.mfccs_from_log_mel_spectrograms(
    log_mel_spectrograms)[..., :20]
Run Code Online (Sandbox Code Playgroud)

librosa 中的等价物: libr_mfcc = librosa.feature.mfcc(wav, …

audio mfcc tensorflow librosa

2
推荐指数
1
解决办法
2558
查看次数

标签 统计

audio ×1

librosa ×1

mfcc ×1

tensorflow ×1