線上節拍器

拖拉、加減或點拍就能設定速度,可選拍號、第一拍重音和細分,按「開始」就有節拍。

聲音在你的瀏覽器裡產生。不用麥克風,也不會把你的設定傳到任何地方。

先講清楚:手機切到背景或鎖螢幕後,瀏覽器可能讓節拍停止或變得不準(iPhone 尤其常見),練習時請讓這一頁留在前景、螢幕開著。

120BPM

目前是第 – 拍

跟著音樂連續點,工具會算出速度。

怎麼用

  1. 用「−1、+1、−5、+5」或下方滑桿調整速度,也可以直接輸入 20 到 300 之間的數字。不確定曲子多快時,跟著音樂連續點「點拍測速」,工具會算出大約的 BPM。
  2. 選拍號。2/4、3/4、4/4、5/4 一拍是四分音符;6/8、9/8、12/8 一拍是附點四分音符。
  3. 需要的話選「細分」,讓每一拍多出幾個較輕的聲音,方便抓八分音符、三連音或十六分音符的位置。
  4. 按「開始」。第一拍預設會用較高、較大聲的重音,畫面上的圓點會跟著亮,並可以選擇每拍閃一下畫面。播放中調整速度會立刻生效,不用停下來。

速度術語對照

樂譜上常用義大利文標示速度。目前的 BPM 落在哪個範圍,上方會顯示對應術語;也可以按表格右邊的按鈕,直接套用該範圍中間附近的速度。

術語中文常見範圍(BPM)套用
Larghissimo 極緩板 24 以下
Grave 莊板 24–40
Lento 緩板 40–60
Largo 廣板 40–66
Larghetto 稍廣板 44–66
Adagio 慢板 44–66
Andante 行板 56–108
Moderato 中板 108–120
Allegretto 小快板 112–120
Allegro 快板 120–156
Vivace 活潑的快板 156–176
Presto 急板 168–200
Prestissimo 最急板 200 以上

這些範圍來自辭典整理的常見數值,不同資料會有出入,也有重疊,只能當參考。不同時代的意思也會變,以樂譜與老師的指示為準。

計時準確度

網頁上最常見的節拍器做法是 setInterval 每隔一段時間就發一聲,但瀏覽器的計時器會受網頁忙碌、分頁節流影響,快慢可能差到幾十毫秒,聽起來就是節奏不穩。本工具改成業界建議的「兩個時鐘」做法:

實測數字(用 Chromium 自動化測試,程式碼與原始輸出放在專案的 _test/metronome/):

測試條件結果
離線渲染120 BPM、4/4、連跑 60 秒(120 拍),排程器的喚醒時間用 0 到 40 毫秒的隨機延遲模擬;用 OfflineAudioContext 真的渲染成聲音,再從波形偵測每一拍的起點120 拍全部偵測到;每一拍相對理想時間的最大誤差 0.047 毫秒(約 2 個取樣點,44.1 kHz 下 1 個取樣點=0.023 毫秒);排程時間點本身與理想值的誤差為 0
即時執行120 BPM、4/4、在真實瀏覽器連跑 60 秒,記錄每一拍被排進時間軸的時間點120 拍的排程時間與理想時間誤差為 0(時間用累加算出);每一拍在發聲前 68 到 99 毫秒(中位數 88 毫秒)就已排好,沒有任何一拍來不及

這些數字是「排程」的準確度。實際從喇叭出來的聲音,還會加上裝置固定的輸出延遲(內建喇叭通常很短,藍牙耳機可能到 100 到 300 毫秒),這個延遲每一拍都一樣,所以節奏不會變,只是聲音比畫面晚一點點。

手機切到背景、鎖螢幕會怎樣

瀏覽器為了省電,會限制在背景分頁的網頁:計時器降速、甚至暫停音訊。排程器需要每 25 毫秒醒來,一旦被降速,超過 0.1 秒的預排範圍,聲音就會斷掉。桌機上的 Chrome 在分頁有聲音播放時通常不會限制,但手機(特別是 iPhone)鎖螢幕後常會停止,而且行為依系統與瀏覽器版本不同,我們沒辦法保證。因此請把這一頁留在前景使用。回到頁面時,如果節拍已經被系統暫停,頁面會直接告訴你。

常見問題

這個節拍器準不準?會不會忽快忽慢?

