貼在普的討論區,順便轉過來給大家做參考
==
畢竟音量不夠可以開大聲...畫面出問題就...只能欲哭無淚了...
不是那麼簡單。
數位音訊,降低音量等於損失解析度,損失的細節不是事後調整音量就可以救得回來的。
當我們把音量減半,也就是將原本的 sample 值除以二,音量相等於降低 6.02dB。
20*log(2/1) = 6.02dB
將 sample 值除以二,以二進位的觀點來看,相等於往右 shift 一個 bit,捨棄最末尾的位元
十進位 15 >> 1 = 7
二進位 1111 -> 0111
音量減半後,開頭的第一個位元是 0,等於沒有作用,原本 4bit 的解析度,等於只剩下 3bit。
那麼再放大一倍回來,會變成什麼樣?
放大一倍,以二進位的觀點來看,等於向左 shift 一個 bit,最末尾的位元填補上 0
十進位 7 * 2 = 14
二進位 0111 -> 1110
由以上可知,原本最末尾的資訊 1,已經在第一次音量減半的時候就捨棄掉了,事後放大音量,是無法補救這個已經損失的訊息。
音量調整,會增加 quantization error,降低 SNR。
以一個 bit 提高 6dB 的 SNR(SQNR,Signal to Quantization Noise Ratio)計算,16bit 相等於有 96dB 以上的 SNR。
bit 數越少,SNR 越差。
所以現代的流行音樂 CD,才會拼命用動態壓限器,把音量盡可能塞到滿,儘量利用完每一個位元。
有興趣的人可以自己做實驗,用 Wave 編輯軟體將測試訊號降低音量 6.02dB 後再放大回來,比對兩者差異的 sample 數值,並且計算兩者的 SNR。
要知道二區是否是經過混音器放大來提高音量,可以將三區的音軌放大 8.75dB,比對兩者的 sample 數值。
提出以上的說明,是想請有關人員重視這個問題,這個問題不是只有表面上「聲音小聲?把音量放大就好」這麼簡單。
==
除以 = 向右 shift bit = 減少 bit = 量化 = 捨棄 LSB = 損失解析度 = 損失細節 = 降低 SNR
--
離題 ^^;