在不損失音質的前提下改變音訊檔案大小,意思就是把每個解碼後的取樣乘以一個選定增益,再把結果寫入無損的 16-bit PCM WAV 容器,這正是 Volume Changer 工具所做的事情。Volume Changer 完全在目前的瀏覽器分頁中執行,因此來源檔案永遠不會被上傳,也永遠不會經過有損編解碼器重新編碼。您所選擇的百分比是一個直接的線性振幅乘數:在 100% 時取樣維持原本的解碼值,在 200% 時每個取樣會加倍,在 0% 時檔案會變成靜音,但它的持續時間、取樣率和聲道數會與來源完全相同。由於匯出的檔案使用標準 RIFF WAVE 配置、格式代碼 1 以及 16-bit 有符號 PCM,因此輸出具有高度的可用性,能保留原始取樣率和聲道配置,並對應到負值滿刻度對應 minus 32768、正值滿刻度對應 32767 的非對稱範圍。這個工具還會在套用增益後回報峰值和截斷取樣數量,讓您能夠判斷所選的增益是否把任何取樣推到數位滿刻度以上,以及是否可能產生可聽見的失真。這就是任何需要在不重新壓縮的情況下提高或降低音訊檔案音量、並輸出一個乾淨、未被重新壓縮的 WAV 的人,所需要的實用解答。

