
為什麼值得嘗試線上鼓機替代方案
線上鼓機替代方案是一種基於瀏覽器的 16 階序列器,內含三軌(大鼓、小鼓、閉合鈸),嚴格的 40 到 240 BPM 整數節奏範圍,並且完全不需要下載音色,因為每一個音色都是透過瀏覽器的 Web Audio API 即時合成。線上鼓機完全符合此定義:它使用帶包絡的正弦振盪器來建構大鼓音色,並利用剛產生並經高通濾波器塑形的雜訊緩衝區來產生小鼓與閉合鈸,因此網頁從不向外連線至音色主機。由於不需要設定帳號、外掛、音訊檔案、MIDI 橋接或第三方音色授權,切換過去基本上只需開啟分頁並按下播放。
格點永遠是四個四分音符拍分成十六個等長的十六分音符階,而 BPM 被解讀為每分鐘四分音符數,這符合 MusicXML 的 sound 元素所記錄的節奏意義。由於 AudioContext 只在首次按下播放時才建構,此工具遵循要求使用者手勢才能啟動音訊的瀏覽器規範,而其預先排程器會將即將發生的事件排入 AudioContext 時間軸,而非將不穩定的 JavaScript 計時器回呼當作節拍時鐘。
切換工具通常是在控制權與摩擦力之間的取捨。許多鼓機外掛與網頁應用程式仰賴搖擺、力度、效果、錄音與匯出功能,但它們也常以安裝程式、帳號註冊、授權金鑰以及強制下載音色庫的方式佔用你的注意力。專注的替代方案則反其道而行:它只妥善處理一個工作流程,並拒絕超出範疇的功能。
為何 Web Audio 合成會改變局面
此工具與大多數網頁鼓機之間最明顯的差異在於它不取樣。根據 W3C Web Audio API 1.1 規格,由振盪器、音訊緩衝區與雙二階濾波器節點建構的節點圖,正是瀏覽器音訊引擎設計來播放的內容,因此不需要外掛橋接或沙箱化執行環境。大鼓是一個短暫的正弦振盪器,其頻率快速下降而增益衰減,藉此產生熟悉的合成低音鼓音色,且不需要任何檔案。小鼓由剛產生的雜訊緩衝區經高通濾波器與增益包絡塑形而成,而閉合鈸則使用更短、更安靜且高通截止頻率更高的雜訊突發。
擺脫音色檔有三個值得提出的實際結果。首先,網頁從不向外連線至音色主機,這意味著緩慢的網路、被封鎖的 CDN 或隱私過濾器都不會打斷節拍。其次,每個小鼓與閉合鈸的敲擊都在本機生成,因此音色會因瀏覽器的音訊實作、輸出硬體、取樣率以及每次點擊所產生的隨機雜訊而略有差異;此合約坦誠面對此種漂移,並不承諾跨裝置產生完全相同的音色。第三,AudioContext 只在你按下播放後才建構,這既遵循將音訊關聯至使用者手勢的瀏覽器政策,也避免了自動播放音色迴圈時會遇到的靜音分頁問題。
對於希望在投入之前先了解每個音色如何建構的讀者,無音色鼓機指南以淺白語言詳細說明合成圖,並將其與規格中所描述的相同節點類型進行對照。
在瀏覽器中設定 16 階節奏
16 階格點遵循固定結構:第一列為大鼓、第二列為小鼓、第三列為閉合鈸,且第一階位於最左側。編輯以單一格點為單位進行,因此誤點很容易復原。
- 輸入節奏。在節奏欄位中輸入介於 40 到 240 之間的整數並確認。任何空白、分數、帶正負號、指數形式或超出範圍的值都會引發可復原的錯誤,而非悄悄調整為預設值。
- 切換起始格點。點擊大鼓、小鼓或閉合鈸列中的任何格點,即可為對應的十六分音符階開啟該樂器。再點擊同一格點即可關閉;點擊一次恰好切換一階。
- 建構 groove。逐列編輯,讓每條音軌讀起來像一句話。大鼓落在重拍,小鼓落在第二與第四拍,閉合鈸落在每個八分音符位置,這構成了預設的固定四拍模式,而任何一個格點都可以單獨翻轉。
- 按下播放以試聽迴圈。音訊從第一階開始。移動的階框會標示目前位置,並更新可見狀態而不重新渲染格點的其他部分。
- 按下停止以結束播放。排程計時器會被清除,已追蹤的 AudioScheduledSourceNode 物件會被停止並斷開連線,且 AudioContext 會被關閉,以便下次播放時從全新的上下文重新開始。
- 按下清除模式以重設格點。全部 48 格都會關閉,讓你能在靜音中勾勒新的 groove,這在預設範例礙事時特別有用。
- 中途更改節奏。編輯節奏數值會停止目前的執行、釋放其音訊上下文,並等待下一個有效輸入。再次按下播放時,會從第一階以新數值乾淨地重新開始,而非混合兩種節奏。
階的時間如何由 BPM 計算
BPM 被視為每分鐘四分音符數,這是 MusicXML 規格中 sound 元素所承載的節奏意義。由於每個四分音符內含四個十六分音符階,因此單一階的長度為 60 除以 BPM 再除以 4 秒,而完整的 16 階小節只是該階長度乘以 16。
以 100 BPM 為例的計算:階的時長等於 60 ÷ 100 ÷ 4 = 0.6 ÷ 4 = 每階 0.15 秒。完整小節等於 0.15 × 16 = 頭到尾共 2.4 秒。在中等 100 BPM 下,迴圈舒適地維持在 3 秒以下,使其成為介於合約文件化邊界之間的實用中間參考值。
| 節奏(BPM) | 階時長 | 完整 16 階小節 |
|---|---|---|
| 40(下界) | 0.375 s | 6.000 s |
| 120(預設) | 0.125 s | 2.000 s |
| 240(上界) | 0.0625 s | 1.000 s |
這三列皆直接記載於此工具的已驗證行為中:在 120 BPM 時,每階為 0.125 秒,完整小節為 2 秒;在 40 BPM 時,每階持續 0.375 秒,小節為 6 秒;在 240 BPM 時,每階持續 0.0625 秒,小節為 1 秒。40 至 240 的範圍是刻意的可用性與排程保護,而非對音樂節奏極限的主張。節奏輸入相當嚴格:僅接受 40 到 240 之間的整數小數,任何格式錯誤的值都會被回報為可復原錯誤,而非強制轉換。
對於希望在同一套常數旁看到排程示意圖的讀者,線上節拍製作器精確度指南詳細說明了階編號、時間戳記與作用中音軌快照如何由同一共享公式建構,而不會出現可能產生偏移的平行分支。
範疇與限制:本替代方案不打算做的事
從功能更完整的工具切換過來,意味著需了解哪些功能是被刻意排除的。線上鼓機專注於單一小節的十六分音符概念,並拒絕附加任何會稀釋此範疇的功能。
| 功能 | 線上鼓機 | 一般外掛或基於音色的工具 |
|---|---|---|
| 安裝 | 無 — 在瀏覽器分頁中執行 | 需要下載或安裝程式 |
| 需要音色包 | 否 — 每個音色皆為合成 | 通常內建或強制要求 |
| 帳號或註冊 | 無 | 常見,有時強制執行 |
| 音軌 | 3(大鼓、小鼓、閉合鈸) | 多軌,並可路由 |
| 階格 | 固定 16 階,一小節 | 可變長度與解析度 |
| 時值偏移 | 僅限直十六分音符 | 搖擺、三連音、人性化 |
| 力度、重音、各軌音量 | 不支援 | 常見 |
| 效果(殘響、延遲、EQ) | 不支援 | 常見 |
| 錄音、匯出、MIDI 同步 | 不支援 | 常見 |
| 背景分頁保證 | 不承諾 | 也並非總是提供 |
當工作轉向製作編曲、精確的跨裝置同步、已渲染的分軌或延遲校正時,請將此模式概念轉移至專用的音樂應用程式,並將此序列器保留用於粗剪階段。經驗證的產品常見問題頁面簡明地確認:錄音、匯出、搖擺、力度、效果與 MIDI 皆超出其範疇,這是有意設計而非疏漏。
切換過去的快速參考
以下幾點實用說明能讓交接更加順暢。
- 瀏覽器的音訊政策。網頁僅在點擊播放後才建構其 AudioContext。若瀏覽器封鎖了首次點擊,再點一次即可在不重設模式的情況下恢復上下文。
- 播放期間的模式編輯。你可以於迴圈執行時切換格點;變更會被即將到來的排程窗口讀取,而非等待下一小節。
- 分節流。嚴重的節流、暫停的分頁、裝置變更以及高系統負載仍可能影響你聽到的內容,因此請勿在大量上傳期間依賴此迴圈取得樣本精度的時序。
- 耳機音量。合成的暫態在某些輸出硬體上可能比預期更響。在按下播放前請將裝置音量保持適中,使用耳機時尤需注意。
- 減少動態效果。階指示器使用顏色與外框。當設定減少動態效果偏好時,顏色過渡會被停用,僅保留外框動畫。
- 窄螢幕。橫向捲動讓全部 16 階在手機上仍可使用,而不會將觸控目標壓縮成難以辨識的細小標記。
勾勒出 groove 後,你可以使用 線上節拍器比對外部參考來確認節奏,該工具同樣在瀏覽器本機執行,無需註冊。