很準,不會因為網頁卡一下就變快變慢。做法是:不用「計時器一響就發一聲」,而是由程式提前把接下來 0.1 秒內的拍子,用音訊時鐘(AudioContext 的時間軸,由音訊硬體驅動)排好發聲時間,計時器只負責定時醒來補排。計時器就算晚醒幾十毫秒,已經排好的拍子仍然落在精確的時間點上。我們用程式實測過:120 BPM 連跑 60 秒共 120 拍,在模擬計時器隨機延遲 0 到 40 毫秒的情況下,聽得到的拍點離理想時間最大誤差約 0.05 毫秒(約 2 個取樣點);詳細做法和數字寫在下方「計時準確度」一節。要提醒的是,這是排程的準確度,實際聽到的聲音還會多一段固定的裝置播放延遲(藍牙耳機尤其明顯),但這段延遲每一拍都一樣,不影響節奏。

手機切到背景或鎖螢幕,節拍會停嗎?

有可能會停,而且各家手機不一樣,我們沒辦法保證。網頁在背景時,瀏覽器常會把計時器降速,或乾脆暫停網頁的聲音,iPhone 的 Safari 尤其容易在鎖螢幕後停止。所以用手機練習時,請讓這一頁保持在前景、螢幕開著。我們會在播放時請瀏覽器「不要自動熄屏」,但這只是請求,是否照辦由瀏覽器和系統決定。如果回到頁面時發現節拍停了,頁面會提示,再按一次「開始」即可。需要鎖屏也不中斷的話,建議改用手機內建或專門的節拍器 App。

BPM 是什麼?練琴該從多快開始?

BPM(Beats Per Minute)是每分鐘幾拍。60 BPM 就是每秒一拍,120 BPM 是每秒兩拍。數字越大越快。練新曲子的常見做法是先用慢到能完全彈對的速度,例如 60 到 80 BPM,穩定之後再每次加 4 到 8 BPM。這是一般練習方法,不是硬性規定,實際請依老師的建議和自己的程度調整。

6/8 拍的 BPM 是怎麼算的?

在 6/8、9/8、12/8 這類「複合拍子」,大家習慣把附點四分音符當成一拍,所以本工具選 6/8 時,每小節是 2 拍,BPM 就是「每分鐘幾個附點四分音符」,每一拍預設再細分成 3 個八分音符,聽起來就是 1-2-3-4-5-6 的感覺,第 1 和第 4 下是較強的拍。如果你的樂譜標示的是「八分音符=某某」,請把那個數字除以 3 再填進來。2/4、3/4、4/4、5/4 則是以四分音符為一拍。

Tap tempo(點拍測速)是怎麼運作的?

你跟著音樂的節奏連續點「點拍」按鈕,工具會把最近最多 8 下之間的時間間隔取平均,換算成 BPM(60000 毫秒除以平均間隔)。點的次數越多越穩,至少要點 2 下。如果超過 2 秒沒有點,就會當成重新開始。結果會限制在 20 到 300 BPM 之間,而且會四捨五入成整數。

為什麼沒有聲音?

常見原因有三個:第一,瀏覽器要等你按下「開始」才允許發聲,所以請先按一次按鈕;第二,iPhone 側邊的靜音開關打開時,網頁的聲音可能被靜音,請先關掉靜音並調大音量;第三,音量滑桿被拉到最低,請調整頁面上的「音量」。如果還是沒聲音,換一個瀏覽器試試,或確認裝置的輸出是不是接到沒開的藍牙裝置。

速度術語(Allegro、Andante)對應的 BPM 是標準答案嗎?

不是。速度術語本來是形容「速度與情緒」,不是精確數字,不同辭典、不同年代給的範圍會有出入,同一個詞在巴洛克時期和 19 世紀的意思也不完全一樣(例如 Largo 在巴洛克時期比 Adagio 快,現代則比較慢)。下表的範圍是依 Wikipedia〈Tempo〉整理的常見數值,範圍有重疊是正常的,請當作參考,以樂譜上的標示或老師的指示為準。

會收集我的資料嗎?

不會。節拍器只在你的瀏覽器裡用 Web Audio 產生聲音,沒有用到麥克風,也不會把你設定的速度、拍號傳到伺服器。網站只會記錄你按了哪個按鈕這類匿名使用事件,不含你填的數字。

規格與來源

其他免費工具

其他分類