← 返回全部工具

准备

0

次数

什么是节拍计数器?

节拍计数器是一款输入所需BPM(每分钟节拍数)后,即可按该速度精确播放提示音的运动节拍器工具。它直接利用浏览器的音频播放调度功能,因此不会出现节拍逐渐偏移的漂移现象,从头到尾都精准同步。下降动作和上升动作会播放不同的音调,因此无需看屏幕,仅凭声音就能跟上节拍,每完成两拍训练次数就会自动增加。并非所有运动都适合相同的速度,因此选择俯卧撑、卷腹、深蹲等下降·上升动作明显的运动类型时,会自动填入适合该运动的默认BPM。许多免费节拍器、拍数计数应用是通过setInterval播放节拍的,这种方式仅几分钟就会出现明显偏移。本工具从一开始就基于音频调度(AudioContext)构建,因此不会出现这种偏移。

使用方法

在运动类型中选择您要进行的运动,系统会自动填入适合该运动的默认BPM。您也可以直接修改BPM数值,如果列表中没有您要的运动,可以选择「自定义」并设置想要的速度。点击「开始」按钮后,会立即以该速度播放节拍音。下降阶段播放低音,上升阶段播放高音,每完成两拍(下降+上升)训练次数就会增加一次。训练结束后点击「停止」按钮即可。

适用场景

为什么AudioContext调度比setInterval更精准

如果用普通的setInterval()函数生成节拍,每次JavaScript引擎忙于其他任务(渲染、垃圾回收等)时都会延迟几毫秒,这些微小延迟累积起来,几分钟后节拍就会出现明显的「漂移」。本工具则采用基于浏览器音频时钟(AudioContext的currentTime)的预先调度方式(look-ahead scheduling),提前排好接下来若干个节拍。由于音频时钟运行在独立于其他JavaScript任务的精密计时器上,无论播放多久节拍都不会漂移。

运动节奏使用建议

常见问题

节拍会不会越到后面越不准?
不会。本工具通过浏览器的音频调度功能(AudioContext)提前将下一拍精确安排在准确的时间点,因此比一般计时器精准得多,不会出现偏移。
训练次数是如何计算的?
每完成一次下降拍和一次上升拍,共计两拍,训练次数就会增加1次。
BPM的设置范围是多少?
可以在20~240 BPM之间设置。
选择运动类型后BPM会被固定吗?
不会。选择运动类型只会自动填入适合该运动的默认BPM,之后仍可在BPM输入框中自由修改数值。
使用耳机或蓝牙音箱时节拍还准确吗?
准确。蓝牙设备可能会有一定的输出延迟,但这只是声音传输路径上的延迟,不会影响节拍本身的间隔。如果介意蓝牙延迟,使用有线耳机会感觉更加即时。
可以不选择运动类型直接开始吗?
可以,选择「自定义」,或者随便选一个类型后直接修改BPM数值即可。
浏览器标签页在后台运行时声音会停止吗?
不会,Web Audio API的设计可以在后台持续播放,因此您可以一边做其他事情,一边继续听节拍提示音。