規劃反向音訊的工作流程,意味著要依序決定:要餵給工具的來源檔案、目前的瀏覽器是否能解碼其編碼、檔案是否符合 50 MB 與 5 分鐘的限制,以及拿到 PCM16 WAV 後要怎麼處理。實際操作很短——選擇檔案、選取「Reverse audio」、等待本地解碼、預覽、下載——但事前規劃才能讓你避開解碼錯誤、限制訊息或誤導性的結果。Reverse Audio 會在目前的瀏覽器分頁中,反向播放每一個已解碼的聲道樣本,並輸出一個全新的 PCM16 WAV,因此規劃時必須考量:原本的 MP3、M4A、AAC、Ogg 或 WebM 編碼無法在來回處理後保留。事先走過一次規劃,也能讓你決定在下載後是否仍需要音訊編輯器來處理淡入淡出、剪輯、中繼資料或母帶後製。

Reverse Audio 規劃工作流程涵蓋的內容
一個務實的規劃會把反向音訊視為四個獨立決策,而不是一次點擊。第一,先決定你的來源檔案是否值得反向——短音效、鼓擊、人聲片段與環境音底在反向播放時表現都不同,所以先在腦中快速演練一下預定用途,才能避免反向了錯誤的片段。第二,決定檔案是否夠小、夠單純,適合走 Reverse Audio 工具頁面說明的瀏覽器內路徑,還是真的需要具備中繼資料保留功能的桌面編輯器。第三,決定反向後的 WAV 接著要去哪裡——專案資料夾、影片編輯器、取樣機,或簡報——因為 WAV 必須符合特定取樣率或聲道佈局時,規劃方式會不同。第四,決定在依賴結果之前要如何驗證,因為反向播放會交換事件順序,一個正向聽起來沒問題的樣本,反向播放時可能會聽起來支離破碎。把這四個決策分開來看,當工作流程出問題時,才能清楚看出是哪一個環節出錯,而不會把你在規劃階段造成的問題,誤怪到工具身上。
執行前檢查清單:來源檔案、瀏覽器與編碼
在打開檔案選擇器之前,先跑過三項檢查。第一項檢查是副檔名與 MIME 類型。選擇器接受 MP3、WAV、M4A、AAC、Ogg 與 WebM 音訊,但選擇器接受不等於解碼器接受。WAV 容器可能裝著瀏覽器無法讀取的編碼,M4A 也可能裝著在較舊作業系統上會失敗的 AAC 設定檔。第二項檢查是瀏覽器與作業系統。Web Audio 解碼取決於你目前這個瀏覽器能解碼什麼,而不是檔案叫什麼名字;輸入接受與成功解碼是工具內部兩個獨立的檢查。第三項檢查是這個檔案是否就是你真正想反向的那一個,特別是當你在同一個資料夾中保留了多個錄音版本時。
一個有用的習慣是在按下 Reverse 之前先在瀏覽器中預覽原始檔案。聽一下來源檔案開頭與結尾的各一秒鐘,你就能確切知道哪些片段會以相反順序出現在輸出檔案的開頭,這正是最容易看出被截掉的起始邊緣,或是你想拿掉的尾端雜訊的地方。預覽也能確認已解碼的聲道數與取樣率是否符合預期——一個你以為是立體聲的檔案可能解碼成單聲道,一個你以為是 44.1 kHz 的檔案,在容器被拆開後可能解碼成更高的取樣率。
逐步執行 Reverse Audio
- 從檔案選擇器中選擇一個支援的音訊檔案(上限 50 MB),如果需要,可以使用內建預覽在瀏覽器中聆聽原始檔案。
- 選取「Reverse audio」,並等待每一個已解碼的聲道樣本在本地完成反向。當取樣率與聲道數符合工具限制時,瀏覽器會保留原始的取樣率與聲道數,每個聲道會在寫回 WAV 之前各自獨立反向。
- 在瀏覽器中預覽反向後的結果,檢查顯示的長度與音訊屬性,然後將 PCM16 WAV 下載到電腦。下載的永遠是新編碼的 PCM16 檔案,而不是你原始的壓縮串流被反向播放。
整個操作都在目前的瀏覽器分頁中完成。原始檔案會取得一個暫時的本地物件 URL 供預覽,完成的 WAV 會取得另一個暫時的下載 URL;選擇其他檔案、再次執行操作,或離開頁面,都會釋放這些 URL。用於解碼的 Web Audio context 會在操作結束或工作被取代時關閉,這能避免過期的非同步結果覆蓋到較新的結果。MDN 對 decodeAudioData 的參考文件記錄了此步驟所依賴的瀏覽器端解碼,而 Web Audio AudioBuffer 規格則說明了反向作業執行時所對應的已解碼樣本容器。
可能讓反向作業中途卡住的上限
規劃必須明確納入這些上限,因為工具會回報特定訊息,並拒絕部分處理任何超出上限的檔案。請依下列上限進行規劃:
| 限制 | 數值 | 其保護的項目 |
|---|---|---|
| 壓縮輸入大小 | 50 MB | 檔案選擇器在開始解碼前就會拒收任何更大的檔案 |
| 解碼後長度 | 5 分鐘 | 超過的解碼音訊會被拒收,而不是截斷處理 |
| 聲道數 | 1 至 8 | 接受從單聲道到 7.1 的配置 |
| 取樣率 | 8,000 至 192,000 Hz | 涵蓋電話語音、音樂與高解析度音訊 |
| 聲道樣本數 | 30,000,000(幀數 × 聲道數) | 避免在壓縮檔案看起來很小時,分頁仍因意外龐大的解碼陣列而受影響 |
用一個簡短的數字範例說明聲道樣本上限的運作方式。以一個 5 分鐘、48,000 Hz 的立體聲檔案為例,計算方式是:300 秒 × 48,000 幀/秒 = 14,400,000 幀,再乘以 2 個聲道 = 28,800,000 個聲道樣本。這個結果低於 30,000,000 的上限,因此檔案會被接受。如果把同樣的 5 分鐘提升到 96,000 Hz,聲道樣本總數就會超過上限,即使檔案長度與聲道數完全相同。一個在磁碟上看起來很小的壓縮來源,解碼後仍可能撞到上限,這正是為什麼這個預算會與 50 MB 的位元組上限分開存在。任何觸發上限的檔案都會以特定訊息被拒收,不會被部分處理;更換檔案或重試時,也會先清除前一次的下載,這樣才不會在錯誤發生後,把舊的成功結果誤認為新結果。
在下載結果值得信賴之前,先進行檢查
下載的是全新的音訊檔案,而不是原始檔案重新編碼的複本,所以請用驗證任何新渲染結果的方式來驗證它。比較顯示的長度與原始檔案是否一致。確認顯示的聲道數與取樣率符合你的預期——立體聲之所以保持立體聲,是因為每個接受的聲道會被獨立反向,再以正確的 WAV 幀順序重新交錯,但顯示的數字仍是最快能抓到悄悄退化成單聲道的解碼結果的方式。聽一下結果的開頭與結尾;反向播放樣本會保留解碼後的長度、取樣率與聲道數,但會把每一個事件移到從結尾往回計算的位置。在實際會用到的編輯器或播放器中開啟下載的 WAV,因為瀏覽器預覽成功,並不代表每個較舊的裝置都支援同樣的 WAV 聲道佈局或高取樣率。
了解工具刻意不會變更的項目也很有幫助。反向作業會保留解碼後的長度、取樣率與聲道數,但不會自動正規化音量、移除靜音、刻意改變音高、拉伸時間,或修復截波。專輯封面、標籤、章節、循環標記、編碼器設定、壓縮位元率,以及容器特有的欄位都不會被複製,因為輸出的是全新的音訊檔案,而不是重新封裝的來源複本。把這些缺項視為規劃階段預期的結果,而不是要在工具中修正的瑕疵。
需要調整規劃的時機
有些檔案根本無法走完瀏覽器內的路徑,規劃必須在開始前就把這一點納入考量。如果來源超過上表中任何一項限制,檔案會直接被拒收,不會有部分結果可供下載——先裁剪或分割來源才是解決方法,而不是重試同一個檔案。如果副檔名熟悉的檔案無法解碼,原因通常是容器內的編碼是你目前的瀏覽器無法讀取的,此時切換瀏覽器,或將來源重新匯出成更普遍支援的編碼,才下一步。如果原始的 MP3 或 M4A 編碼必須保留,那麼瀏覽器內的反向作業就是錯誤的工具,因為輸出永遠是新編碼的 PCM16 WAV,原本的編碼、位元率、標籤與封面都不會被複製。最後,如果專案還需要淡入淡出、音量正規化、移除靜音、改變音高或編輯中繼資料,請規劃在下載後仍讓音訊編輯器參與,而不是期望反向這一步做完所有工作。
依「檔案檢查、瀏覽器檢查、上限檢查、執行、驗證、決定下一步」這個順序走過規劃,就能把反向音訊從一次性實驗,變成一個可以在日後其他檔案上重複使用的工作流程,不必每次都從頭重新踩過每個限制;而且規劃步驟已經先告訴你該回頭檢查哪一項,讓罕見的失敗案例變得顯而易見。
延伸閱讀:使用 Reverse Audio 時重複得到相同的結果。
延伸閱讀:筆電上的音量調整工具:在本地調整音訊檔案。