為 M4A 音訊檔加上 reverb 是本機、在瀏覽器內執行的作業,使用 W3C Web Audio API 來解碼你的檔案,並採用已公開的三點反射,延遲時間為 29.7、37.1 與 41.1 毫秒,權重分別為 0.50、0.35 與 0.25,再乘上一個 0–100% 的量值控制,接著寫入一個新的 PCM16 little-endian WAV,讓你在同一個分頁下載。這個 reverb 並非 convolution 引擎、空間模擬器,也不是任何品牌的硬體模擬;它是一個確定性的早期反射設計,採用固定延遲與權重,因此相同的輸入在相同的量值下永遠會產生相同的輸出。Audio Effects Online 在當前頁面上執行每一步:檔案讀取、解碼、取樣處理、WAV 編碼與下載建立。音訊不會被上傳到伺服器,整個處理鏈中也沒有藏著任何 AI 轉換。因為大約 41 毫秒的完整 reverb 尾音會在處理前先行配置,最後一個反射永遠不會被截斷,但尾音確實會讓輸出多出幾格畫面。你的原始 M4A 維持不動,結果是一個全新的 PCM16 WAV,其精確的聲道數、取樣率、影格數、峰值與位元組大小都會顯示在頁面上,讓你能確認實際寫入了什麼。

