将窗口函数应用于librosa中的帧
问题描述:
我目前正在使用ASR系统,但我忘记了将窗口函数应用于每个帧。我正在提取,这可能是我为什么收到糟糕结果的原因。但在librosa
中可能吗?将窗口函数应用于librosa中的帧
我在librosa文档中找不到这个选项。
我需要对每帧提供一个汉明窗口,这些窗口被提取出来。
for fp in file_paths:
y,sr = librosa.load(fp,sr=16000)
X = librosa.util.frame(y, frame_length=400, hop_length=160)
答
Librosa采用scipy.signal:
window = scipy.signal.hann(win_length, sym=False)
# Reshape so that the window can be broadcast
window = window.reshape((-1, 1))
windowed = fft_window * X
Here你可以看到它是如何内librosa完成。
但为什么不使用librosa.stft
或librosa.mfcc
?它会做你需要的一切。
感谢您的回应..你在哪里实际应用窗口的框架? 关于在librosa中执行mfcc计算,我想训练一个NN来计算它们,这就是为什么我需要适当的预处理。 –
在傅立叶变换之前执行窗口以避免频谱泄漏。 –
Ohh ..我不做fft?..上帝是否该死......甚至有可能这样做librosa .. –