什么是节拍检测 / BPM计数器?

节拍检测器测算音频的每分钟节拍数(BPM),并对上传文件估算音乐调性。它通过 Web Audio API 捕捉波形中的能量峰值来定位节奏。你可以分析文件、实时通过麦克风聆听,或手动跟拍获得快速 BPM。

三种检测模式共用同一个读数。文件分析用 Web Audio API 解码音频,在 40-220 BPM 范围内扫描起始峰值找出主导节奏,再用 Krumhansl-Schmuckler 调性轮廓做色度分析估算调性(如 A 小调、C 大调)。实时麦克风从麦克风采集音频并实时刷新 BPM,锁定稳定节拍后即收敛。跟拍模式对最近几次轻敲取平均,无需上传即可测出收音机正在播放的歌曲节奏。

使用方法

  1. 上传音频文件(MP3、WAV、OGG),启动实时麦克风以即时检测节拍,或使用跟拍按钮手动跟随附近播放的音乐。
  2. 对于上传的文件,检测器会扫描音频波形的能量峰值计算主导节奏,并通过色度分析估算音乐调性。
  3. 查看检测出的 BPM、置信度指示器和调性读数,然后复制结果或尝试另一首曲目。

何时使用

  • DJ 备场,提前掌握每首歌的 BPM,方便规划过渡和调性匹配。
  • 练吉他或鼓时,把节拍器调到歌曲实际速度上对照练习。
  • 找适合跑步步频(常见 160-180 BPM)的音乐做歌单。

结果

你是一名DJ,正在准备一套串烧,需要匹配各曲目的节奏。上传每首曲目,即可立即显示BPM——一首浩室音乐读数为128 BPM,一首鼓打贝斯读数为174 BPM。

常见问题

自动检测的 BPM 准确率怎么样?
底鼓稳定或贝斯线明显的曲目,误差通常在 ±1 BPM 以内。带 rubato、复合节奏、打击乐稀疏或大量混响的歌可能偏差 5-10 BPM,这种情况下工具一般会标注「低置信度」。
为什么有时检测结果是实际速度的一半或两倍?
因为算法锁到另一层节拍上了,比如只抓了隔一个的底鼓,或者把踩镲当主节拍。如果觉得结果不对,试着把数字乘以 2 或除以 2,再跟手敲结果对一下,通常会吻合。
支持上传哪些音频格式?
MP3、WAV、OGG、M4A、FLAC、AAC 都可以,Web Audio API 都原生解码。超过 10 分钟的长文件解码会多花几秒,但解码完成后,检测几乎是瞬时的。
手敲模式要敲多少下才出结果?
敲两下就有初步估计,但敲到大约第八下时,滑动平均把抖动磨平,精度才稳定下来。敲在强拍(底鼓或第一拍)上,而不是每个军鼓上,结果最干净。
「置信度」数值具体代表什么?
它反映节拍间距直方图里某一个 BPM 主导得多明显。高置信度意味着几乎每个间隔都对得上同一个 BPM。低置信度通常说明歌曲中途变速,或者有两层节拍在竞争。

相关工具