正確的反向音訊使用方式,代表要翻轉符合該工具所公布限制之檔案中每個聲道裡的每一個解碼後樣本,然後下載一個新編碼的 PCM16 WAV,並在依賴它之前先檢查其長度、聲道數、取樣率與播放狀態來加以驗證。整個工作流程都在您目前使用的瀏覽器分頁中執行,因此檔案位元組、解碼後樣本、檔名與結果都不會離開您的機器。若要正確使用 反向音訊,您需要挑選一個支援的來源、確認輸入符合大小、長度、聲道與取樣率的上限、執行翻轉、預覽輸出,然後才儲存 WAV。檔案選擇器接受常見的 MP3、WAV、M4A、AAC、Ogg 與 WebM 音訊 MIME 類型,但實際的編解碼器支援取決於您的瀏覽器與作業系統;容器規格也有可能裝載著瀏覽器無法解碼的編解碼器,遇到這種情況,工具會回報解碼錯誤,而不會聲稱每個熟悉的副檔名都能正常運作。略過任何一道檢查關卡,正是人們最後得到截斷、標錯名稱或其他無法使用之結果的原因。

「正確的」反向音訊使用實際上需要什麼
正確地翻轉音訊,取決於三項工具能驗證的事,以及一項您必須自行驗證的事。
首先,來源必須能夠解碼。檔案選擇器接受 MP3、WAV、M4A、AAC、Ogg 與 WebM MIME 類型,但實際的編解碼器支援取決於您的瀏覽器與作業系統。一個熟悉的容器可能裝載著不支援的編解碼器,遇到這種情況,工具會回報解碼錯誤,而不會假裝每個已辨識的副檔名都能安心提交。
其次,來源必須落在文件所記載的限制之內。如果不符合,工具會直接拒絕,而不會產生部分結果。這些限制並非任意設定;特別是聲道樣本上限,是為了保護瀏覽器分頁免於一個悄悄超出壓縮檔案大小的解碼陣列。
第三,輸出永遠是一個新編碼的 PCM16 WAV。這不是一項附帶說明;它會改變檔案格式、位元組大小,以及哪些詮釋資料能保留下來。如果您把下載結果當作仍然是 MP3 或 M4A 來處理,您就沒有正確使用這個結果。
第四,您必須聆聽並檢查結果。瀏覽器預覽成功,並不保證每台較舊的裝置、DAW 或媒體播放器都能接受產生的 WAV,特別是在取樣率偏高或聲道配置特殊的情況下。請在實際會使用的編輯器或播放器中開啟該檔案。
以正確的方式執行反向音訊工作流程
- 使用檔案選擇器,從您的電腦中挑選一個最高 50 MB 的支援音訊檔案。也可以選擇性地先在瀏覽器中預覽原始檔案,確認它是正確的片段後再進行翻轉。
- 確認輸入符合所有文件記載的限制:壓縮檔案大小 50 MB 以下、解碼後長度不超過 5 分鐘、1 到 8 個聲道、取樣率介於 8,000 至 192,000 Hz 之間,且總聲道樣本數不超過 3,000 萬(影格數乘以聲道數)。
- 選擇反向音訊動作,並等待每一個解碼後聲道樣本於本機完成翻轉。在作業執行期間,請勿關閉或重新整理分頁。
- 在工具內預覽翻轉後的結果,確認聽起來符合預期。您現在聽到的第一個聲音,原本是原始檔案中的最後一個聲音。
- 驗證所顯示的長度、聲道數、取樣率與檔案大小。如果原始檔案還開著,請與其交叉比對。
- 下載產生的 PCM16 WAV。下載的是一個新編碼的檔案;它並非來源的逐位元重新封裝。先前執行所產生的舊下載連結會被釋放,因此先前的成功結果不會被誤認為是新的結果。
- 在實際會使用的編輯器、DAW 或播放器中開啟儲存的 WAV,以確認相容性。單靠瀏覽器能成功播放,並不足以應付較舊的裝置或特殊的聲道配置。
決定作業能否成功的嚴格輸入限制
工具會在解碼時點強制執行下列限制。任何一個超過的檔案都會被以特定訊息拒絕,且不會進行部分處理。
| 限制 | 數值 | 它保護了什麼 |
|---|---|---|
| 壓縮檔案大小 | 50 MB | 檔案讀取以及保存位元組的 ArrayBuffer |
| 解碼後長度 | 5 分鐘以內 | 翻轉所有樣本與編碼 WAV 所花費的時間 |
| 聲道數 | 1 到 8 個聲道 | 交錯式 WAV 影格寫入器與 decodeAudioData 呼叫 |
| 取樣率 | 8,000 至 192,000 Hz | 輸出 WAV 標頭欄位與下游播放器的支援 |
| 總聲道樣本數 | 30,000,000(影格數 × 聲道數) | 保留在記憶體中的解碼後 Float32Array 大小 |
當這些條件全部成立時,工具可以保證在已接受的檔案中,不會刻意略過、縮短或截斷任何樣本。如果某項限制不通過,正確的下一步是使用像「音訊剪輯工具」這類的工具來修剪來源、在 DAW 中降低聲道數,或在重試前轉換取樣率。
輸出是什麼——以及它刻意不是什麼
因為下載的永遠是新編碼的 PCM16 WAV,某些來源屬性並不會保留下來。事先了解這一點,正是正確使用反向音訊的一部分。
| 屬性 | 在輸出中的行為 |
|---|---|
| 容器與編解碼器 | 永遠是 PCM16 置於 WAV RIFF 容器內;MP3、AAC、Ogg 與 WebM 不會保留下來 |
| 位元率 | 不適用——輸出為 16 位元未壓縮 PCM |
| 取樣率 | 當落在 8,000 至 192,000 Hz 範圍內時會保留下來 |
| 聲道數 | 當介於 1 到 8 之間時會保留下來 |
| 長度 | 等於來源的解碼後長度;翻轉會保留長度 |
| 標籤、封面、章節、循環標記、編碼器設定 | 不會複製;輸出是一個全新的檔案 |
| 響度、靜音、音高、時間拉伸 | 不會調整;僅改變樣本順序 |
| 數值精度 | 降為 16 位元;在映射至帶正負號 PCM 之前,樣本會被截斷至 −1 至 1 |
每個由瀏覽器解碼的浮點樣本都會被截斷至 −1 至 1 的範圍內,映射至帶正負號的 16 位元 PCM,並以小端序寫入。負的滿刻度會映射至 −32768,正的滿刻度會映射至 32767。因此 WAV 通常會比壓縮後的來源大上許多,且 16 位元的步階可能會改變最低位元層級的數值精度。
在信任翻轉後的 WAV 之前先驗證它
「翻轉後」檔案看起來不對的最常見原因,就是略過了驗證步驟。一套簡短且有條理的檢查程序可以抓到常見的失敗:聲道順序被翻轉而非時間、奇數長度片段的中心樣本被移除,或寫入了無效的 RIFF 標頭。
下載完成後,聆聽結果的前 200 毫秒。該段對應到原始檔案的最後 200 毫秒。如果您辨識得出來源末端正以反向播放,表示時間軸確實正確反轉了。接著聆聽最後 200 毫秒。該段對應到您來源的開頭;如果原始檔案的開頭可辨識但呈現鏡像,表示結果在結構上是正確的。
確認長度與原始檔案一致到單一樣本的誤差範圍內。翻轉會保留長度,因此任何不一致都指向解碼或編碼的問題。請在播放器中開啟檔案的屬性面板:聲道數與取樣率應符合工具所回報的內容,立體聲來源必須保持立體聲,且左右聲道彼此之間的相對關係不變。最後,確認檔案大小與顯示的取樣率、聲道數和長度下的 PCM16 大小一致。大幅小於預期可能代表已被截斷,大幅大於預期則可能代表寫入了錯誤的標頭。
工具本身的 reverseChannels 與 encodePcm16Wav 實作,會透過奇數與偶數影格數、多聲道、來源陣容不可變性檢查,以及檢查 RIFF、WAVE、fmt 與 data 欄位、位元率、區塊對齊、小端序 PCM 位元組與立體聲交錯的 RIFF/WAV 黃金測試來進行演練。這些檢查能抓到常見的失敗,例如翻轉聲道順序而非時間、移除奇數長度片段的中心樣本,或寫入無效的標頭。如果這些測試會失敗,那麼產線程式碼正是產生您檔案的同一套程式碼,因此您在本地端乾淨的驗證與所公布的保證是一致的。
為何本機處理對正確使用很重要
正確使用也代表理解處理在哪裡進行。反向音訊工具會讀取檔案、使用 Web Audio API 解碼、翻轉每個聲道樣本、編碼成 PCM16 WAV,並完全在您目前的瀏覽器分頁內產生下載。不會上傳任何內容到 Lizely,也不會呼叫任何遠端轉檔服務,更不會在背景安裝 FFmpeg。瀏覽器只有在原始取樣率與聲道數符合所述限制時才會予以保留;超出這些限制時,作業會被拒絕,而不是悄悄產生部分結果。
這點對驗證很重要,因為作業完成後僅存在的產物,就是用於內建預覽與 WAV 下載的暫存物件 URL。選擇另一個檔案、再次執行作業,或離開頁面,都會釋出過期的 URL,這代表先前的成功結果無法悄悄冒充為新的結果。用於解碼的 Web Audio context 也會在作業結束或工作被取代時關閉,而工作與掛載狀態的保護機制可防止過時的非同步工作覆蓋較新的結果。如果您想聽聽第二意見,想了解反向音訊是否真的就是您要的效果,那麼 該如何決定是否需要使用反向音訊 這份決策指南,會逐步說明在哪些情況下翻轉能幫上忙,以及哪些情況下選擇其他工具才是正確的決定。
如需更深入的說明,請參閱 規劃在本機使用反向音訊所需的步驟。