最简单的节拍跟踪算法

信息处理 声音的 离散信号 声音 音乐
2022-02-25 13:46:46

我想要一个相对容易实现但相对可靠的算法来检测音频文件中的节拍位置。我的目标是获取与特定时间瞬间最近的节拍的位置,即如果给定当前播放时间,我怎样才能得到下一个节拍的位置。有人知道可以帮助我解决这个问题的任何算法吗?

3个回答

实现 D. Ellis 算法的 matlab 代码在他们的网站上:

http://labrosa.ee.columbia.edu/projects/beattrack/

我已经实现了 Simon Dixon 的BeatRoot,发现它是一个简单而高效的节拍检测器。我相信 Web 上有示例 Java 代码来演示他的算法。

Essentia C++/Python 库提供了几种节拍跟踪算法:

http://essentia.upf.edu/documentation/reference/std_RhythmExtractor2013.html

这是算法发表于:JR Zapata、M. Davies 和 E. Gómez,“多功能节拍跟踪器”,IEEE/ACM Transactions on Audio、Speech and Language Processing。22(4),第 816-825 页,2014 年。http ://dx.doi.org/10.1109/TASLP.2014.2305252

多功能节拍跟踪器的 Matlab 实现是: https ://github.com/JoseRZapata/MultiFeatureBeatTracking