2

你如何确定哪些发作是节拍?我正在使用 Spectral Flux 进行音符起始检测,并使用 Running Mean 进行峰值拾取/阈值处理。

我只是在使用吉他乐器,所以打击乐器的存在可能对此无济于事。有任何想法吗?

谢谢!

4

2 回答 2

2

尝试使用节拍跟踪算法。节拍跟踪是与发病检测不同的问题。

我认为Sonic Visualizer的Queen Mary 插件集中有一个很好的算法。这些插件是开源的,因此您可以查看代码以了解它们的工作原理。

或者在谷歌学者上搜索“节拍跟踪”。有许多有效的方法。 Dan Ellis是一个很好的开始。它很直观,并且在 Matlab 和 Java 中有可用的代码。

于 2011-06-27T23:47:11.787 回答
2

编辑:哇...刚刚意识到这个问题已经有 3 年历史了...抱歉恢复旧帖子。


我的硕士论文是关于节拍检测的,与所有其他已发表的节拍检测方法相比,我的方法的主要优势在于分辨率,包括时域和频率(节拍)域。你可以在这里找到我的论文。它基本上归结为(经过大量过滤后)是梳状滤波器卷积。我的代码是对这个项目的改编,其中包含 Matlab 文件,供您查看它是如何工作的。

由于我的大学可能存在文案问题,我的代码(包括 C++ 和 Matlab 端口)未公开提供,但如果您通过 dberm22[at]gmail[dot]com 给我发电子邮件,我会非常愿意咳咳: : 和你讨论我的工作。

于 2014-02-06T15:12:53.790 回答