检测一首歌中的节拍

我正在开发一个项目,要求我在应用程序中播放歌曲时添加节拍检测(WinForms – C#)。

我目前正在使用NAudio.NET播放歌曲并显示有关歌曲的详细信息。

是否有一个库允许我这样做或某种方式手动检测这个? 我不期待一个完整的解决方案,但指向正确的方向。 理想情况下,我希望这是一个实时检测,但它不是必需的。

您可以使用此BPM检测库

除了BPM计算之外,它还允许您获得每个节拍,因此您可以调整您的可视化,如果是这样的话。

这个问题已被提出; 看看这个StackOverflow线程 。 一些答案包括显式节拍检测算法和链接。

  • GameDev.net – 算法摘要
  • 梳状滤波器
  • StackOverflow线程上有更多算法