什么是节拍检测 / BPM计数器?
节拍检测器测算音频的每分钟节拍数(BPM),并对上传文件估算音乐调性。它通过 Web Audio API 捕捉波形中的能量峰值来定位节奏。你可以分析文件、实时通过麦克风聆听,或手动跟拍获得快速 BPM。
三种检测模式共用同一个读数。文件分析用 Web Audio API 解码音频,在 40-220 BPM 范围内扫描起始峰值找出主导节奏,再用 Krumhansl-Schmuckler 调性轮廓做色度分析估算调性(如 A 小调、C 大调)。实时麦克风从麦克风采集音频并实时刷新 BPM,锁定稳定节拍后即收敛。跟拍模式对最近几次轻敲取平均,无需上传即可测出收音机正在播放的歌曲节奏。
使用方法
- 上传音频文件(MP3、WAV、OGG),启动实时麦克风以即时检测节拍,或使用跟拍按钮手动跟随附近播放的音乐。
- 对于上传的文件,检测器会扫描音频波形的能量峰值计算主导节奏,并通过色度分析估算音乐调性。
- 查看检测出的 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。低置信度通常说明歌曲中途变速,或者有两层节拍在竞争。