Audio Joiner 會依照解碼後的清單順序,將 2 到 10 個在瀏覽器中解碼的音軌合併成一個無縫的 PCM16 WAV 檔案,整個預覽、檢查與下載流程都在你目前的分頁中完成。若要在合併音訊後檢查結果,請在工具中預覽這個新產生的 WAV,將解碼後的音軌清單與顯示的取樣率、聲道數和總長度與你的預期進行比對,確認無誤後再下載。下載的檔案是一個重新編碼的 RIFF/WAVE 檔案,內含交錯式小端序有號 16 位元 PCM 樣本,因此你可以使用任何 WAV 檢視器讀取其表頭位元組、位元組率與資料長度,以確認合併結果是否忠實。由於不會插入任何淡入淡出、靜音、重疊、交叉淡化或音量標準化,合併後的長度會等於各解碼音軌長度的總和,且輸出的聲道數等於每一個解碼輸入的聲道數。檔案永遠不會被上傳,因此每一步驗證都在同一個分頁中於本機完成。

how do i check the result after i join audio
如何在合併音訊後檢查結果

下載前 Joiner 所產生的內容

Audio Joiner 是一個在瀏覽器中本機運作的串接工具,會依照解碼清單中顯示的順序,將 2 到 10 個音訊檔案合併成一個 PCM16 WAV 檔案。每個檔案都會透過一個共用的 AudioContext 進行讀取、解碼、在聲道層級串接、編碼、預覽與下載,整個過程完全不離開你的瀏覽器分頁。Audio Joiner 工具 直接從解碼後的聲道陣列建構 WAV,因此在輸出緩衝區中,A 軌的最後一個樣本框會緊接著 B 軌的第一個樣本框。中間不會插入靜音、重疊、交叉淡化、音量標準化、過場或自動修剪,這就是為什麼當作業完成時,合併後的長度應該等於各解碼音軌長度的總和。

由於合併作業是作用於解碼後的樣本,而非原始封裝容器,因此輸出不會保留原始的編解碼器、位元率、編碼器設定、標籤、專輯封面、章節、cue 點、循環點、響度欄位、時間戳記,或任何其他容器中繼資料。這個 WAV 是瀏覽器解碼樣本的一個全新、靜態的 PCM 表示,因此其體積可能遠大於原始的 MP3、AAC、Ogg、Opus、Vorbis 或 FLAC 檔案。這點在你於合併音訊後檢查結果時很重要,因為檔案大小意外偏大,是未壓縮 PCM16 儲存的正常現象,而非代表哪裡出錯。如果檔案大小與你播放的長度相比看起來合理,合併結果幾乎可以確定是完整的。

如何驗證合併結果

在刪除任何原始錄音之前,請逐一進行 Joiner 本身內部使用的相同檢查。每一步都針對工具合約上必須保留的屬性,因此當全部七項都通過時,就能獲得高可信度的結果。

  1. 開啟 Audio Joiner,挑選你原本打算合併的相同 2 到 10 個檔案,並維持在選擇器旁顯示的每檔 25 MiB 與總計 100 MiB 的輸入上限內。
  2. 等待瀏覽器完成每個檔案的解碼。每個解碼後的音軌會顯示其長度、取樣率與聲道數;請讀取這些數值並確認所有音軌的聲道數一致,因為單聲道與立體聲的混合會被拒絕,而非被悄悄重新混音。
  3. 在解碼清單中使用上移與下移,直到順序完全符合你的需求。重新排序會同時更動解碼後的緩衝區陣列與可見的清單,並會清除任何舊的 WAV,確保先前順序留下的過時結果不會殘留。
  4. 依此順序按下 Join 並播放預覽。聆聽音軌之間的接點,確認過場在樣本層級是緊密銜接的,沒有插入靜音、重疊、交叉淡化或音量標準化。
  5. 將顯示的總長度與其上方各解碼音軌長度的總和進行比對。這兩個數字應該在次秒級的捨入誤差內一致。
  6. 下載 WAV 檔,然後在任何播放器或表頭檢視器中開啟它,確認長度、聲道數、取樣率,以及沒有中繼資料標籤。
  7. 保留原始檔案,直到你已驗證下載檔案的長度、順序、接合處、聲道播放與檔案大小皆符合預期為止。

讀取 WAV 表頭以確認格式

