線上鼓機是一款基於瀏覽器的 16 階編曲器,它透過將 BPM 視為每分鐘四分音符數(與 MusicXML 速度定義一致)、拒絕任何非 40 至 240 之間的整數小數 tempo 輸入,以及使用 Web Audio API 在本地合成底鼓、軍鼓和 hi-hat 音色(而非載入取樣檔案),來避免線上節奏工具最常見的陷阱。每個小節涵蓋四個四分音符拍,再劃分為十六個等長的十六分音符階,因此階的時長永遠是 60 ÷ BPM ÷ 4 秒。排程器每 25 毫秒輪詢一次,並在 AudioContext 時間軸上提前最多 100 毫秒安排即將發生的事件,而可聽聲音來源使用其排定的 Web Audio 開始時間,而非 JavaScript 計時器回呼,作為拍點時鐘。停止播放時會清除排程計時器、停止並中斷每個被追蹤的 AudioScheduledSourceNode,並關閉 AudioContext,以防止音色卡住或重複排程。理解這三項設計決策——嚴格的 tempo 驗證、固定的 16 階運算,以及乾淨的啟動與停止生命週期——是避免錯誤的基礎,因為使用者幾乎遇到的每個錯誤都可追溯回其中之一。

線上鼓機的實際運作方式
介面是一個精簡的 16 階網格,包含三列——底鼓、軍鼓與 hi-hat——外加一個 tempo 輸入和三個傳輸按鈕:播放、停止,以及清除圖樣。每個儲存格儲存一個布林值,因此圖樣剛好是 3 軌 × 16 階,共 48 格。起始圖樣是一個四拍底鼓範例,底鼓落在每個四分音符上,軍鼓落在第二拍和第四拍,閉合 hi-hat 落在每個八分音符上;該預設僅是提供你一個編輯的起點,並非必須遵守的規則。當你按下播放時,工具會建立一個 AudioContext(瀏覽器要求在音訊開始前必須有使用者手勢)、讀取目前的圖樣,並啟動前瞻式排程器。移動的階框線會顯示循環位置,讓你能看見循環是否正在執行以及目前位置。按下停止會釋放所有音訊來源、清除排程器並關閉 AudioContext;按下清除圖樣則會將全部 48 格關閉,而不影響播放,讓你能在靜音下編曲後再試聽成果。
音訊在播放時即時生成。底鼓是一個短暫的正弦振盪器,其頻率快速下降且增益衰減。軍鼓使用新生成的雜訊緩衝區,透過高通濾波器和增益包絡塑形。Hi-hat 使用較短、較安靜的雜訊脈衝,並具有較高的截止頻率。由於這些都不是錄音,因此工具絕不會聯繫取樣主機、絕不會繼承第三方取樣授權,也絕不會將你的圖樣上傳到伺服器。音色會因瀏覽器音訊實作、輸出硬體、取樣率,以及每次軍鼓或 hi-hat 觸發產生的隨機雜訊而略有不同——這種變化是正常的,並非錯誤,也是為何你應該在實際打算使用的系統上驗證節奏的原因之一。
初學者常犯的 Tempo 與 BPM 錯誤
最大的混淆來源在於此鼓機中 BPM 的定義。根據上方連結的 MusicXML 規範,此處的 BPM 指的是每分鐘四分音符數,而非每小節的拍數,也非每分鐘十六分音符數。網格中每個四分音符包含四個十六分音符階,因此一階永遠持續 60 ÷ BPM ÷ 4 秒。在預設 120 BPM 下,每階為 60 ÷ 120 ÷ 4 = 0.125 秒,一個完整小節(十六階)持續 2 秒。初學者常誤以為小節應填滿 60 ÷ BPM 秒——那僅在一小節等於一個四分音符時才成立,而本工具並非如此。
Tempo 輸入在設計上是嚴格的。僅接受 40 至 240 之間的整數小數。空輸入、小數分數、符號、指數表示法、單位文字,以及超出範圍的值會引發可復原的錯誤,先前的 tempo 維持有效。第二個常見錯誤是在播放中途變更 tempo,卻納悶為何節拍停止。本工具會刻意停止目前的執行並在套用新 tempo 之前釋放其音訊內容,因為讓舊排程器在兩種 tempo 混合下繼續執行會導致可聽見的飄移。在輸入有效值後再次按下播放,新 tempo 將從第一階乾淨地重新開始。
| BPM | 階時長(60 / BPM / 4) | 完整 16 階小節 |
|---|---|---|
| 40(下限) | 0.375 秒 | 6 秒 |
| 120(預設) | 0.125 秒 | 2 秒 |
| 240(上限) | 0.0625 秒 | 1 秒 |
這三個值是來自工具本身的記錄參考點。任何介於 40 至 240 之間的 BPM 皆遵循相同公式;請挑選符合你音樂目標的值,而非記憶中來自不同拍點單位的節拍器的值。
逐步建構乾淨的圖樣
在使用 線上鼓機 時避免錯誤最可靠的方式,是按照刻意安排的順序建構圖樣,將可安全變更的決策與強制重新啟動的決策分開。每次開始新的循環時,請使用此檢查清單。
- 在最新的桌上型瀏覽器中開啟線上鼓機,並將分頁保持在前景,以免排程器被節流。
- 決定要從預設的四拍底鼓範例開始,還是從靜音開始。若想要空白畫布,請按下清除圖樣以靜音全部 48 格。
- 將 tempo 設定為介於 40 至 240 之間的整數小數。在繪製圖樣時將其維持在 120 BPM,設定好格子後再進行調整。
- 在底鼓列的四分音符位置(階 1、5、9、13)點擊格子以建立基本脈動,或在階 1 和 11 點擊以營造半拍感。
- 在軍鼓列的第二拍和第四拍(階 5 和 13)點擊格子以建立反拍,或邊聽邊調整位置。
- 在 hi-hat 列的偶數階點擊格子以建立穩定的八分音符,或在每個階點擊以建立十六分音符。
- 按下播放以循環結果,並觀察移動的階框線,這樣除了用耳朵聽之外,還能視覺確認循環位置。
- 在播放執行時切換其他格子——編輯會在下一個 100 毫秒的排程窗口內讀取,因此變更幾乎立即生效。
- 休息時按下停止以釋放 AudioContext;再次按下播放即可從第一階以相同圖樣重新開始。
- 若之後要變更 tempo,請輸入有效的整數並再次按下播放;請記住 tempo 編輯永遠會重新啟動播放。
依序遵循這些步驟可讓你的決策保持線性:先圖樣、再傳輸、最後 tempo。該順序與工具內部鎖定的順序一致,因此你不太會與排程器產生衝突。
播放期間的圖樣編輯錯誤
在循環執行時所做的編輯會套用至下一個排程窗口,而非追溯生效,這表示在階已被排程後立即點擊,要等到該階下一次循環才會出現。新手有時會快速點擊並斷定工具「延遲」;真正原因是前瞻式排程器已決定好下個 100 毫秒的內容。若測試時需要立即可聽見的變更,請按下停止,再按播放以從第一階強制重新排程。工具也會在每個網格按鈕上公開開關狀態和具描述性的無障礙標籤,因此請勿僅依賴顏色來判讀圖樣——若各列看起來模糊不清,請查看按下的狀態,並記住當使用者要求減少動態效果時,顏色過渡會被停用。
第二個錯誤是在循環執行時編輯 tempo,這會永遠停止執行。該行為是針對已知排程錯誤類別的正確回應,且嘗試以不同格式輸入相同數字來「欺騙」工具,只會引發格式錯誤。在播放期間編輯 tempo 會停止目前的執行並釋放其音訊內容;在輸入有效值後按下播放即可從第一階乾淨地重新開始。
瀏覽器音訊、音量與排程陷阱
Web Audio 排程器對一般主執行緒抖動具有強健性,但它並非數位音訊工作站。瀏覽器的重度節流、分頁暫停或置於背景、播放中途的裝置變更、高系統負載,以及作業系統音訊延遲,都可能影響你聽到的結果。若節拍聽起來卡頓,請點擊分頁將其帶回前景、關閉其他佔用資源的分頁,然後再次按下播放。AudioContext 的建構僅在播放內部進行,因此本工具遵守瀏覽器在音訊開始前必須有使用者手勢的要求——這就是為何重新整理後首次按下播放有時會沒有聲音,直到你再次點擊。按下播放前請將裝置音量維持適中,特別是使用耳機時,因為合成的暫態在某些輸出系統上可能聽起來更響。若音訊初始化或排程失敗,工具會回報可復原的訊息,並讓你再次嘗試播放,而不會留下錯誤的播放狀態。
由於底鼓、軍鼓和 hi-hat 是在播放時即時合成,而非從取樣包載入,因此音色會因瀏覽器音訊實作、輸出硬體、取樣率,以及每次觸發產生的隨機雜訊而略有不同。此變化屬於正常;如需更深入了解這三種音色如何在本地生成,請參閱 瀏覽器中鼓聲是如何生成的。若你需要跨裝置完全相同的取樣渲染,請將圖樣概念轉移至專用的音樂應用程式。
What This Drum Machine Cannot Do
Treating the limits as mistakes is one of the most common errors of all, so it is worth listing them up front. The Online Drum Machine is a focused 16-step loop with three synthesized voices, Play, Stop, toggle cells, and Clear pattern. It does not support swing, triplets, velocity, accents, per-track volume, effects, recording, export, MIDI synchronization, arbitrary time signatures, or guarantees for a backgrounded tab. If you need production arrangement, exact cross-device synchronization, rendered stems, or latency calibration, the right move is to capture the pattern concept and re-create it in a DAW.
| Supported in this tool | Outside this tool's scope |
|---|---|
| 16-step loop, three synthesized voices | Swing, triplets, velocity, accents |
| Whole-number tempo from 40 to 240 BPM | Fractional tempo, tempo automation |
| Click to toggle any of the 48 cells | Per-track volume, effects, EQ |
| Play, Stop, Clear pattern | Recording, export, MIDI sync |
| Local Web Audio synthesis | Sample uploads, sample libraries |
Treating these gaps as bugs leads to wasted time. Treating them as design boundaries helps you decide when to graduate to a fuller workstation. Used as intended — for sketching straight sixteenth-note ideas, learning step sequencing, or testing a basic pulse — the Online Drum Machine keeps the moving parts small enough that the mistakes you might otherwise make simply do not have anywhere to hide.
Related reading: Avoid Mistakes When You Use an Online Metronome.