線上鼓機產生看似錯誤的結果,通常可以追溯到以下四個原因之一:前一個段落遺留下來的格點、輸入的節拍速度超出嚴格的 40 到 240 BPM 範圍、跨編輯持續運作的 AudioContext,或瀏覽器分頁被節流。線上鼓機公開了每一個驅動聲音的輸入——大鼓、小鼓與 hi-hat 格點、嚴格的 40 到 240 BPM 欄位,以及播放、停止與清除段落控制項——因此每一個看似錯誤的輸出都可以追溯到這四個位置之一,並立即修復。由於此工具完全在瀏覽器中以合成音色執行,沒有上傳內容需要重試,也沒有伺服器佇列需要清除;您只需要知道哪個控制項對應您所看到的症狀。本指南其餘部分將逐步介紹症狀、相應的修復方式,以及此工具刻意不支援的一小部分項目。

鼓機結果中「錯誤」通常的樣貌
在深入探討修復方式之前,請先為症狀命名,才能讓正確的修復對應到正確的問題。大多數讀者的回報可歸入以下五類之一:節奏有播放,但錯誤的樂器在錯誤的步驟上觸發;節奏聽起來比輸入的 BPM 數字更快或更慢;格點應有內容卻看起來空白;播放指示器卡住不動;或三種音色之一靜音而其他音色正常。每個症狀都對應到工具內部的特定原因與特定修復方式。
如果大鼓與小鼓互換,或 hi-hat 出現在大鼓應該出現的位置,該段落很可能是在高速下手動編輯、卻沒注意移動中的步驟外框,或在前一個循環仍在播放時切換了格點,導致耳朵將兩次播放混在一起。如果節奏在編輯節拍速度後變快或變慢,BPM 欄位很可能輸入了分數、符號或超出 40 到 240 範圍的數字,該輸入會以可恢復的訊息加以拒絕。如果格點空白但您並未按下清除,則所有啟用中的格點可能在點擊整個段落的過程中都被切換為關閉;48 個開與關的布林值仍存於記憶體中,只是沒有任何一個被設為真。如果播放指示器凍結,AudioContext 很可能已被暫停,原因是分頁被節流,或瀏覽器要求重新取得使用者手勢。如果只有一種音色靜音,該步驟的小鼓或 hi-hat 噪音緩衝區很可能是被某一列上一個您無意清除的單一切換所靜音。
| 症狀 | 可能原因 | 優先嘗試的修復 |
|---|---|---|
| 錯誤的樂器出現在錯誤的步驟 | 前一個循環仍在播放時切換了格點 | 停止、清除、一次重建一列 |
| 節奏比顯示的 BPM 更快或更慢 | 節拍速度欄位輸入了分數、符號或超出 40 到 240 的值 | 重新輸入 40 到 240 之間的整數 |
| 格點看起來空白但您並未清除 | 建立過程中全部 48 格皆被切換為關閉 | 使用清除段落,然後從起始範本重新建立 |
| 播放指示器凍結或停滯 | 分頁被節流、隱藏,或 AudioContext 已暫停 | 停止、將分頁切回前景,然後播放 |
| 僅一種音色靜音,其他正常 | 某一列的格點被意外切換為關閉 | 重建該單一列,然後播放 |
這種症狀與原因的對應關係是本文其餘部分的骨幹:後續每一節都對應到這些類別之一。
清除格點並重設為乾淨的基準
當錯誤結果的可能原因難以釐定時,最佳的修復方式就是清空格點,並從已知的起始段落重新開始。線上鼓機提供一個清除段落控制項,可關閉全部 48 格——每軌十六個布林值、共三軌——而不變更 BPM 值。當段落不再符合您記得編輯的內容,或您想在重新加入音符之前測試節拍速度與音訊路徑是否仍然正常運作時,請使用清除。
清除之後,格點為靜音。工具仍會記住 BPM,因此您可以按下播放以確認 AudioContext 仍處於作用中狀態,且排程器正在推進步驟外框。如果外框以預期速率通過全部十六個步驟,表示音訊路徑正常,而錯誤結果來自段落本身,而非時間層。接著,一次重新啟用一列格點,每列之後聆聽一次,先前看似錯誤結果的原因通常就會變得明確:某個本應啟用的格點處於關閉狀態,反之亦然。
清除也是切換音樂類型之前,或在長時間小幅編輯之前應採取的正確作法。乾淨的格點加上介於 40 與 240 之間的單一整數 BPM,是排程器所預期的明確基準。任何偏離該基準的狀況,往往會最先以看似錯誤的結果呈現,而清除是回到已知狀態的最快途徑。
一次一個步驟重建段落
這條修復路徑對應到頁面上實際的控制項。當輸出與您輸入的內容不符時,請依循以下有序清單。
- 按下清除段落,將全部 48 格關閉,同時保留 BPM 值不變。
- 在四分音符位置 1、5、9 與 13 上點選四個大鼓格點,以重建四拍大鼓層。
- 點選第二拍與第四拍的小鼓格點,位於小鼓列的步驟 5 與 13。
- 每隔一個點選 hi-hat 格點——步驟 1、3、5、7、9、11、13 與 15——以在八分音符上重建封閉式 hi-hat。
- 按下播放並觀察移動中的步驟外框;如果某個步驟觸發了錯誤的樂器,再次點選該格點以移除,或點選缺少的格點以新增。
- 如果重建後聽起來仍然不對,請按下停止、等待一秒鐘,然後再次按下播放,以便在下次編輯前重新安置 AudioContext。
上述每個步驟皆對應到頁面上實際存在的控制項。格點永遠劃分為四個四分音符拍,每拍再細分為十六個等分的十六分音符步驟,因此步驟編號不會隨著節拍速度變動而改變;僅播放速度會改變。大鼓在 1、5、9 與 13、小鼓在 5 與 13、封閉式 hi-hat 在奇數步驟的起始段落,是首次開啟時隨附的範例,因此重建為此形狀是在自訂之前確認工具正常運作的便捷方式。
修復節拍速度與時間錯誤
節拍速度問題是錯誤結果的第二大常見來源。BPM 控制項僅接受介於 40 到 240 之間的整數十進位值;空白的輸入、小數分數、符號、指數記號,以及超出範圍的值會引發可恢復的錯誤,並保留先前的節拍速度。如果節奏聽起來太快,BPM 欄位很可能包含超過 240 的數字,或先前的編輯不慎加入了小數點。如果節奏聽起來太慢,數值可能低於 40,或您讀取欄位時為一個數字,但頁面接受了另一個數字。
節拍速度的規範遵循 MusicXML 的 sound 元素,其中 BPM 表示每分鐘的四分音符數。格點將每個四分音符分割為四個等分的十六分音符步驟,因此每個步驟持續 60 ÷ BPM ÷ 4 秒。以單一計算範例說明,在 120 BPM 下計算為 60 ÷ 120 ÷ 4,等於 0.5 ÷ 4,等於每步 0.125 秒,而完整的十六步小節為該值的 16 倍,亦即 2 秒。完整小節剛好等於 16 × 60 ÷ BPM ÷ 4 = 240 ÷ BPM 秒。在下限 40 BPM 時,每步為 0.375 秒,小節長度為 6 秒。在上限 240 BPM 時,每步為 0.0625 秒,小節長度為 1 秒。如果聽到的節奏與您輸入的 BPM 不符,請將欄位依序帶入這些錨點節拍速度,以確認排程器在進一步自訂前仍可回應。如需排程時間窗與時序的更深入數學說明,請參閱BPM 數學與排程指南。
第二個時序陷阱:在播放執行時編輯 BPM 欄位會停止目前的循環並關閉 AudioContext,因此下一次按下播放時,會以新的節拍速度從步驟 1 開始。這是刻意行為,而非故障。這是為了防止以舊節拍速度已排程的事件與新節拍速度的事件重疊。其可見行為是節奏在節拍速度編輯後會俐落地重新開始,如果您預期節奏在變更後仍持續播放,可能會誤以為發生問題。MusicXML sound 元素記錄了此 BPM 意義。
修復音訊播放與瀏覽器端問題
部分看似錯誤的結果源自瀏覽器端,而非段落本身。線上鼓機僅在您按下播放後才建立 AudioContext,以遵循瀏覽器要求音訊啟動前必須有使用者手勢的規則。如果頁面長時間開啟而沒有任何點擊,或分頁被隱藏並遭到節流,即使播放指示器顯示有動作,AudioContext 仍可能處於暫停狀態。請按下停止,然後按下播放,以釋放舊的內容並建立新的內容。
即使在內容重新建立後,嚴重的瀏覽器節流、暫停的分頁、裝置變更與高系統負載仍可能影響您聽到的聲音。前瞻迴圈每 25 毫秒檢查一次,並在 AudioContext 時間軸上預先排程至多 100 毫秒內的事件,因此主執行緒的短暫暫停通常不會破壞時序,但長時間的暫停則可能會。如果播放指示器停滯,最可靠的修復方式是將分頁切換回鼓機、按下停止,然後按下播放,以便從步驟 1 重新啟動排程器。
瀏覽器的音訊實作、輸出硬體、取樣率,以及每次小鼓或 hi-hat 敲擊所產生的隨機噪音,也會影響聲音的音色。大鼓是一個帶封包的正弦振盪器,其頻率快速下降而增益衰減。小鼓是一個新產生的噪音緩衝區,經高通濾波器與增益封包塑形。Hi-hat 則是較短、較安靜的噪音脈衝,並具有更高的截止頻率。這些音色皆非取樣,因此每次小鼓或 hi-hat 敲擊皆為新產生,且不會與前一次完全相同。如果某個音色聽起來不對而其他音色正常,最可能的原因是該列上的切換模式,而非合成方式。請按下清除,逐步重建,並確認該音色實際上是在格點中被靜音,還是僅在聽覺上感覺被靜音。
在按下播放前,請將裝置音量保持在適中的範圍,特別是使用耳機時,因為合成過的暫態音在某些輸出系統上聽起來可能更為響亮。一個響亮的暫態音加上過期的 AudioContext,是「看起來」錯誤的結果(即使在螢幕擷圖或波形中,段落本身其實是正確的)最常見的原因。
了解這個工具無法修正的範圍
有些看起來錯誤的結果無法在 Online Drum Machine 內修正,因為該功能超出其範圍。此工具不支援 swing、三連音、力度變化、重音、各軌道音量、效果、錄音、匯出、MIDI 同步、任意拍號,或跨裝置的取樣精準對齊。如果錯誤的結果是節奏過於死板、小鼓音量過小、hi-hat 應該要 swing、循環音樂在兩台裝置上聽起來應該完全相同,或你想要輸出多軌分軌音檔,那麼修復方式就是把這個節奏點子轉移到專門的音樂應用程式。
這個範圍是刻意設定的。此工具是為了草擬十六分音符點子、學習步進編曲,以及測試基本律動而設計。試圖讓它表現得像 DAW,反而會浮現出工具內無法修復的、看起來錯誤的結果。40 到 240 BPM 的限制、嚴格的整數接受度、48 格上限,以及缺乏 swing,都是可用性的設計選擇,而不是 bug。
凡是落在範圍內的問題,前面提到的修正方式都適用。凡是超出範圍的問題,正確的做法是把 Online Drum Machine 當作草稿本使用,並把完成的概念轉移到支援缺失功能的其他工具上。你在此草擬的結果,即使音訊引擎無法延伸至正式製作的需求,作為節奏概念仍是可攜帶的。