pyhton中用librosa.feature.mfcc提取mfcc的一个坑
我们在提取一个wav的mfcc特征的时候,如果直接这样写:
from librosa import feature
sample = wav.read('./audio_data/male_audio/M_1298636292/1298636292_1.wav')
rate, sig = sample
mfcc_feats = feature.mfcc(y = sig, sr = rate)
这样的话会报错:
librosa.util.exceptions.ParameterError: data must be floating-point
提示输入的y必须是浮点型,如果直接强制转换整形的y为浮点型效果不好,实际上我也没有成功,于是我们可以将y=sig直接归一化
sig = sig/max(abs(sig))
归一化之后提取mfcc就没有报错了:
from librosa import feature
sample = wav.read('./audio_data/male_audio/M_1298636292/1298636292_1.wav')
rate, sig = sample
sig = sig/max(abs(sig))
mfcc_feats = feature.mfcc(y = sig, sr = rate)