ReplayGain 則是計算訊源的最大音量大小,如果會超過 0dB,譬如說最大音量是 +6dB,ReplayGain 就會在播放的時候,將音量"全體"降低 6dB,使最大的音量大小維持在 0dB 而不會破表。
這是因為 MP3 等破壞性壓縮會增加量化雜訊,最大音量往往會超過 0dB 而發生破音,在解碼計算的時候 decoder 可以預先知道解出來的 sample 值會不會大於 0dB,如果超過,便可以在解碼的階段預先降低整體的增益值,使整體的音量向下減小,這樣就不會超過破表了。
例如 MP3 有一個 global gain 的參數,藉由調整 global gain 參數可以以 1.5dB 為單位,調整音量大小,範圍是 +6dB~-6dB,這個調整是無失真的。
[簡介]foobar2000 --- 簡單且高品質的audio player
版主: DearHoney
Re: 關於 limiter 的作用
嘩!...
... 勵害 :tup:
LIBIDO 大大:
豈不是要非常小心使用 Limiter 與 Replay gain喔!
foobar 2000 的 Limiter 沒有任何參數設定, 你只可選擇用或不用. 不過, 它Compress 的音色應該非常自然, 自然到我也感覺不到有變化.
請問是不是正常 CD 的最大音量不會大於 0dB 呢? 如果是的, 那 Replay gain 只適合用在MP3 之類會增加量化雜訊的音樂格式.
另外, 量化雜訊=dithering 嗎?
... 勵害 :tup:
LIBIDO 大大:
豈不是要非常小心使用 Limiter 與 Replay gain喔!
foobar 2000 的 Limiter 沒有任何參數設定, 你只可選擇用或不用. 不過, 它Compress 的音色應該非常自然, 自然到我也感覺不到有變化.
請問是不是正常 CD 的最大音量不會大於 0dB 呢? 如果是的, 那 Replay gain 只適合用在MP3 之類會增加量化雜訊的音樂格式.
另外, 量化雜訊=dithering 嗎?
Re: 關於 limiter 的作用
小弟不是大大,您可能誤會了 ^^;WavOX 寫:嘩!...
... 勵害 :tup:
LIBIDO 大大:
事實上小弟已經很久沒有研究效果器的原理和設計,所以以上說的完全是靠當年的印象,如果有錯請站上的大大們幫忙指正 ^^;;
那看來 foobar2k 的 limiter 設計得不錯豈不是要非常小心使用 Limiter 與 Replay gain喔!
foobar 2000 的 Limiter 沒有任何參數設定, 你只可選擇用或不用. 不過, 它Compress 的音色應該非常自然, 自然到我也感覺不到有變化.
上面說的 0dB 是 0dBFS 的簡便寫法,所有數位音訊的音量都不能超過 0dBFS,例如 16bit 數值 0 是 -96dBFS,0dBFS 代表的數值是 +32767 或 -32768,是 16bit 所能記錄範圍的最大值,超過的資料會被削掉(clipping),波形的頂部會變成平坦的形狀造成嚴重的失真。24bit 也是同樣的情況,資料的最大值就是 0dBFS,沒有大於此值的 sample 存在,數值 0 則是 -144dBFS。請問是不是正常 CD 的最大音量不會大於 0dB 呢?
ReplayGain 就是用在破壞性壓縮的音源上,這種訊源因為量化雜訊增加的關係會破音,而且能在解碼的階段預先知道會破音,並且能保留記錄破音超過的部分的數值資料,然後調整增益值,使解碼出來的最大值能落入輸出格式所能包含的範圍裡面,也就是降低整體的音量。例如 16bit 輸出,使最大聲的數值能縮小至剛好是 +32767 或 -32768,也就是 0dB,這樣便不會破音了。如果是的, 那 Replay gain 只適合用在MP3 之類會增加量化雜訊的音樂格式.
我說的量化雜訊指的是 quantization noise 不是 dither。另外, 量化雜訊=dithering 嗎?
量化雜訊是數位化量化記錄的時候,與原本訊號的誤差,在音訊上稱為量化雜訊。
破壞性壓縮的時候會重新分配量化的位元數,對比較不重要或者是可以容許失真的部分,分配與比較少的位元記錄。較少的位元數量化,也就是量化的位階變少,會增加量化的誤差,也就是增加量化雜訊。這些增加的失真會使得壓縮後的資料在解碼時還原的 sample 值超過 0dBFS。
非hack的"合法"seekbar plug-inChousw 寫:這版的seekbar 只能用到0.54 ,昨天換成0.55後就變得不相容了....chengi 寫:for 2000, xp
http://www.bd888.com/non-cgi/usr/5/5_2216.zip
98
http://x-fixer.narod.ru/download/foo_butt9x.zip
foobar200 官方似乎不鼓勵這種 plug-in?
anyway,我覺得很好用....ccc
看來除非作者有心要想做toolbar,不然一直靠別人寫的外掛還是滿累的.....
目前我只在官方論壇裡看到一個,寫得還不錯
http://www.dotblue.org:81/~phil/foo_seekbar.dll
我自己也有寫一個,但是只是由SDK裡的classic ui plug-in修改一下小缺點、再加個線性音量控制而已
http://netcity1.web.hinet.net/UserData/ ... or_0.5.zip
因為我要考研究所,沒時間再加料下去,所以又醜又陽春,不過和上面那個foo_seekbar.dll比起來還是有一些些優點的~~
不嫌棄的話就湊合著用吧~
附帶一提,我有試過做成toolbar的形式,但好像不行,這大概是為什麼foo_tb要用hack的方式來做吧...
看樣子真的要靠作者peter做個toolbar式的seekbar,或是開個相關API給人用囉...
真希望能用到非hack又好用的seekbar啊...
-------------------
recompile for foobar2000 v0.6:
http://netcity1.web.hinet.net/UserData/ptljm/
最後由 sejem 於 2003-04-02 10:00 編輯,總共編輯了 2 次。
Re: 關於 limiter 的作用
總之, 多謝賜教!LIBIDO 寫: 小弟不是大大,您可能誤會了 ^^;...
依你所說, 當聽 MP3 時, 應該用 Replay gain 以防有爆音, 而在聽 CD 時便該不用它.
另外, 我亦多謝KomHub 大大所做的實驗! 從你的實驗及 LIBIDO 大所說, 我覺得 Replay gain 的作法比soft clipping limiter 好. 因為, Replay gain 是將整個波形壓低, 所以波形是不變, 但soft clipping limiter就不然了, 而且, Replay gain 的目的是防音訊超過 0dB, 而 soft clipping limiter 就被內定了某一值而又不能隨意變更.KomHub 寫:老實說,我也不清楚 Advanced Limiter 在幹嘛...