【问题标题】:Applying a window function to a frame in librosa将窗口函数应用于 librosa 中的框架
【发布时间】:2016-12-29 00:07:48
【问题描述】:

我目前正在研究 ASR 系统,但我忘记将窗口函数应用于每个帧。我正在提取,这可能是我收到不良结果的原因。但这在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)

【问题讨论】:

    标签: python audio speech-recognition librosa


    【解决方案1】:

    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?它会做你需要的一切。

    【讨论】:

    • 感谢您的回复。您实际上在哪里应用框架中的窗口?关于在 librosa 的 mfcc 计算中做这件事,我想训练一个 NN 来计算它们,这就是为什么我需要进行适当的预处理..
    • 在傅里叶变换之前进行加窗以避免频谱泄漏。
    猜你喜欢
    • 2021-04-27
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-24
    相关资源
    最近更新 更多