M4A 檔案需要能解碼 AAC 的瀏覽器
M4A 是一種容器格式,最常裝載 AAC 編碼的音訊,有時也會裝載 ALAC。以 .m4a 結尾的檔名會告訴作業系統磁碟上裝載的是哪種容器,但瀏覽器內部實際的解碼步驟,取決於瀏覽器本身的 AAC 實作以及底層作業系統的支援。Safari、Chrome 與 Edge 在 macOS 與 Windows 上通常都能毫無問題地解碼 M4A/AAC。Firefox 過去一直較為挑剔,在 Linux 上可能會拒絕特定的 M4A profile。對 reverb 處理而言重點很簡單:如果瀏覽器無法解碼你那個特定的 M4A,Audio Effects Online 就不會產生結果,也不會寫出任何 WAV,因為契約就是「解碼一個受支援的檔案」,而不是「無論如何都轉檔」。如果你的 M4A 無法解碼,務實的替代做法是先在你自己的機器上把它轉成更普遍支援的格式,例如 WAV 或 FLAC,然後再用轉出來的檔案作為 reverb 步驟的輸入。Reverb 本身不在乎原本的容器是什麼;它在 Web Audio 將取樣回傳之後,直接處理已解碼的取樣。
Audio Effects Online 在分頁內實際做了什麼
Audio Effects Online 圍繞著一條很明確的契約來建構。它一次只接受一個瀏覽器可解碼的音訊檔,對每一格已解碼的影格只套用六種有限轉換中的「剛好一種」,然後把完整的處理後音訊匯出成一個新的 PCM16 RIFF/WAVE 檔。這六個選項分別是:單一 200 ms 的回音、三點輕量 reverb、反轉、淡入、淡出以及峰值正規化。沒有串接多個效果按鈕,也沒有多效果同時渲染;如果你需要超過一種轉換,就下載第一個結果,然後把新的 WAV 帶著選好的下一個效果重新餵回工具。每一步都在當前分頁內於本機執行:檔案讀取、Web Audio 解碼、取樣影格運算、WAV 編碼以及下載建立全部都在瀏覽器中發生,沒有任何音訊會離開你的機器。處理完成後,頁面會顯示聲道數、取樣率、輸入影格數、輸出影格數、輸出峰值,以及 WAV 的精確位元組大小,讓你不必盲目信任工具就能驗證實際寫入的內容。
| 效果 | 操作 | 典型用途 |
|---|---|---|
| 回音 | 單一 200 ms 半強度延遲拷貝 | Slap-back 雙重化 |
| Reverb | 29.7、37.1、41.1 ms 的三點反射 | 輕量空間感 |
| 反轉 | 以反序讀取已解碼取樣 | 創意翻轉 |
| 淡入 | 從乾訊部分線性放大到滿載 | 平順的開頭 |
| 淡出 | 從滿載線性衰減到乾訊部分 | 平順的結尾 |
| 正規化 | 向 0.95 取樣峰值縮放 | 最大化音量 |
如何線上為 M4A 檔加入 Reverb
- 在目前版本的桌面瀏覽器分頁中開啟 Audio Effects Online。
- 點擊檔案選擇器,挑選一個大小在 50 MiB 以下(含)的 M4A 檔案。以 .m4a 結尾的檔名會被接受,但實際能否解碼仍取決於你的瀏覽器與作業系統。
- 從效果清單中選擇「Reverb」。Reverb 選項是輕量三點反射,不是 convolution 引擎或大廳模擬器。
- 將量值設成介於 0 到 100 之間的整數。在 0 時 reverb 是靜音,在 100 時每一點都會以完整基礎權重觸發。
- 點擊「Apply」。三點會在 29.7、37.1 與 41.1 ms 觸發,且完整尾音會預先配置,所以最後一個反射不會被截斷。
- 閱讀後處理面板:聲道數、取樣率、輸入影格數、輸出影格數、輸出峰值,以及 WAV 的精確位元組大小都會列出來供你檢查。
- 點擊「Download」儲存新的 PCM16 WAV。原始的 M4A 不會被修改,也不會在伺服器上保留任何拷貝。
三點 Reverb 的內部構造
這個 reverb 刻意設計得很簡單,讓你能在紙上推導它的行為。原始訊號的三份拷貝會以固定的 29.7、37.1 與 41.1 ms 延遲回加,已公開的基礎權重分別為 0.50、0.35 與 0.25。量值控制會線性地縮放這些權重,因此 50% 的量值會把它們變成 0.250、0.175 與 0.125,而 0% 量值則會讓 reverb 完全靜音。由於工具會在逐一走訪輸入取樣之前就預先配置整段尾音,最後一個反射一定會被寫入,即使在 100% 量值時也是如此。
| 點 | 延遲 (ms) | 基礎權重 |
|---|---|---|
| 1 | 29.7 | 0.50 |
| 2 | 37.1 | 0.35 |
| 3 | 41.1 | 0.25 |
50% 量值、44.1 kHz 單聲道的數值演算範例
取一個 44.1 kHz 的單聲道檔,將 reverb 量值設為 50。量值因子為 50 / 100 = 0.50,實際的點權重會變成:
基礎權重 × 量值因子 = 實際權重 0.50 × 0.50 = 0.250 0.35 × 0.50 = 0.175 0.25 × 0.50 = 0.125
在 44.1 kHz 下把毫秒延遲換算成取樣影格位移:29.7 × 44.1 ≈ 1310 影格,37.1 × 44.1 ≈ 1636 影格,41.1 × 44.1 ≈ 1813 影格。對於影格 N 上的每一個輸入取樣,reverb 會加上影格 N − 1310 處取樣的 0.250 倍、影格 N − 1636 處取樣的 0.175 倍,以及影格 N − 1813 處取樣的 0.125 倍。總尾音長度大約是 41.1 ms,在 44.1 kHz 下約為 1813 影格。接著會把輸出裁剪到合法的 −1 到 +1 浮點範圍,再量化為 16-bit PCM。
這不是音樂廳、金屬板、彈簧或 convolution reverb。沒有依頻率而變的衰減、沒有立體聲擴散、沒有阻尼,也沒有 pre-delay。這三點是一種快速、透明的方式,能在乾淨的錄音上加上空間感或重複感,用於音效設計的初稿,而 瀏覽器 reverb 實作步解 從稍微不同的角度展示了同一個工具。
需要事先規畫的檔案大小、取樣預算與尾音上限
Reverb 步驟受到兩個交互作用的上限所限制。輸入檔不得超過 50 MiB,而解碼後的輸出(含 reverb 尾音)最多只能有 3000 萬個聲道取樣。當輸出會超出預算時,執行會被拒絕而不會截斷,意思是一個非常長、取樣率又高的檔案即使能放進某個不會增加影格的效果預算,也可能讓 reverb 步驟失敗。回音與 reverb 是唯二會延長輸出的效果,因為它們的尾音會在原始長度之外再增加取樣。當 100% 量值時,乾訊與延遲拷貝大幅重疊,加總後的取樣可能會超出合法的 ±1 浮點範圍;編碼器會在量化成 16-bit PCM 之前,把有限的結果裁回範圍內,因此在強烈設定下可能會毫無預警地出現可聽見的失真。
聲道與取樣率上限承襲自本機音訊管線。輸入必須具備 1 到 8 個等長聲道,以及介於 8,000 與 192,000 Hz 之間的取樣率。如果你的 M4A 解碼後落在這個範圍之外,就不會套用 reverb。輸出容器由 Microsoft 的 WAVEFORMATEX 區塊對齊規則 規範,在 16-bit PCM 下,單聲道每影格寫入 2 位元組、立體聲每影格寫入 4 位元組,這就是為什麼頁面能顯示 WAV 的精確位元組大小而非估算值。
利用 WAV 輸出構築更長的效果鏈
由於 Audio Effects Online 每次執行只套用剛好一種效果,任何需要 reverb 加其他轉換的鏈都必須分階段建立。典型模式是:從原始 M4A 開始,先套用 reverb,下載 WAV,然後把這個 WAV 餵給下一輪執行,選擇其他效果,例如反轉、淡出尾音或峰值正規化。每一輪都會配置自己的輸出緩衝區,所以第一輪的 WAV 會成為第二輪的輸入。反覆的有損解碼與 PCM 處理可能會讓原始失真浮現,反覆的裁剪或正規化也可能會改變錄音的動態範圍,因此值得保留原始 M4A 不動,並把中間的 WAV 標示清楚,以便需要時能從乾淨的來源重新開始一條新鏈。
Audio Effects Online 同樣值得為了其他五種效果再回頭使用,因為跨執行之間的檔案格式契約維持不變,唯一會改變的只有選定的操作。解碼環境會在每次執行之間被關閉,過時的工作無法覆蓋較新的狀態,臨時的物件 URL 在被取代時也會被撤銷,因此重新載入頁面或切換效果並不會洩漏記憶體,也不會把舊結果跟新結果混在一起。
延伸閱讀:為影片萃取出的音軌加入 Reverb。