2016-12-28 40 views
0

我目前正在使用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) 

回答

2

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 .. –

相關問題