通过分析音频频谱进行节奏检测
我正在构建一个基于节奏的游戏,并面临很多节奏检测问题。我收到正在播放的歌曲的当前频谱。它看起来像一个包含 512 个浮点的浮点数组。 256 用于左声道和右声道表示。还可以使用 FFT。但我不知道如何处理这些数据,我做了一些可视化实验,但它给了我很少的信息。我用谷歌搜索了一些现成的算法,但什么也没有。请有人帮我提供一些与节奏检测、音频频谱相关的参考资料、材料和文章。代码也将非常有帮助。谢谢。
I'm building a rhythm-based game, and facing a lot of problems with rhythm-detection. I receive the current spectrum of a playing song. It looks like a float array with 512 floats. 256 for left and right channel representation. FFT is also available. But I have no idea how to work with that data, I've made some experiments with visualizing, but it gave me very few information. I've googled for some ready algorithms, but there is nothing. Please, can someone help me with, maybe, some references, materials, articles connected with rhythm detection, working with audio spectrum. Code will also be very helpful. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
也许您没有使用正确的搜索词。尝试用谷歌搜索“节奏检测”或“节拍检测”,以及“代码”或“算法”。有很多论文、参考文献、代码示例等。
只有一些点击:
http ://www.cs.princeton.edu/~lieber/cos325/final/
http://www.clear.rice.edu/elec301/Projects01/beat_sync/beatalgo.html
Maybe you didn't use the right search-terms. Try to google 'tempo detection' or 'beat detection', together with 'code' or 'algorithm'. There are lots of papers, references, code examples, etc.
Just a few hits:
http://www.cs.princeton.edu/~lieber/cos325/final/
http://www.clear.rice.edu/elec301/Projects01/beat_sync/beatalgo.html
您可能想查看 Dancing Monkeys 项目的源代码和项目报告。 Dancing Monkeys 自动生成 DDR 的步骤文件,并使用一些相当复杂的节拍检测来实现这一点。是用matlab写的。
You might want to check out the source and project report for the Dancing Monkeys project. Dancing monkeys automatically generates stepfiles for DDR, and it does so using some rather sophisticated beat detection. It's written in matlab.
您应该看看节拍频谱算法:http://www.rotorbrain。 com/foote/papers/icme2001/icmehtml.htm。
它通过计算小样本频谱图的相似度来提取有关节奏和音乐结构的信息。它相对容易实现并且允许检索可靠的信息。
You should have a look at the beat spectrum algorithm: http://www.rotorbrain.com/foote/papers/icme2001/icmehtml.htm.
It extracts information about rythm and musical structure by computing the similarity of small samples' spectrograms. It is relatively easy to implement and allows robust information to be retrieved.