1

如果我可能无知,请原谅我,但我想问一些关于使用过滤算法进行音符起始检测的问题。

  1. “检测功能”是否与对音频信号使用过滤器相同?或者一般来说,检测功能、过滤(信号预处理)和峰值拾取之间有什么区别?

  2. 我经常听说低通(或高通)滤波器,但我很困惑。我读到它可以消除低于(或高于)某个阈值的某些频率。但是,我使用时域来计算音符开始(即使用信号幅度/能量的变化)。所以我不确定如何将低通滤波应用于时域。还有其他用于音符开始检测的好的过滤器吗?

  3. 光谱能量和相位能量有什么区别?(我知道频谱是指频谱图或频率,但我不知道相位是什么)

  4. 我在使用动态阈值时遇到了困难。有什么好的算法建议吗?例如,我有以下信号:

在此处输入图像描述

如上图所示,我错过了一些音符开始。简要描述我的算法,我计算并记录音频信号中发生的能量/幅度变化。然后我得到最大的“能量变化”并根据灵敏度,我取它的百分比并将其设置为阈值。所以这就是处理不同程度的幅度/能量的问题所在。如果我将灵敏度设置得太低,我会想出“鬼”发作,如果我将灵敏度设置得太高,我会错过一些发作。有什么建议可以改进我正在使用的算法(或建议一种新算法)?

我确信很难达到 100% 的准确率,但与我现在所拥有的相比,我需要一个更好的算法来检测音符的起始位置。我会很感激我能得到的所有帮助。非常感谢!

4

1 回答 1

0

一种方法是检测幅度包络的突然增加。计算幅度包络的一种方法是对输入信号进行整流(即取绝对值),然后对其进行低通滤波。查看http://www.musicdsp.org中的代码示例,了解时域过滤器示例和信封追随者。

于 2011-08-22T22:49:32.010 回答