我需要从librosa库中获得归一化的mel谱图,还是我不需要它被归一化,应该为CNN模型做好准备?
我试过了,没有规范化我的光谱值,它工作得很好。但是,训练时间慢。我想知道我是否应该在继续建模之前先将其规范化。
这是我获取频谱图并将其输入CNN模型的函数:
def get_spectogram(path, mfcc):
x, sr = librosa.load(path, res_type='kaiser_fast')
S = librosa.feature.melspectrogram(y=aug, sr=sr, n_mels=mfcc)
spec = librosa.power_to_db(S, ref=np.max)
return spec
是的,在大多数情况下,您应该规范化MFCC,最流行的程序是倒谱均值和方差规范化(CMVN)。您可以在Python中找到它的实现,例如:SpeechPy。
为什么你的代码工作得很好?尽管似乎缺乏正常化?正如你在评论中解释的那样,你实际上是在进行规范化——"批量规范化"。的一步。它可以,但是您可能会通过自己进行规范化来挤出一些额外的分数。