=

線上鼓機透過 Web Audio API 直接在瀏覽器中產生每一個大鼓、小鼓與 hi-hat 擊聲——它不會下載或上傳任何形式的音訊樣本。這個單一事實直接表達了許多使用者搜尋的問題:當你載入這個工具時,你的裝置從未從遠端伺服器擷取樣本包,而你的麥克風、硬碟或工作階段也從未被要求回傳任何聲音檔案。大鼓由帶包絡的正弦振盪器產生,小鼓與 hi-hat 則由頁面在你按下 Play 的當下,於本地端建立的短暫雜訊緩衝區建構而成。不需要帳號、不會出現檔案選擇器,也不會向任何第三方內容傳遞網路發出請求。由於這三個音色是在播放時即時合成,因此這個工具不會繼承來自外部託管端的任何樣本授權、版稅義務或上傳政策。最終成果是一台 16 階的鼓機,只要頁面載入完成即可離線運作,無論是在飛航模式下的手機或桌面電腦上行為完全一致,而且除了從你喇叭輸出的聲音之外,不會留下任何音訊足跡。

does online drum machine drum machine download or upload audio samples
線上鼓機:如何在瀏覽器中製作鼓聲

為何許多線上鼓機仰賴上傳或下載的樣本

以樣本為基礎的鼓機確實有理由去擷取音訊:擬真的鼓聲通常出自專業錄音的多麥克風工作階段。在錄音室中收錄的小鼓聽起來比「正弦加雜訊」的近似值更豐厚,因此許多瀏覽器節奏製造工具會在首次播放時從內容傳遞網路拉取檔案。有些則要求你拖入自己的 .wav 或 .mp3 檔案,以便試聽特定的鼓組或使用你已擁有的聲音。這兩種做法都會帶來純合成工具可以避開的疑慮:網路請求會將你的 IP 位址與載入時間曝露給樣本主機,而上傳的檔案則會被送往伺服器,那裡的保留與刪除政策往往難以查證。再加上授權層的問題,因為大多數錄製的鼓聲擊樣是依據限制再散布、混音權利與商業使用條款來授權所發佈。對於只需要一個快速脈衝來測試歌曲構想、勾勒節奏,或學習步進編曲的使用者而言,這些權衡其實是多餘的。

線上鼓機如何在本地端合成聲音

線上鼓機以 Web Audio 節點產生三個音色,而這些節點只存在於單一音符的播放期間。大鼓從一個正弦振盪器開始,其音高迅速下滑,同時增益包絡衰減至無聲,藉此產生合成低音鼓特有的沉厚擊聲。小鼓與 hi-hat 則由即時產生的雜訊緩衝區建構而成,也就是說頁面會在 JavaScript 中建立一小段偽隨機音訊資料,並將它路由經過高通濾波器與增益包絡。小鼓使用較低的截止頻率與較長的包絡,因此聽起來明亮但帶有少量厚度;hi-hat 則使用較高的截止頻率與較短、較安靜的包絡,以模擬閉合 hi-hat 的金屬點擊聲。由於每一次小鼓或 hi-hat 擊聲都從新的雜訊緩衝區取樣,音色會在每次擊打之間產生微妙變化,就像真實的 hi-hat 連續搖動兩次時,每次聽起來略有差異一樣。W3C Web Audio API 規範定義了這些基本元件,而這個工具嚴格地在瀏覽器分頁內部使用它們。實際音色仍會在瀏覽器、輸出裝置與取樣率之間產生漂移,因為 Web Audio 的實作在各邊緣處有所不同——但底層配方是本地的、排程具有決定性,而且完全沒有任何下載素材。

在線上鼓機上建立並播放你的第一段節奏

  1. 在瀏覽器中開啟線上鼓機,並找到速度輸入欄位。輸入介於 40 到 240 之間的整數;預設的 120 BPM 是流行、搖滾與大多數練習循環的舒適起點。
  2. 點擊大鼓、小鼓或 hi-hat 音軌中的任何一個格子,即可開啟或關閉該十六分音符的步進。每一列有十六個按鈕,再次點擊同一個按鈕會將該格切回靜音,方便你快速試聽不同選擇。
  3. 觀察步進指示燈,它會在循環播放時高亮目前所在位置。若要以自己的版本取代預設的四拍底範例,請使用「清除循環」按鈕將全部 48 格關閉,然後從靜音中一次切換一格地建立節奏。
  4. 按下 Play 開始循環。AudioContext 會在使用者操作時建立,因此第一個音符可能會延遲數分之一秒才開始——這是瀏覽器的正常政策,並非異常。
  5. 當你想讓節奏停止時,按下 Stop。頁面會停止並中斷所有作用中的聲音來源、清除排程計時器,並關閉 AudioContext,因此背景中不會保留任何音訊資源。
  6. 若你在節奏播放期間變更速度,工具會先停止目前的播放、接受新值,然後等待你再次按下 Play。這能避免在舊速度下已排程的事件,與新速度下的新排程相互重疊。
  7. 在播放進行時編輯任何格子,下一個排程週期就會套用你的變更——你不需要停止並重新啟動,就能在一個工作階段中聽見微調結果。

