2011-06-18 46 views
1

請原諒我,如果我可能會無知,但我想問一些關於使用濾波算法進行音符起始檢測的問題。有關過濾器的注意事項檢測問題?

  1. 「檢測功能」與在音頻信號上使用濾波器相同嗎?或者一般來說,檢測功能,濾波(預處理信號)和峯值採集有什麼區別?

  2. 我一直聽說低通(或高通)濾波器,但我很困惑。我讀到它可以消除低於(或高於)特定閾值的某些頻率。但是,我使用時域來計算音符起始點(即,使用信號幅度/能量的變化)。所以我不確定如何將低通濾波應用於時域。任何其他好的過濾器用於音符檢測?

  3. 頻譜和相位能量有什麼區別? (我有一個想法,光譜是指譜或頻率,但我不知道階段是什麼)

  4. 我在使用動態閾值時遇到困難。任何建議一個好的算法?例如,我有以下信號:

enter image description here

如上圖所示,有我已經錯過音符起始點。對我的算法的簡要描述,我計算並記錄了音頻信號中發生的能量/振幅變化。然後,我得到最大的'能量變化',並根據靈敏度,我拿它的一個百分比,並將其設置爲閾值。所以這就是處理不同程度的幅度/能量的問題。如果我把靈敏度設置的太低,我會想出'鬼'的起始點,如果我把靈敏度設置的太高,我會錯過一些起始點。有什麼建議來改進我正在使用的算法(或建議一種新算法)?

我相信難以達到100%的準確度,但是與現在相比,我需要有一個更好的音符起始檢測算法。我會很感激所有我能得到的幫助。非常感謝你!

回答

0

一種方法是檢測幅度包絡的突然增加。計算幅度包絡的一種方法是糾正輸入信號(即取絕對值),然後對其進行低通濾波。查看http://www.musicdsp.org中代碼示例的時域濾波器示例和包絡跟隨器。