Reverse Audio 會在您瀏覽器的分頁中完整地於本地端執行反向操作,這代表您選擇的 MP3、WAV、M4A、AAC、Ogg 或 WebM 檔案,在處理之前、處理過程中或處理之後,都不會被上傳到遠端伺服器。瀏覽器會驗證輸入檔案的大小(上限為 50 MB),將位元組讀入 ArrayBuffer,再透過 Web Audio API 進行解碼,反轉每個聲道中的每個取樣,將結果編碼為 PCM16 WAV,並透過臨時的物件 URL 提供預覽與下載。整個過程不會呼叫任何轉碼伺服器、不會在您的裝置上安裝 FFmpeg 二進位檔,也不會透過任何工作佇列將資料送出您的機器。原始檔案的位元組、解碼後的取樣、檔名以及最終的 WAV 檔,都會保留在當前頁面中。用於驅動內建預覽與下載的臨時 URL,會在您挑選其他檔案、重新執行操作,或關閉頁面時自動釋放;用於解碼的 Web Audio context 也會在操作結束後關閉。由於沒有任何資料會傳送到遠端端點,因此只要頁面本身已載入,即便是在限制對外傳輸的網路連線下,結果仍可取得。

「本地瀏覽器處理」實際上代表什麼
反向音訊工具可以透過兩種根本不同的方式運作。第一種是在遠端伺服器上讀取您的檔案,於該處執行像 FFmpeg 或 SoX 這類的命令列工具,再將結果串流回瀏覽器。第二種則是將檔案載入當前的瀏覽器分頁,透過 Web Audio API 規範中的 AudioBuffer 進行解碼,在 JavaScript 中操作產生的緩衝區,同樣透過 JavaScript 對輸出進行編碼。Reverse Audio 工具 採用的是第二種方式,而這個方式正是「上傳與否」這個問題從根本上不會出現的原因。根據底層的 Web Audio 行為,解碼是由瀏覽器的音訊引擎針對您所提供的位元組來執行,所產生的緩衝區其取樣率與聲道數會與來源一致。在此緩衝區上反轉聲道僅僅是一項本地的陣列操作,永遠不需要進行網路往返。
這種本地工作流程對使用者具有明確的實際影響。由於沒有任何資料正在傳輸中,因此不會出現上傳進度條。也沒有任何伺服器端的工作佇列,能在您關閉分頁後快取您的檔案。該頁面不會要求登入,因為不需要任何帳號來接收您的資料。只要頁面資源本身已被快取,您就能在封鎖任意對外流量的網路連線下,進行預覽、反轉與下載。處理速度取決于您自身機器的 CPU,而非共用的伺服器負載,這也就是為什麼較長的解碼作業在老舊手機上會感覺比現代 laptop 上慢。
檔案類型與明確的限制
檔案選擇器內部的接受流程分為兩個階段。首先,選擇器會檢查 MIME 類型,以確認容器是該工具所指定的格式之一——MP3、WAV、M4A、AAC、Ogg 或 WebM。其次,Web Audio API 會嘗試解碼這些位元組,而特定的瀏覽器或作業系統可能未包含所有編解碼器。一個常見的容器也可能藏有不支援的編解碼器,因此同一個 Ogg 檔案在某個瀏覽器中可以完美解碼,但在另一個瀏覽器中卻會引發解碼錯誤。當解碼失敗時,工具會明確顯示該錯誤,而不是靜默地從不同的資料產生結果。
剩餘的操作由五項明確的數值限制來把關。壓縮後的輸入檔案必須為 50 MB 或以下。解碼後的音訊長度必須為 5 分鐘或以下。解碼後的緩衝區必須包含 1 到 8 個聲道。取樣率必須介於 8,000 到 192,000 Hz 之間。總聲道取樣預算——幀數乘以聲道數——必須保持在 30,000,000 以下。最後一項預算能避免在壓縮來源看似很小時,分頁卻意外產生巨大的陣列。任何跨越任一限制的檔案,都會收到明確的訊息且不會被部分處理,因此下載成功的結果絕對不會來自理應被拒絕的輸入。更換檔案或重試時,會先清除先前的下載,這後先前的成功結果就不會在錯誤之後與新結果混淆。
| 限制 | 數值 |
|---|---|
| 壓縮輸入大小 | 上限 50 MB |
| 解碼後長度 | 上限 5 分鐘 |
| 聲道數 | 1 到 8 |
| 取樣率 | 8,000 到 192,000 Hz |
| 總聲道取樣數 | 上限 30,000,000 |
在本機反轉音訊檔案
執行 Reverse Audio 工具只需幾個明確的步驟,並且全程音訊都保留在您的機器上。
- 在您的瀏覽器分頁中開啟 Reverse Audio 工具。
- 點擊檔案選擇器,從您的裝置中選擇一個 MP3、WAV、M4A、AAC、Ogg 或 WebM 檔案。由於選擇器會對原始位元組強制套用該上限,請在選擇前確認檔案大小為 50 MB 或以下。
- 選擇性地使用內建預覽功能,確認原始檔案能正確播放,且長度落在 5 分鐘的解碼時間範圍內。
- 選擇 Reverse 音訊動作,並等待當前頁面在本地反轉每個解碼後的聲道取樣。解碼後所回報的幀數與聲道數,決定了此步驟所需的時間。
- 預覽反轉後的結果,並核對工具所顯示的長度、聲道數、取樣率與檔案大小,以便察覺任何非預期的變化。
- 下載新檔案。它會以新編碼的 PCM16 WAV 格式提供,內含反轉後的音訊,可直接匯入編輯器或分享。
選擇其他檔案、第二次執行操作,或離開頁面時,會釋放支撐先前預覽與下載的物件 URL,因此您不需要手動清理。用於解碼檔案的 Web Audio context 也會在操作結束後關閉。
輸出 WAV 包含的內容與捨棄的內容
下載的檔案永遠是新編碼的 PCM16 WAV,而不是反向播放的原始容器。瀏覽器解碼後的浮點取樣會被裁剪至 -1 到 1 的範圍,對應到有號 16 位元 PCM,以小端序寫入,使得負向滿刻度對應到 -32768,正向滿刻度對應到 32767。在符合上述限制的情況下,反轉取樣會保留解碼後的長度、取樣率與聲道數。立體聲輸入會維持立體聲,左聲道與右聲道各自獨立反轉,並以正確的交錯幀順序寫回。由於每個取樣現在都儲存為完整的 16 位元整數,而非依賴感知編碼,因此 WAV 檔案可能會比相同內容的壓縮 MP3 大上許多。將 32 位元浮點數縮減為 16 位元整數也會改變數值精度;若原始訊號高於滿刻度仍保有 headroom 時,這點便值得留意。
中繼資料不在保證範圍內。專輯封面、ID3 標籤、章節、循環標記、編碼器設定、原始壓縮位元率以及其他容器欄位,都不會被帶入結果中。該工具是反轉已解碼的可聽取樣資料,而非就地編輯來源容器。不會進行響度正規化、不會裁剪靜音、不會刻意變調、不會進行時間拉伸,也不會修補截幅。
| 反轉後的屬性 | WAV 保留的內容 |
|---|---|
| 解碼後長度 | 精確保留 |
| 取樣率 | 於 8,000 到 192,000 Hz 範圍內時保留 |
| 聲道數與立體聲交錯 | 保留(1 到 8 聲道) |
| 容器(MP3、M4A、AAC、Ogg、WebM) | 替換為 PCM16 WAV |
| 標籤、專輯封面、章節、循環標記、位元率 | 不保留 |
| 原始響度、音調、長度、截幅 | 工具不會變更 |
本地處理的優勢與其界線
當錄音內容較為敏感——例如語音備忘、內部草稿,或任何受到隱私期待保障的內容——或是網路環境不配合時,本地處理是一項明顯的優勢。該工具也適用於音效設計實驗、反向語音、轉場效果、取樣檢查,以及從不同角度聆聽錄音結尾等用途。這些用途已在產品契約中明列,並且有賴於音訊永遠不會離開您的裝置。
本地的反向處理並無法涵蓋所有音訊任務。若您需要將反轉後的結果剪裁到特定的時間範圍,Audio Cutter 採用相同的本地 PCM16 WAV 工作流程,是最自然的後續步驟。若結果還需要加上確定性的回音、殘響、淡入淡出或響度正規化,Audio Effects 可在同一分頁中對同一檔案疊加這些效果。若您對剪輯工具是否上傳有類似的疑問,請參考 Audio Cutter 的平行上傳檢查。若需要更全面的教學,說明如何在不離開機器的情況下反轉音訊檔案的聲音,請參考 本地反向聲音操作指南。
反向邏輯與編碼器由正式工具與隔離測試共用。反向測試涵蓋奇數與偶數的幀數、多聲道,以及確認來源陣列未被變更。PCM 測試涵蓋低於 -1、高於 1、負向與正向半刻度、端點,以及非有限輸入。WAV 黃金測試會檢查 RIFF、WAVE、fmt 與 data 欄位、位元組率、區塊對齊、小端序 PCM 位元組,以及立體聲交錯。這些檢查能抓出常見的錯誤,例如反轉了聲道順序而非時間順序、漏掉了奇數長度片段的中心取樣,或是寫入了無效的標頭。聆聽原始預覽、產生反轉後的 WAV,然後再聆聽結果的開頭與結尾,同時核對工具所顯示的長度、聲道數、取樣率與檔案大小,是確認輸出符合您預期且未發生上傳的最可靠方式。