「改變檔案大小而不損失品質」對音訊來說代表什麼
對音訊而言,「改變檔案大小」這個說法通常意味著三種情況之一:重新取樣到不同的位元率、透過更小的有損編解碼器重新壓縮,或是改變波形的響度。前兩者幾乎一定會損失品質,因為它們會捨棄取樣或頻率資訊,而對一個已經編碼過的檔案再套用第二代 MP3 或 AAC 會讓這個損失更加嚴重。第三種——調整檔案本身的響度——如果操作方式是將解碼後的取樣相乘並寫回無損容器,就完全不需要重新壓縮。這個區別是 Volume Changer 工作流程的基礎,也正是這個工具永遠輸出 WAV 而不是 MP3 或 AAC 的原因。
Volume Changer 使用瀏覽器的 Web Audio 解碼器,把完整的已編碼檔案轉換成記憶體中的浮點聲道取樣,如 W3C Web Audio API 規範中對 decodeAudioData 的說明。解碼器會回傳一個涵蓋整段檔案時長的完整 PCM buffer,因此在增益步驟中,不會有任何部分被近似、時間拉伸或重新取樣。接著對那個 buffer 逐個取樣套用增益,然後使用 Microsoft Learn 參考文件中對 WAVEFORMATEX 所記載的結構,把結果編碼成一個全新的 RIFF WAVE 檔案。由於輸入與輸出都走同一條未壓縮路徑,因此不會引入任何一代的有損壓縮。
Volume Changer 如何在音量編輯時保留音質
這個工具以三個具體方式來保留品質。第一,解碼在本地端進行,因此原始位元流永遠不會被上傳,檔案也不會經過任何可能重新編碼它的伺服器。第二,增益本身是一個線性振幅乘數,而不是動態壓縮器、限制器或響度正規化工具,這代表波形的相對形狀會被保留——只有比例會改變。第三,輸出使用標準 RIFF 容器,搭配格式代碼 1、原始取樣率、原始聲道數和 16-bit 有符號 PCM,並逐訊框交錯聲道取樣。
那些在乘法運算後超出 minus 1 或 plus 1 數位滿刻度範圍的取樣,會被箝制在該範圍內,而工具會計算有多少有限取樣被截斷。一個非零的截斷取樣數量代表所選的增益可能引入了可聽見的失真,雖然零截斷本身並不保證理想的感知響度,因為感知響度還會受到頻率平衡、持續時間、動態、揚聲器和聆聽條件影響。若需要一個相關的實際情境,目標是編輯檔案而不是依賴播放控制,How to Change Volume on AirPods by Editing the File 教學涵蓋了相同的方法。
在不失真的前提下調整音訊音量:步驟
- 開啟 Volume Changer,並準備一個瀏覽器可解碼、大小不超過 50 MiB 的音訊檔案。
- 從您的裝置中選擇檔案,並等待檔名出現。
- 選擇一個介於 0% 到 400% 的線性輸出音量;100% 維持原始振幅,200% 將其加倍,0% 寫入靜音但保留持續時間和聲道。
- 點擊 Change volume 並等待處理完成——解碼、套用增益、偵測截斷以及 WAV 編碼都會在目前分頁中執行。
- 用合適的耳機或揚聲器預覽產生的 WAV,並聆聽完整的輸出,而非僅僅一小段。
- 在下載前檢查回報的峰值與截斷取樣數量;如果截斷為非零且失真可聞,請降低百分比並重新處理。
- 下載檔案,其檔名會以 -volume-adjusted.wav 結尾,並在取代任何正式音訊前確認它的持續時間和聲道數。
音量百分比與它對取樣的作用
這個百分比是一個直接套用於每個有限解碼取樣的線性振幅乘數。在 100% 時,取樣完全保留原本的解碼振幅。在 50% 時,每個取樣會被乘以 0.5,這大致對應於振幅降低 6.02 dB。在 200% 時,每個取樣會被乘以 2,這在截斷前大致是振幅增加 6.02 dB。在 400% 時,每個取樣會被乘以 4,這大致是振幅增加 12.04 dB,許多訊號會被嚴重截斷。這些數字來自於一個標準關係:線性振幅加倍代表 6.02 dB 的變化,同樣的數學原理也說明了為什麼這個工具回報的是峰值和截斷取樣數量,而不是 dB 滑桿。
以一個具體的計算範例來看,假設一個解碼後振幅位於浮點範圍 0.5 的取樣。乘以 200% 增益後,它變成 1.0,正好位於正值數位滿刻度,不會被截斷。一個原本為 0.6 的取樣在乘以 200% 後變成 1.2,會被箝制為 1.0,並在報告中計為一個截斷取樣。那一個算術步驟——原始值乘以增益,箝制在 ±1.0——就是整個操作的內容。
| 選定的百分比 | 套用於每個取樣的乘數 | 大致效果 |
|---|---|---|
| 0% | × 0 | 維持完整時長的靜音,保留原始取樣率和聲道數 |
| 50% | × 0.5 | 來源檔案的較安靜版本,振幅降低約 6 dB |
| 100% | × 1 | 來源振幅不變 |
| 200% | × 2 | 較大聲的版本,振幅提高約 6 dB;峰值可能發生截斷 |
| 400% | × 4 | 大幅強化的版本,振幅提高約 12 dB;很可能發生截斷 |
上傳前需要知道的檔案、持續時間和聲道限制
這個工具強制執行了幾個互相關聯的限制,目的是在一般筆電和行動裝置上控制記憶體配置與主執行緒工作量。所選的檔案大小上限為 50 MiB。解碼後的持續時間上限為五分鐘。聲道數上限為八個,涵蓋從單聲道到 7.1 環繞音效。解碼後的總聲道取樣數上限為 3000 萬。由於一個壓縮檔案在解碼後可能會大幅膨脹,即使所選檔案很小,解碼後的限制仍然重要——舉例來說,一個低位元率的短 MP3 在解碼後可能產生相對於其編碼大小非常大的 PCM buffer。因此,這個工具檢查的是解碼後的 PCM buffer,而不僅僅是磁碟上的檔案大小。
解碼取決於瀏覽器、作業系統和編解碼器版本,而副檔名並不能證明檔案一定能被解碼。支援的格式系列包含 MP3、WAV、M4A、AAC、Ogg、WebM 和 FLAC,只要瀏覽器能夠解碼它們即可。如果解碼失敗,工具會停止並顯示錯誤,而不是產生空白或不完整的輸出。匯出的檔案一律為 WAV,不受來源格式影響,這是刻意的選擇:PCM16 WAV 可以在本地端編碼,無需新增額外的有損編解碼器依賴,並提供任何音訊編輯器都能檢視的確定性完整結果。它的缺點是 WAV 在磁碟上通常遠大於 MP3、AAC 或 Ogg,因此輸出在檔案大小與透明性之間做了取捨。
乾淨、無失真音量編輯的實用技巧
當您不確定時,請從接近 100% 開始,需要更大聲時再以小幅度調整。務必預覽完整輸出而非一小段,因為失真往往只出現在來源最響的峰值上。每次變更後請查看截斷取樣數量;如果它非零且您聽得到失真,請降低百分比並重新處理。請記住,這個操作無法還原來源中已經被截斷的資訊,而重複的 PCM 轉換會讓版本控管變得複雜,因此請將原始檔案與編輯後的檔案一同保存。這個工具不會保留來源標籤、專輯封面、章節、循環點、cue 標記、編碼器詮釋資料或原始壓縮設定,因此不要依賴輸出檔案攜帶任何這類詮釋資料。如果您的目標是專業發行,請使用具備 true-peak 計量與平台專屬響度目標的量測音訊工作流程——這個工具是一個線性增益階段,而非母帶處理工具,它不會計算 LUFS、true peak、replay gain 或廣播合規。對於大多數日常任務,例如強化一段安靜的語音備忘錄、降低一段過度處理的錄音,或讓某個段落靜音,線性增益路徑加上 PCM16 WAV 匯出,就足以保持品質完整。
若想更深入了解,請參閱 Does Cutting Audio Keep the Original MP3 or AAC Encoding?。