你如何确定哪些开始是节拍?我正在使用Spectral Flux进行音符开始检测和峰值拾取/阈值处理的运行平均值。
我正在使用吉他乐器,所以打击乐的存在可能对此没有帮助。有什么想法吗?
谢谢!
答案 0 :(得分:2)
尝试使用节拍跟踪算法。节拍跟踪是发病检测的一个明显问题。
我认为Sonic Visualizer的Queen Mary plugin set中有一个很好的算法。这些插件是开源的,因此您可以查看代码以了解它们的工作原理。
或者在google学者上搜索“节拍跟踪”。有许多有效的方法。 Dan Ellis'是一个很好的开始。它很直观,Matlab和Java提供了代码。
答案 1 :(得分:2)
编辑:哇......刚刚意识到这个问题已经3年了...抱歉复活旧帖子。
My Master的论文是在节拍检测中,我的方法相对于所有其他已发布的节拍检测方法的主要优点在于分辨率,包括时域和频率(节拍)域。你可以找到我的论文here。它基本归结为(在很多过滤之后)是梳状滤波器卷积。我的代码是this project的改编版,其中包含Matlab文件,供您查看其工作原理。
我的代码(在C ++和Matlab端口)由于我的大学可能存在copywrite问题而无法公开发布,但如果您通过dberm22 [at] gmail [dot] com向我发送电子邮件,我会非常愿意 ahem ::讨论我的工作。