正確合併音訊的意思是:依照你需要的確切順序,將 2 到 10 個瀏覽器可解碼的檔案組合在一起,每個檔案都解碼成相同的聲道數,並產生一個無縫的 PCM16 WAV 檔案,讓你可以在本機預覽與下載,完全不需要上傳來源檔案。「正確」這個詞隱含了許多具體需求,而這些需求往往是許多工具略而不提的:最終檔案中的音軌順序必須與可見清單中顯示的順序一致,兩段音軌之間的銜接必須達到取樣精準(sample-accurate),而不是用靜音填補或交叉淡入淡出來處理,而且輸出的聲道佈局必須符合你的預期,而不是被默默地降混(下混)或複製。當你在瀏覽器中使用 Audio Joiner 時,這些需求都會明確陳述,並以具體訊息告知是否符合,因此它正是任何想了解「如何正確合併音訊」的人最安全的參考基準。
大多數合併失敗的情況來自三個反覆出現的原因:檔案挑選器接受了瀏覽器稍後無法解碼的檔案、兩段看似沒問題的音軌解碼後聲道數不同,或是使用者手動調整了順序,卻仍信任先前的預覽結果。下面的章節會說明工具在你點選「Join」之前所強制執行的規則、乾淨執行的確切步驟,以及能驗證輸出符合你預期結果的檢查步驟。

