Snapchat 本身並沒有內建的「反轉音效」濾鏡可以在應用程式內將匯入的音訊片段倒著播放,所以若要在 Snapchat 上使用反轉後的音訊,你必須先在其他工具中將檔案反轉、儲存結果,然後再把反轉後的音訊以自訂音效的形式匯入你的 Snap 中。最快且可靠的做法,是在瀏覽器型本地反轉工具(例如 Lizely 的 Reverse Audio 工具)中載入音訊檔,該工具會解碼每個聲道中的所有樣本、在你的分頁中反轉音訊時間軸,並輸出一個重新編碼的 PCM16 WAV,讓你可以直接拖進 Snapchat 的自訂音效選擇器。由於整個處理過程都在你的瀏覽器本地完成,原始錄音不會被上傳;對於未超過所公布大小與時長限制的片段,反轉後的 WAV 能在數秒內產出;而且你匯入的會是一個真正的音訊檔,而不是某種螢幕錄影的技巧。本指南將逐步說明為何 Snapchat 的原生濾鏡無法解決這個任務、如何在本地反轉一段音效、匯出檔案實際上包含什麼內容,以及如何匯入結果讓它真的能在你的 Snap 中倒著播放。

how to do reverse sound on snapchat
how to do reverse sound on snapchat

為何 Snapchat 的內建濾鏡無法涵蓋反轉音訊

Snapchat 的內建反轉濾鏡只會影響 Snap 中影片影格的前後順序,並不會將匯入的音訊檔倒著播放。在 Snap 內錄製的音訊可以重新錄製或附加一段音樂,但該應用程式並未提供任何控制項,可以翻轉已儲存在裝置上的音訊檔時間軸。這就是為什麼當目標是在 Snap 中讓一段音效從結尾播到開頭(而非讓影片倒著播放)時,需要一個獨立的音訊反轉工具。

下表整理了這項功能落差。它比較了應用程式內反轉濾鏡能做的事,以及像 Reverse Audio 工具這類本地音訊反轉器能做的事,因此可以清楚看出,當你需要的是反轉後的音效而非反轉後的影片時,應該選用哪一個工具。

功能Snapchat 內建反轉濾鏡本地音訊反轉器(Reverse Audio)
反轉影片影格否,僅限音訊
反轉匯入檔案中的音訊樣本
適用於裝置上既有的音訊檔
保留原始取樣率與聲道數不適用(僅限濾鏡)是,前提是落在 8,000 至 192,000 Hz 範圍內,且聲道數為一到八個
可保留在磁碟上的輸出Snap 本身一個重新編碼的 PCM16 WAV
是否需要上傳到伺服器Snap 一如往常會被上傳否;解碼、反轉與編碼都在當前瀏覽器分頁中完成

這項落差正是為什麼搜尋「how to do reverse sound on snapchat」幾乎都會得到同一個務實答案:在本地反轉檔案,再把結果匯入應用程式。

本地音訊做法:在瀏覽器中反轉檔案

在本地反轉一段音效,代表將音訊解碼為原始樣本資料、在每個聲道內交換樣本順序,再把結果重新寫回成新的音訊檔。在瀏覽器中執行這項作業,可讓檔案不經過第三方伺服器;當錄音內容屬於私人、未發行,或單純因為太長而無法上傳時,這點格外重要。瀏覽器讀取檔案,Web Audio API 將其解碼,反轉器翻轉每個聲道的時間軸,接著下載按鈕就會交出新的 WAV。整個來回流程夠短,足以在單次 Snapchat 使用階段內完成。

Reverse Audio 工具正是遵循這個流程:檔案讀取、Web Audio 解碼、樣本反轉、WAV 編碼與預覽產生,全部都在當前瀏覽器分頁中於本地完成。原始檔會取得一個暫時的本地物件 URL 供內建預覽使用,而完成的 WAV 則會取得另一個獨立的暫時下載 URL。選擇另一個檔案、再次執行作業或離開頁面時,這些過期的 URL 都會被釋放。用於解碼的 Web Audio context 也會在作業結束或工作被取代時一併關閉,因此分頁不會在多次嘗試之間一直保留舊資源。

關於這類解碼的瀏覽器支援說明,可參考 MDN BaseAudioContext.decodeAudioData 參考資料,這也說明了為何基於分頁的反轉器能在短時間內產出忠實的反轉檔,而不必依賴遠端轉檔器或龐大的桌面軟體安裝。

如何為 Snapchat 製作一段反轉後的 WAV

  1. 選擇一個大小上限 50 MB 的支援音訊檔,並可選擇性地在瀏覽器中預覽原始檔案。
  2. 選擇 Reverse audio(反轉音訊),並靜候所有解碼後的聲道樣本於本地完成反轉。
  3. 預覽結果、檢查其時長與音訊屬性,然後下載 PCM16 WAV。

將下載的檔案儲存到你的手機能存取的位置。在桌面上,這通常就是「下載」資料夾,接著可以透過 AirDrop、USB 傳輸、雲端資料夾或通訊應用程式,把這個 WAV 移到要發布 Snap 的裝置上。如果你已經在行動裝置上,檔案會自動落入「下載」或「檔案」應用程式,而下一節將說明如何讓 Snapchat 指向這個檔案。

匯出的反轉 WAV 包含什麼內容

