将窗口函数应用于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.stftlibrosa.mfcc?它会做你需要的一切。

+0

感谢您的回应..你在哪里实际应用窗口的框架? 关于在librosa中执行mfcc计算,我想训练一个NN来计算它们,这就是为什么我需要适当的预处理。 –

+0

在傅立叶变换之前执行窗口以避免频谱泄漏。 –

+0

Ohh ..我不做fft?..上帝是否该死......甚至有可能这样做librosa .. –