「正確合併音訊」實際上需要什麼
一個正確的合併具備四項任何讀者都能在不依靠專業軟體的情況下確認的可觀察特性:
- 下載的 WAV 中,音軌播放的順序與畫面清單中顯示的順序一致。
- 兩段相鄰音軌之間的銜接達到取樣精準,因此前一段音軌的最後一個取樣會緊接著後一段音軌的第一個取樣,中間不會有任何靜音填補、重疊、交叉淡入淡出或任何形式的轉場效果。
- 輸出的聲道佈局與每個輸入相符,因此立體聲來源保持立體聲、單聲道來源保持單聲道,且左右聲道的身分識別在所有音軌之間保持一致。
- 下載的檔案是個自給自足、在本機產生的 RIFF/WAVE PCM 檔案,可以在其他音訊編輯器中開啟、在媒體播放器中播放,或繼續傳遞到你工作流程的下一步。
只要上述四項特性中有任何一項不符,即使檔案能播放且沒有錯誤,合併結果仍屬錯誤。Audio Joiner 的設計是讓每項特性由其行為明確保證,或在事前就拒絕執行,而不是默默修正。
Audio Joiner 在你點選 Join 之前強制執行的限制
此工具宣稱的是明確的預算限制,而不是默默截斷、重取樣或降混所選的內容。以下的每項限制都會在解碼完成前進行檢查,違反時會產生清楚的錯誤訊息,而不是產生被降級的檔案。
| 限制條件 | 數值 | 為何重要 |
|---|---|---|
| 檔案數量 | 每次選取 2 到 10 個檔案 | 少於 2 個無法構成合併;超過 10 個會被拒絕,以維持合併計畫的可預測性。 |
| 單一檔案大小 | 每個編碼檔案 25 MiB (26,214,400 bytes) | 保護瀏覽器記憶體並縮短解碼時間。 |
| 輸入總大小 | 整個選取範圍 100 MiB (104,857,600 bytes) | 避免合併後的來源檔案壓垮分頁(tab)。 |
| 總解碼時長 | 所有選取檔案合計 30 分鐘 | 與檔案大小無關,因為壓縮格式的差異極大。 |
| 聲道數 | 每個檔案最多 8 個聲道 | 對應 Web Audio API 用於解碼的範圍。 |
| 取樣率 | 最高 192 kHz | 超過此值會在事前直接拒絕。 |
| 聲道取樣預算 | 所有聲道合計 30 million 取樣 | 高取樣率或多聲道的選項可能在達到 30 分鐘上限之前就觸及此限制。 |
不會為了符合限制而縮短、降混、降取樣或省略任何內容。若選取違反上表中任何一列,則會在產生 WAV 之前拒絕合併。
如何逐步正確合併音訊
- 在瀏覽器中開啟 Audio Joiner,從你的裝置選擇 2 到 10 個音訊檔案。挑選器能辨識 MP3、WAV、M4A、AAC、Ogg、WebM 與 FLAC 等常見副檔名與 MIME 類型,但即使副檔名通過辨識,也無法保證你目前使用的瀏覽器能開啟該編碼變體。損壞、加密、未完成、標示錯誤或不支援的檔案會產生清楚的錯誤訊息。
- 等待所有選取的檔案透過同一個 AudioContext 完成解碼。畫面上的顯示會列出該 AudioContext 的工作取樣率與聲道數,這可能與原始檔案中儲存的取樣率不同,因為 Web Audio 可能會將來源重新取樣至該 AudioContext 的工作取樣率。
- 使用內建播放器預覽每段已解碼的音軌。若某段音軌聽起來不對、意外暫停或回報時長為零,請在調整任何順序之前先替換該檔案。
- 使用「Move up」或「Move down」控制項,直到可見清單與你希望輸出的順序一致。調整順序會同時更新已解碼緩衝區陣列與清單,並清除任何舊有的 WAV,以避免陳舊的結果宣稱是某個先前的順序。
- 確認每段音軌顯示的聲道數一致。單聲道與立體聲混用的情況會被拒絕,而不是被默默複製、刪除、平均或重新對應,因此這一步正是你在點選 Join 之前抓出聲道數不符的關鍵時刻。
- 依下列順序點選 Join,然後在同一個分頁中預覽產生的 PCM16 WAV。若聽起來有任何問題,請切換回清單,重新調整順序或替換音軌,然後再次合併。
- 將 WAV 下載到你可控的位置。該檔案是由已解碼的取樣重新編寫成全新的 RIFF/WAVE PCM16 編碼,並非任何來源容器的拷貝。
決定合併是否成功的聲道數與取樣率規則
合併結果看似錯誤的最常見原因,是使用者直到下載後才發現的聲道數不符。由於所有解碼後的音軌必須共用相同的聲道數,因此將單聲道語音備忘錄與立體聲音樂底層混合使用時,會在事前就被拒絕,而不是被默默重新混音。下表摘要說明此工具在各種聲道情境下的處理方式。
| 情境 | 結果 |
|---|---|
| 所有檔案皆解碼為相同的單聲道聲道數 | 合併成功;WAV 中有一個單聲道聲道,依清單順序排列。 |
| 所有檔案皆解碼為相同的立體聲聲道數 | 合併成功;左右聲道在 WAV 交錯之前會先各自串接,保留各音軌間的身分識別。 |
| 選取範圍中同時包含單聲道與立體聲檔案 | 合併被拒絕;不會發生靜默複製、刪除、平均或聲道重新對應。 |
| 任何檔案解碼後超過 8 個聲道 | 會在寫入任何輸出之前拒絕合併。 |
取樣率的運作方式則不同。瀏覽器並不要求每個輸入都以相同的取樣率開始,但 Web Audio 可能會將每個來源重新取樣至用於此次選取的單一 AudioContext 的工作取樣率。你在工具中看到的取樣率就是該工作取樣率,而輸出的 WAV 也會以該取樣率寫入。來源的取樣率不會在輸出中保留,因此若你需要特定的最終取樣率,請在合併前先於獨立的編輯器中將來源解碼為該取樣率。
輸出的 WAV 會與不會保留哪些內容
下載的檔案是已解碼取樣的一個全新靜態 PCM 表示,並非承載原始編碼、位元速率、標記、專輯封面、章節、cue 點、循環點、音量欄位、時間戳記或其他中繼資料的容器。具體來說,編碼器會寫入一個 44 位元組的小端序 RIFF/WAVE 標頭,其中包含 RIFF 大小、WAVE 與 fmt 識別碼、PCM 格式標籤、聲道數、已解碼取樣率、位元組速率、區塊對齊、16 位元深度、data 識別碼與精確的資料位元組長度。浮點取樣會被裁剪至 -1 到 1 的範圍;負值滿刻度對應至 -32768,正值滿刻度對應至 32767,而非有限值(非數值)會寫入為靜音。
由於 PCM16 WAV 為未壓縮格式,因此即使音訊長度相同,輸出檔案也可能遠大於所選的 MP3、AAC、Opus、Vorbis 或 FLAC 來源。若你的下游工具需要壓縮檔案,請將 WAV 透過獨立的編碼器處理,而不是期待合併工具直接輸出 MP3 或 AAC。
檔案讀取、Web Audio 解碼、聲道串接、WAV 編碼、預覽與下載,全都發生在目前的瀏覽器分頁內部。選取的檔案與完成的 WAV 使用的是暫時性的本機物件 URL(Object URL),這些 URL 會在被替換或頁面關閉時釋放,而 AudioContext 會在解碼後、替換時與清理過程中關閉。解碼工作會攜帶一個工作識別碼(job identifier),元件清理作業會使較舊的工作失效,以避免緩慢的讀取或解碼作業覆蓋較新的選取結果。
刪除原始檔之前的快速驗證
確認音訊合併正確的最快方法,是依下列順序比對下載檔案中的五項可觀察特性與你的需求:
- 時長:在任何播放器中開啟 WAV,檢查總時長是否符合你所使用的各段時長之總和,並考量工具所回報的工作取樣率。
- 順序:在檔案中逐段切換時間軸,在每個銜接處聆聽是否與你在清單中設定的順序一致。
- 銜接:在每個邊界處,確認沒有可聽見的靜音縫隙、滴答聲、爆音、淡入淡出或重疊。正確的合併在接縫處聽起來應像一段連續的音訊。
- 聲道:若你的播放器支援單聲道與立體聲模式,請分別播放,並確認佈局符合你預期的聲道數。
- 檔案大小:將下載的檔案大小與依總時長、聲道數與取樣率所推算出的未壓縮 PCM16 估計值進行比較。若結果遠小於或遠大於該估計值,即代表需要重新檢查。
請保留來源檔案,直到上述五項檢查皆通過。若看起來有任何問題,如何在合併音訊後檢查結果指南會逐步說明更深入的診斷方式,包括當銜接處聽起來不對,或某段音軌似乎順序錯誤時該怎麼處理。對於需要時間範圍而非整段音軌、需要淡入淡出、音量匹配、聲道轉換、壓縮輸出、中繼資料保留或取樣層級修復等情境,Audio Joiner 並非合適的工具,正確的下一步應該是改用專用的編輯器。
關於 Audio Joiner 所依賴之解碼步驟的技術背景,Web Audio API 文件說明了 BaseAudioContext decodeAudioData 方法與 AudioBuffer 介面,兩者共同定義了瀏覽器如何將編碼檔案轉換成合併工具所串接的聲道取樣陣列。
延伸閱讀:正確使用音訊等化器:三段頻率檢查清單。