速度範圍與步進時長的變化

由於音格被劃分為四個四分音符拍,每拍再分為四個十六分音符,單一步進的時長正好是 60 除以 BPM 再除以 4 秒。線上鼓機只接受 40 到 240 之間的整數速度值,若你輸入分數、正負號、指數表示法、單位文字或超出範圍的數值,系統會以可復原的錯誤訊息加以限制。下表顯示這個嚴格的範圍如何在三個工具文件明確記載的參考點上轉化為可聽見的節奏。

速度(BPM,每分鐘四分音符數)步進時長(秒)完整 16 步小節(秒)
40(最低邊界)0.3756
120(預設)0.1252
240(最高邊界)0.06251

在 120 BPM 下,每一步相隔 0.125 秒,完整的 16 步小節持續 2 秒,符合標準的流行與搖滾節奏。在 40 BPM 下,單一小節持續 6 秒,適用於慢板 hip-hop 或 doom-metal 草稿。在 240 BPM 下,整個循環只要 1 秒便完成,較接近 drum-and-bass 的領域——可作為健全性檢查之用,即便少有歌曲會跑到這麼快。前瞻排程器每 25 毫秒會輪詢一次,並將接下來的事件預先放置到 AudioContext 時間軸上最多 100 毫秒的位置,因此 JavaScript 主執行緒的抖動會被濾除在可聽見的點擊時間之外。但嚴重的分頁節流、被暫停的分頁、裝置變更與高系統負載,仍可能讓實際聽到的時機產生輕微偏移,而這個工具並非數位音訊工作站或 AudioWorklet 引擎。

隱私與授權:留在你裝置上的內容

由於沒有擷取任何樣本,也沒有上傳任何檔案,線上鼓機的隱私介面非常精簡。音訊載入頁面一次載入其 HTML、CSS 與 JavaScript,接著便完全在瀏覽器分頁內執行。循環狀態會以三軌各十六個布林值的形式保存,加上你所選擇的速度;哪些格子為開或關的資訊完全不會離開你的裝置。不會請求麥克風存取權、不會顯示檔案選擇器,在初次載入頁面之後也不會發出任何網路呼叫。由於小鼓與 hi-hat 的雜訊緩衝區是透過 JavaScript 的亂數產生器在本機產生,工具同時也避開了任何第三方樣本授權。在受限的企業網路、學校電腦或飛航模式下的手機上,使用者所獲得的三個音色,會與光纖連線下的使用者相同,因為所有聲音都源自他們自己的 CPU。對於擔心音訊素材透過分析或遙測外洩的音樂人來說,這種純本地架構從源頭就消除了疑慮。相同的焦點——本地合成——在無樣本鼓機:Web Audio 直接打造節奏中也有探討,該文說明瀏覽器如何在完全不接觸樣本庫的情況下建構一段節奏。

開始建立節奏前必須了解的限制

同樣的純本地設計在保護隱私的同時,也界定了這個工具無法達成的事。音格固定為十六個十六分音符步進與四個四分音符拍——無法切換至 3/4、6/8 或其他奇數拍型,也沒有 swing、三連音或力度控制。可用的音色就只有這三個;你無法匯入 clap、tom、cowbell 或你自己的錄音。沒有內建錄音功能,無法匯出 WAV 或 MP3,沒有各軌音量控制,沒有殘響或延遲等效果,也沒有 MIDI 同步。這套工具也不是數位音訊工作站、AudioWorklet 引擎,更無法保證跨裝置的樣本一致渲染。在按下 Play 之前,請將裝置音量保持適中,特別是使用耳機時,因為合成的瞬態訊號在某些輸出系統上可能聽起來更為響亮。如果你需要正式編曲、跨裝置樣本精準渲染,或需要可交給混音工程師的音軌分檔,那麼循環概念本身就是最終交付:在專用的音樂應用程式中重建這段節奏。在勾勒十六分音符循環、學習步進編曲,或測試基本脈衝的這個聚焦範疇中,線上鼓機能夠涵蓋所有需求,同時從不要求你的裝置上傳檔案或從網路擷取樣本。

若你正在權衡各種選擇,避免線上鼓機的常見錯誤對此有詳細說明。