下載的檔案是一個新編碼的 RIFF/WAVE 容器,內含交錯式小端序有號 16 位元 PCM 樣本。編碼器會寫入一個 44 位元組的表頭,你可以使用任何 WAV 檢視器讀取其中的欄位,以確認合併結果是否忠實。解碼器輸出的浮點樣本會被裁剪到 -1 到 1 的範圍內,負向滿刻度對應到 -32768,正向滿刻度對應到 32767,任何非有限的數值會被寫成靜音,因此資料區塊的位元組長度會與宣告的資料長度完全一致,不會有填補。

表頭欄位預期值為何重要
RIFF size36 加上資料位元組長度確認宣告的承載資料與檔案一致
WAVE 與 fmt 識別碼ASCII "WAVE" 與 "fmt "識別為有效的 RIFF/WAVE 容器
PCM 格式標籤1 (未壓縮 PCM)確認沒有經過破壞性重新編碼
聲道數與每個解碼後的音軌一致抓出任何悄悄的聲道重新對應
取樣率AudioContext 的解碼工作率可能與原始檔案儲存的取樣率不同,因為 Web Audio 可能會將來源重新取樣至其工作率
位元組率取樣率 × 聲道數 × 2驗證 16 位元小端序交錯格式
區塊對齊聲道數 × 2確認框寬度
每樣本位元數16確認為有號 16 位元深度
data 識別碼與大小"data" 後接確切的位元組長度確認沒有填補也沒有截斷

Joiner 中的黃金立體聲測試樣本在兩軌的左右聲道使用不同的數值,這正是工具用來證明音軌順序與聲道身分在串接後依然保留的方式。如果你下載檔案的表頭符合上表,且左右聲道的播放結果仍與解碼清單的順序一致,那麼合併結果在位元組層級與聲道層級都是忠實的。

限制與結果遭到拒絕的原因

Audio Joiner 的限制是明確的,而不是默默處理。一旦選擇超出上限,就會以明確的訊息拒絕該選擇,且不會為了符合限制而縮短、縮混、降取樣或省略任何內容。當 Join 拒絕產生結果時,原因必然是下列上限之一。

限制上限值超出時的處理
音軌數量每次選擇 2 到 10 個檔案選擇器會拒絕超出此範圍的選擇
每檔大小25 MiB (26,214,400 位元組)在開始解碼前將該檔案標記為不符
總輸入大小100 MiB (104,857,600 位元組)選擇會以預算訊息遭到拒絕
解碼後長度全部音軌合計 30 分鐘停止解碼並拒絕合併
聲道數每軌 8 個聲道超過八聲道的音軌會被拒絕
取樣率每軌 192 kHz超過 192 kHz 的取樣率會被拒絕
聲道與樣本預算全部聲道合計 30,000,000 個樣本高取樣率或多聲道的選擇可能會在達到長度上限前觸及此限制
聲道數一致性所有音軌解碼後的聲道數必須相同單聲道與立體聲的混合會被拒絕,不會被悄悄重新混音

損壞、加密、不完整、標示錯誤或不支援的檔案同樣會產生明確的錯誤,因為可辨識的副檔名並不保證 Safari、Chrome、Firefox 或其他瀏覽器能解碼每一種編解碼器變體。選擇器可辨識常見的 MP3、WAV、M4A、AAC、Ogg、WebM 與 FLAC 檔名及 MIME 類型,但實際的解碼工作仍取決於你目前使用的瀏覽器與作業系統所支援的編解碼器。若想更深入了解為何 Joiner 不會偷偷加入淡入淡出或拉長音軌之間的時間軸,無縫與無淡入淡出合併指南 會逐步說明 Joiner 所執行的逐聲道串接流程。

何時應改用其他工具

Audio Joiner 是一個嚴格的串接工具,因此創作者可能想進行的多項檢查刻意不在其涵蓋範圍內。當你需要的是精確的時間範圍而非整段音軌時,請改用 Audio Cutter,它會從指定的起點與終點產生一個經裁切的 PCM16 WAV 檔案。當你想要在合併前後套用淡入淡出、回音、殘響或音量標準化時,請使用 Audio Effects,因為 Joiner 本身不會更改任何樣本數值。如果你需要交叉淡化、響度匹配、聲道轉換、壓縮輸出或保留中繼資料,那麼專用的離線編輯器才是合適的工具,因為 Audio Joiner 寫出的 WAV 會捨棄所有這類容器資料,僅保留解碼後的樣本串流。

延伸閱讀:如何選擇正確的合併音訊方式