我正在构建一个基于节奏的游戏,并且在节奏检测方面面临很多问题。我收到正在播放的歌曲的当前频谱。它看起来像一个具有 512 个浮点数的浮点数组。256 用于左右声道表示。FFT 也可用。但我不知道如何处理这些数据,我已经做了一些可视化实验,但它给我的信息很少。我已经搜索了一些现成的算法,但什么都没有。拜托,有人可以帮我提供一些与节奏检测相关的参考资料、材料、文章,以及使用音频频谱。代码也会很有帮助。谢谢。
问问题
6902 次
3 回答
4
也许您没有使用正确的搜索词。尝试用谷歌搜索“节奏检测”或“节拍检测”以及“代码”或“算法”。有很多论文、参考资料、代码示例等。
只需点击几下:
http://www.cs.princeton.edu/~lieber/cos325/final/
http://www.clear.rice.edu/elec301/Projects01/beat_sync/beatalgo.html
于 2011-03-27T17:03:27.790 回答
4
您可能想查看Dancing Monkeys项目的源代码和项目报告。Dancing Monkeys 自动为 DDR 生成 stepfile,它使用一些相当复杂的节拍检测来实现。它是用matlab写的。
于 2011-03-28T01:28:19.997 回答
2
你应该看看节拍谱算法:http ://www.rotorbrain.com/foote/papers/icme2001/icmehtml.htm 。
它通过计算小样本频谱图的相似性来提取有关节奏和音乐结构的信息。它相对容易实现并且允许检索可靠的信息。
于 2011-03-28T09:07:13.277 回答