Matlab 或 Python 中的节拍检测
信息处理
matlab
Python
2022-01-28 14:54:29
2个回答
您要询问的区域称为“起始检测”,这在整个信号处理过程中都使用,但大多数烤箱用于音乐信息检索以识别音符的开始和停止。

虽然有很多方法可以实现这一点,但让我们考虑两种:能量域和频域。
能量:我们知道,当信号出现尖峰时,信号的能量会显着增加。您可以简单地创建采样窗口并通过跟踪曲线下的面积来计算窗口的平均绝对能量。当您看到大幅增加时,这意味着您已达到峰值(或足够接近发病)
频率:我们知道,在时域中,如果信号幅度高且时间短,它将在频域中广泛传播,其中大部分内容位于频谱的高端。(狄拉克函数就是一个很好的例子)
您可以将信号切割成小窗口,计算 FFT 并检测高频内容何时发生较大变化。
这两种方法在理论上是相同的,但是您的实现会导致不同的准确性。
节拍非常突然,并且包含相当大的信号功率。低通滤波和小波变换后的功率阈值是不错的选择。
如果您更具体并附上一些代码,我们将能够提供更好的帮助。
其它你可能感兴趣的问题
