如何以编程方式确定歌曲的速度/ BPM?常用什么算法,必须考虑什么?
3 回答

慕妹3242003
TA贡献1824条经验 获得超6个赞
在单个StackOverflow帖子中进行解释很难。通常,最简单的拍子检测算法通过定位易于检测的声能峰值来工作。更复杂的方法使用梳状滤波器和其他统计/波形方法。有关包括代码示例的详细说明,请查看此GameDev文章。

森林海
TA贡献2011条经验 获得超2个赞
节拍提取涉及音乐中认知度量结构的识别。通常,这些不对应于物理声能-例如,在大多数音乐中都有一定程度的晕厥,这意味着我们感知到的“踩踏”拍不对应于物理声的存在。这意味着,这与开始检测(物理声音的检测)完全不同,并且以不同的方式执行。
您可以尝试Aubio库,这是一个普通的C库,提供了开始和节拍提取工具。
还有在线Echonest API,尽管这涉及将MP3上载到网站并检索XML,所以可能不太适合。
添加回答
举报
0/150
提交
取消