2016-12-28 20 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.stftまたはlibrosa.mfccを使用しないのですか?それはあなたが必要とするすべてを行います。

+0

レスポンスありがとうございました。フレームには実際にウィンドウをどこに適用しますか? librosaでmfcc計算を行うことについて、私はそれらを計算するためにNNを訓練したいと思っていました。 –

+0

フーリエ変換の前にウインドウ処理を実行してスペクトル漏れを防ぎます。 –

+0

おお..私は、FFTをしない?...神はくそ..ので、私はSTFTを使用している必要がありますlibrosa ..リターンの –

関連する問題