反轉後的檔案並不是原始編碼倒著播放。它是一個具有嚴謹、明確結構的新音訊檔。了解這個結構,有助於預測當檔案被匯入 Snapchat 或任何其他會取用音訊的應用程式時會發生什麼事,也比較容易察覺像是「不小心匯入了未反轉的原始檔」這類錯誤。

屬性反轉輸出的值
容器格式RIFF / WAVE,標示為 PCM
位元深度16 位元有符號,小端序
樣本範圍對應負向滿刻度對應 -32768,正向滿刻度對應 32767
取樣率與來源相同,介於 8,000 至 192,000 Hz
聲道數與來源相同,一到八個聲道
時長與來源相同,最長 5 分鐘
輸入檔案大小上限50 MB
最大聲道樣本數30,000,000(幀數乘以聲道數)

計算範例:幀數乘以聲道數即可得到聲道樣本數,因此一段 3 分鐘、44,100 Hz 的立體聲錄音合計為 3 × 60 × 44,100 × 2 = 15,876,000 個聲道樣本,遠低於 30,000,000 的上限。同一段錄音會產出一個立體聲的反轉 WAV,其中左右聲道會各自獨立反轉,再以正確的 WAV 幀順序重新交錯播放,因此檔案播放時立體聲音像得以保留。

反轉後的檔案不會帶有原始中繼資料。專輯封面、ID3 標記、章節、循環標記、編碼器設定、壓縮位元率以及容器專屬欄位都不會被複製;此外,該工具並不會進行響度正規化、移除靜音、刻意改變音高、拉伸時間或修復削波。反轉樣本只是把每個事件移到從結尾往回量測的對應位置。由於輸出是未壓縮的 PCM16,反轉後的 WAV 體積也可能比壓縮來源大,這也是為什麼在空間有限的手機上,建議先剪輯再反轉的原因之一。

將反轉後的音訊以自訂音效匯入 Snapchat

一旦反轉後的 WAV 進入裝置,匯入 Snapchat 的流程就是沿用標準的自訂音效路徑。各項標籤可能隨 Snapchat 版本而略有不同,但整體作業流程已足夠穩定,可以用具體步驟加以說明。

  1. 若你在桌面上完成反轉,請將反轉後的 WAV 移到行動裝置,可透過 AirDrop、USB 傳輸、雲端資料夾,或聊天應用程式中儲存的訊息來傳送。
  2. 開啟 Snapchat,並以拍照或錄影模式啟動一個新 Snap。
  3. 點選音樂/音訊圖示以開啟音效選擇器。
  4. 選擇從自己媒體庫新增音效的選項,通常標示為「My Sounds」或「Create Sound」。
  5. 在裝置選擇器中找到反轉後的 WAV 檔並選取它。
  6. 若 Snapchat 顯示修剪滑桿,可裁剪片段的開頭與結尾,為音效命名,然後儲存為自訂音效。
  7. 將已儲存的自訂音效附加到 Snap,讓它在錄製時播放。
  8. 錄製或選擇 Snap 的內容,預覽附加音訊後的成果並發布。

如果匯入選擇器沒有列出這個 WAV,可以採取一個快速的處理方式:在另一個本地工具中將反轉後的檔案轉成 M4A 或 MP3 等壓縮格式,因為未壓縮的 PCM16 WAV 體積往往大於許多手機匯入器偏好的大小。反轉後的音訊本身不會改變,只有容器變了,因此該片段在 Snap 中依然會從結尾播到開頭。

為何反轉後的音效有時無法如預期播放

大多數匯入失敗來自四個地方之一:檔案大小、容器、選錯了來源檔,或對預覽的誤讀。一旦確認原因,修正方式都很快速,而且都不需要重新錄製原始音效。

  • 檔案太大。 PCM16 WAV 是未壓縮格式,所以即使只是 1 分鐘的錄音,檔案也可能達數 MB。請在反轉前先剪輯原始檔,或使用本地音訊剪輯工具將反轉後的 WAV 裁剪到你實際需要的段落,再進行匯入。
  • Snapchat 在選擇器中沒有列出這個 WAV。請在另一個本地工具中將反轉後的檔案轉成 M4A 或 MP3,再匯入這個版本。反轉後的音訊不變,只是容器被重新編碼。
  • 音效正向播放而非反向播放。這代表不小心匯入了原始檔,或是某個未反轉檔案的備份被改名為反轉後的檔名。請確認反轉器所顯示的時長、聲道數、取樣率與檔案大小符合你對一段反向播放片段的預期,然後重新匯入正確的檔案。
  • 工具在來源上回報解碼錯誤。編碼支援取決於訪客的瀏覽器與作業系統,一個常見的容器內部可能藏有不支援的編碼。當 Web Audio 拒絕接收資料時,反轉器會回報解碼錯誤而不是胡亂猜測,因此修正方式是在重新反轉之前,先用一個已驗證可靠的編碼器重新匯出來源。

每次匯入後,請在 Snapchat 的預覽中聆聽反轉片段的開頭與結尾,確認時間軸已從結尾翻轉到開頭、時長未變,且聲道保持完整。這個快速檢查能在不必重做整個流程的情況下抓出大多數錯誤。

如果你正在權衡各種做法,How to Join Audio Clips in DaVinci Resolve and Export 對此有詳細說明。

如果你正在權衡各種做法,Online Metronome With Sound: Frequencies, Accent, and Click 對此有詳細說明。