轉成 32-bit 後再 normalize 時, normalize 的精度就會變成 32-bit, 結果大大不同
可以簡單地做一個實驗, 用 cool edit/audition 把一段 16-bit 的音樂在 16-bit 的模式下衰減 60db, 然後又在 16-bit 的模式下增加回 60db...
接著用同一段 16-bit 音樂, 先轉成 32-bit, 再衰減 60db 然後又再增加 60db, 得出的結果和用 16-bit 處理的完全是兩回事
況且就算本身是用 32-bit (或者說是 24-bit 品質 32-bit 格式) 錄音再 normalize 結果還是一樣
http://www.geocities.co.jp/Hollywood/9807/normalize.zip
有點我不是很了解, rmaa 的 programmer 也有在 digit-life 寫 review, 既然我們相信 rmaa, 也應該相信 digit-life 的 review
為什麼一堆人寧願買xfire1024,而不買audigy?
版主: DearHoney
先轉成32bit後運算精度確實會增加,但只是單純做+6dB的動作
(推廣的說法是乘以2,4.6,8,16倍等),不管用什麼精度去算,連用
我這個愚蠢的大腦把他們用1bit精度去算(只有進位跟不進位兩種)
去算,結果都一樣.要乘以非2的整數倍次方,運算精度才有差
(也就是應用dither,如把32bit的訊號當成64bit來算,算好再
dither回來).
我在前頁最後一篇強調的是,normalize是一個增大音量的步驟,
跟您說衰減32bit的檔案60dB又增加60dB的結果相同這件事情
一點衝突都沒有.
(感謝LIBIDO大大在關於AC3Filter的討論串教導我這件事,要是
不先轉成32bit或不用dither,降低60dB等於砍掉10個bit,16 bit
幾乎不用玩了.)
謝謝您提供的avi檔,內容正是比較原始檔與音量放大6dB(說穿了
就是各個bit向MSB移近一格),最後發現noise level確實增加6dB,
為我上一篇的說法提供了實證.不過嚴格來喔,您做的不是normize,
是振幅加倍.
Avi檔顯示的結果跟我前篇說把錄音混音器Line-In壓低會造成頻譜
向下位移,一點衝突也沒有.
關於digit-life的測試報告中把訊號normilze的作法,如您的avi檔展
示的結果會使得noise level與dynamic range成績變差,我不懂您
說的要相信的事情是什麼.
何況人都是會犯錯的,就事論事,拿手上的實驗結果為依歸才是正道.
(推廣的說法是乘以2,4.6,8,16倍等),不管用什麼精度去算,連用
我這個愚蠢的大腦把他們用1bit精度去算(只有進位跟不進位兩種)
去算,結果都一樣.要乘以非2的整數倍次方,運算精度才有差
(也就是應用dither,如把32bit的訊號當成64bit來算,算好再
dither回來).
我在前頁最後一篇強調的是,normalize是一個增大音量的步驟,
跟您說衰減32bit的檔案60dB又增加60dB的結果相同這件事情
一點衝突都沒有.
(感謝LIBIDO大大在關於AC3Filter的討論串教導我這件事,要是
不先轉成32bit或不用dither,降低60dB等於砍掉10個bit,16 bit
幾乎不用玩了.)
謝謝您提供的avi檔,內容正是比較原始檔與音量放大6dB(說穿了
就是各個bit向MSB移近一格),最後發現noise level確實增加6dB,
為我上一篇的說法提供了實證.不過嚴格來喔,您做的不是normize,
是振幅加倍.
Avi檔顯示的結果跟我前篇說把錄音混音器Line-In壓低會造成頻譜
向下位移,一點衝突也沒有.
關於digit-life的測試報告中把訊號normilze的作法,如您的avi檔展
示的結果會使得noise level與dynamic range成績變差,我不懂您
說的要相信的事情是什麼.
何況人都是會犯錯的,就事論事,拿手上的實驗結果為依歸才是正道.
最後由 Jare 於 2004-04-05 17:55 編輯,總共編輯了 1 次。
為什麼你不去自己試試呢? 就算音量的調整是一些小數之類的東西, rmaa 的結果也是按比例改變的
再講, normalize 並不是單純指增加音量, 降低音量也可以叫做 normalize, cool edit 裡的 normalize 指令就可以讓用家指定把音量提升或降低到指定的水平, 而用這個指令做出來的結果再放在 rmaa 裡測試, 其 db 值也是會按比例改變的, 換句話說, 如果 normalize 去讓音量變小, rmaa 的 noise 值也會按比例變好 (當然是指在 32-bit 精度下執而言)
就這樣看來, 連 cool edit 對 normalize 的定義你都是不同意的, 那我真的不敢和你論下去了, 我自問知識遠遠不及 cool edit 的 programmer...
再講, normalize 並不是單純指增加音量, 降低音量也可以叫做 normalize, cool edit 裡的 normalize 指令就可以讓用家指定把音量提升或降低到指定的水平, 而用這個指令做出來的結果再放在 rmaa 裡測試, 其 db 值也是會按比例改變的, 換句話說, 如果 normalize 去讓音量變小, rmaa 的 noise 值也會按比例變好 (當然是指在 32-bit 精度下執而言)
就這樣看來, 連 cool edit 對 normalize 的定義你都是不同意的, 那我真的不敢和你論下去了, 我自問知識遠遠不及 cool edit 的 programmer...
我不懂您要我做什麼實驗,您不是已經做了嗎,我在前一篇回文中
不是說了嗎,您那個avi展示的結果就是noise level與dynamic
range增加幅度與您在cooledit增加的幅度一樣啊,我本來就接受
這件事情啊,我在上頁最後一篇也是這樣寫啊,不懂您在氣什麼.
我在上頁最後一篇不是連為什麼增加幅度會一樣都解釋了嗎,我還
說如果不是2的整數倍次方因為量化失真用RMAA看不出來,所以
才會導致數據增加幅度都一樣.
關於normalize我承認是我自己學藝不精,我是看到站上漫談數位
音樂一文中說
Normalize就是將一段波型音量放大,放大的目標是讓原波型的最大振幅(peak)等於最大可容許振幅。我們常常會抱怨自做精選集CD這一首音量好大,下一首音量又太小,這時將每首都經過Normalize處理可以改善這個問題。不過由於經放大過後的振幅大小可能不是整數,最後不可避免要用到四捨五入之類的技巧,因此處理過的波型和原波型造成非線性放大產生誤差,再度導致量化失真。所以為了保留音色與相位的正確性,處理數位音樂盡量避免Normalize,除非放到後剛好不須捨棄位數。
所以我才一直以為normalize是把音量增加啊,只是增加的幅度要
預先從最大振幅算出來.我學藝不精沒用過cooledit的normailize,
所以用詞的定義與您有出入,這點我道歉.
不過digi-life不也都是因為音量太小才做normalize嗎?所以還是在
增加音量啊.
回歸主題,本來我們討論的重點是
因為xfire輸出音量低於Audigy 7dB.所以要把noize level與dynamic
range成績都扣7dB是否合理.
個人的主張是不合理.
不是說了嗎,您那個avi展示的結果就是noise level與dynamic
range增加幅度與您在cooledit增加的幅度一樣啊,我本來就接受
這件事情啊,我在上頁最後一篇也是這樣寫啊,不懂您在氣什麼.
我在上頁最後一篇不是連為什麼增加幅度會一樣都解釋了嗎,我還
說如果不是2的整數倍次方因為量化失真用RMAA看不出來,所以
才會導致數據增加幅度都一樣.
關於normalize我承認是我自己學藝不精,我是看到站上漫談數位
音樂一文中說
Normalize就是將一段波型音量放大,放大的目標是讓原波型的最大振幅(peak)等於最大可容許振幅。我們常常會抱怨自做精選集CD這一首音量好大,下一首音量又太小,這時將每首都經過Normalize處理可以改善這個問題。不過由於經放大過後的振幅大小可能不是整數,最後不可避免要用到四捨五入之類的技巧,因此處理過的波型和原波型造成非線性放大產生誤差,再度導致量化失真。所以為了保留音色與相位的正確性,處理數位音樂盡量避免Normalize,除非放到後剛好不須捨棄位數。
所以我才一直以為normalize是把音量增加啊,只是增加的幅度要
預先從最大振幅算出來.我學藝不精沒用過cooledit的normailize,
所以用詞的定義與您有出入,這點我道歉.
不過digi-life不也都是因為音量太小才做normalize嗎?所以還是在
增加音量啊.
回歸主題,本來我們討論的重點是
因為xfire輸出音量低於Audigy 7dB.所以要把noize level與dynamic
range成績都扣7dB是否合理.
個人的主張是不合理.
最後由 Jare 於 2004-04-05 17:55 編輯,總共編輯了 1 次。
很累... 用 avi 的確可以打少一點字
http://www.geocities.co.jp/Hollywood/9807/normal2.zip
rmaa 的精確度不過是小數點後一個位, cool edit 的四捨五入根本微不足道
http://www.geocities.co.jp/Hollywood/9807/normal2.zip
rmaa 的精確度不過是小數點後一個位, cool edit 的四捨五入根本微不足道
對啊,確實是微不足道,所以我在前一篇跟上頁最後一篇才說RMAA
的數據沒辦法反應非2的整數次方倍造成的量化失真,所以增加幅度
會一樣啊.
您提供的avi檔做的是非2的整數次方倍降低音量,證明降低幅度也
會一樣,理由也是一樣啊,因為是先轉成32bit補零所以降低音量時
本來16bit取樣最後一個bit的資料不會流失,而量化失真RMAA無
法反應,所以降低的幅度也是一樣啊.
請問您的重點是什麼?您到底想要改變我什麼概念?我們這一頁的討
論除了對normalize處的認知有衝突,而我也道歉了,其他的部分
您提供的資料和我講的事情不都是相容的嗎?
請直接了當告訴我到目前為止我到底是哪一段文章寫錯了,跟您提供的
資料有衝突了.我真的很想知道您這麼不屑我的文章到底是看哪一段不
順眼,請您明示,有錯誤的地方我一定馬上改正.
的數據沒辦法反應非2的整數次方倍造成的量化失真,所以增加幅度
會一樣啊.
您提供的avi檔做的是非2的整數次方倍降低音量,證明降低幅度也
會一樣,理由也是一樣啊,因為是先轉成32bit補零所以降低音量時
本來16bit取樣最後一個bit的資料不會流失,而量化失真RMAA無
法反應,所以降低的幅度也是一樣啊.
請問您的重點是什麼?您到底想要改變我什麼概念?我們這一頁的討
論除了對normalize處的認知有衝突,而我也道歉了,其他的部分
您提供的資料和我講的事情不都是相容的嗎?
請直接了當告訴我到目前為止我到底是哪一段文章寫錯了,跟您提供的
資料有衝突了.我真的很想知道您這麼不屑我的文章到底是看哪一段不
順眼,請您明示,有錯誤的地方我一定馬上改正.
其實漫談數位音樂一文關於 normalize 的立場我是很同意的, 因為作者說的是 16-bit 的 normalize, 精確度本來就不怎麼樣, 況且那篇文章已經有點舊, 也許寫作時沒有料到 24-bit 的民用系統已經流行起來了
而且 cool edit 那個所謂 32-bit 的精度, 也許是遠超過 32-bit 的, 因為在 32-bit 模式下, 即使你再怎麼衰減很多很多次, 再放大後聽起來也聽不出有什麼失真
而於是否看到低了 7db 就應該補回 7db, 我只是就我對 rmaa 設計者的信任投信任票, 所以有質疑的話, 直接去 rmaa forum 問, 也許那裡又會有另一番討論也說不定, 因為我的知識, 主要是從軟體上的 readme/help 文件 裡得來的, 那是因為我相信, 既然那些人可以做出這樣複雜的軟件, 對數位音效也一定有相當的認識...
請不要說我不屑你的文章或什麼, 只是覺得有點累而已, 這是我的個人問題, 我不是一個很能夠心平氣和的人, 況且不能在這裡用廣東話, 是對表達能力的一種很大的壓抑
所以 Jare 兄請暫時放我一馬, 也許我要休息好幾天才有心情再在這裡說話
而且 cool edit 那個所謂 32-bit 的精度, 也許是遠超過 32-bit 的, 因為在 32-bit 模式下, 即使你再怎麼衰減很多很多次, 再放大後聽起來也聽不出有什麼失真
而於是否看到低了 7db 就應該補回 7db, 我只是就我對 rmaa 設計者的信任投信任票, 所以有質疑的話, 直接去 rmaa forum 問, 也許那裡又會有另一番討論也說不定, 因為我的知識, 主要是從軟體上的 readme/help 文件 裡得來的, 那是因為我相信, 既然那些人可以做出這樣複雜的軟件, 對數位音效也一定有相當的認識...
請不要說我不屑你的文章或什麼, 只是覺得有點累而已, 這是我的個人問題, 我不是一個很能夠心平氣和的人, 況且不能在這裡用廣東話, 是對表達能力的一種很大的壓抑
所以 Jare 兄請暫時放我一馬, 也許我要休息好幾天才有心情再在這裡說話
是啊,Cooledit採用32bit,降低音量還有一大堆位數可以用,
確實沒什麼影響,而且cooledit在降低音量時是可以選擇要不
要dither的,加入 dither的話失真又會更小.
您的意思是說既然RMAA的作者在處理音效卡輸出電壓太低時,
替代方案是用cooledit把音量補回去,所以既然xfire的輸出音
量不足-6dB,也應該補到-6dB才能跟Audigy在同樣的立足點
上做比較.
我前面一大堆文章,主要的論點是在強調,您提出來用Live!錄音
的avi檔所呈現的結果,並不足以用來說明扣7dB是合理的.
因為avi中是從錄音混音器壓低音量,而實際上xfire與audigy那
兩篇測試報告中的音量差異,並非來自卡豪華的錄音混音器,應
該是音效卡本身輸出音量不同,跟您提供的avi檔中所體現的情形
是不同的狀況.
一般音效卡從播放混音器WaveOut把音量增加時,noise level
卻不會跟著增加,因此我不同意可以從Live!的錄音結果推廣到應
該把xfire的noise level數據扣7dB的作法是合理的.
而之後您提出來的兩個avi檔都是在講轉成32bit後再調整音量
(包括normailize)對於noise level與dynamic range的數據
是有直接的影響的,crosstalk也會,但THD與IMD並不受影響.
而我從對數位音訊處理的理解,也一直贊同這個觀點.
至於RMAA設計者這麼做的理論依據是什麼,直接用用軟體把
音量調大就可以合理外延音效卡在該音量下的輸出表現嗎?
目前我對這種作法的合理性還是抱持保留態度,理由如前文所
述,我想這就是是我跟您觀點上最大的不同.
至於到底要怎麼樣還Audigy一個清白,我目前的想法是可以
把Audigy的音量也壓到-10dB再來做RMAA測試,然後跟xfire
再比比看.
如果是採用digt-life的作法,也就是直接倒扣7dB,我是真的
覺得說服力不夠,我希望能有更據公信力與理論基礎的作法.
不知道您有沒有什麼別的好辦法?
很高興能與您有這番精彩討論,也請您原諒我小心眼鑽牛角尖.
確實沒什麼影響,而且cooledit在降低音量時是可以選擇要不
要dither的,加入 dither的話失真又會更小.
您的意思是說既然RMAA的作者在處理音效卡輸出電壓太低時,
替代方案是用cooledit把音量補回去,所以既然xfire的輸出音
量不足-6dB,也應該補到-6dB才能跟Audigy在同樣的立足點
上做比較.
我前面一大堆文章,主要的論點是在強調,您提出來用Live!錄音
的avi檔所呈現的結果,並不足以用來說明扣7dB是合理的.
因為avi中是從錄音混音器壓低音量,而實際上xfire與audigy那
兩篇測試報告中的音量差異,並非來自卡豪華的錄音混音器,應
該是音效卡本身輸出音量不同,跟您提供的avi檔中所體現的情形
是不同的狀況.
一般音效卡從播放混音器WaveOut把音量增加時,noise level
卻不會跟著增加,因此我不同意可以從Live!的錄音結果推廣到應
該把xfire的noise level數據扣7dB的作法是合理的.
而之後您提出來的兩個avi檔都是在講轉成32bit後再調整音量
(包括normailize)對於noise level與dynamic range的數據
是有直接的影響的,crosstalk也會,但THD與IMD並不受影響.
而我從對數位音訊處理的理解,也一直贊同這個觀點.
至於RMAA設計者這麼做的理論依據是什麼,直接用用軟體把
音量調大就可以合理外延音效卡在該音量下的輸出表現嗎?
目前我對這種作法的合理性還是抱持保留態度,理由如前文所
述,我想這就是是我跟您觀點上最大的不同.
至於到底要怎麼樣還Audigy一個清白,我目前的想法是可以
把Audigy的音量也壓到-10dB再來做RMAA測試,然後跟xfire
再比比看.
如果是採用digt-life的作法,也就是直接倒扣7dB,我是真的
覺得說服力不夠,我希望能有更據公信力與理論基礎的作法.
不知道您有沒有什麼別的好辦法?
很高興能與您有這番精彩討論,也請您原諒我小心眼鑽牛角尖.
確實是如此,以下我用DMX6Fire loopback測得的數據。Jare 寫: 一般音效卡從播放混音器WaveOut把音量增加時,noise level
卻不會跟著增加,因此我不同意可以從Live!的錄音結果推廣到應
該把xfire的noise level數據扣7dB的作法是合理的.
首先是調整混音器Master的音量,來控制RMAA測試前在調整音量處顯示的音量大小:
接下來是調整混音器WavePlay的音量,來控制RMAA測試前在調整音量處顯示的音量大小:
我們可以發現這兩張圖的數據大同小異,Noise level、Dynamic range與Stereo crosstalk的數據都沒什麼改變,所以您說改變放音混音器的WaveOut大小是不會影響Noise level的說法是正確的。
或許有人會注意到THD與IMD數據音量越小越差,我想這應該是DMX6Fire的driver降低音量時運算精度不足所造成的誤差,導致最後一個bit的資訊失真。
我想RMAA的作者會做normalize大概是認為這樣等同於把輸出訊號先經過一個幾乎完美的擴大器增加訊號強度後再錄起來。
從bennetng兄做的實驗我們知道normalize會改變Noise level、Dynamic range與Stereo crosstalk,而改變播放混音器的音量時不會改變這幾項數據,所以我覺得用normalize來推測音效卡在比較大音量時的表現的作法是值得商議的。
但normalize的作法也是有其合理性,畢竟當音效卡輸出音量不足時,實際使用時我們會把擴大機音量轉大,所以間接造成使用時得到的SNR比較差。所以normalize的作法確實能表現出實際使用時音效卡的性質。
如果今天我們談的是音效卡本身的表現,我不贊同用normalize的作法來外延音效卡在大音量下的表現。至於RMAA設計者這麼做的理論依據是什麼,直接用用軟體把
音量調大就可以合理外延音效卡在該音量下的輸出表現嗎?
理論上要把數據做外延,應該要用最小方差法取該音效卡不同音量時的Noise level、Dynamic range與Stereo crosstalk等數據算出趨勢線來外延,這才是比較科學的作法。
但是從上面那兩張圖我們知道其實這三項數據並不怎麼隨輸出音量改變,故我認為如果要討論音效卡本身,之前我做的Xfire1024 Line-Out RMAA測試中,Noise level、Dynamic range與Stereo crosstalk等數據大小是合理。
然而,如果今天要談的是實際使用的表現,假設我們用Audigy與Xfire1024聽同一首歌,要開到同樣的音量時,Xfire1024由於本身輸出電壓較低,所以擴大器的增益倍數比較高,雜音也一起被放大成較高的音量,所以normalize的作法可以反映出實際使用時的結果。
所以,RMAA作者的作法的確有其道理,感謝bennetng的細心觀察,我以後會好好注意這個現象。
至於要怎麼還AudigySE一個清白,我手上沒有AudigySE也沒有Xfire1024,當初借我的朋友要到月底才會回國,恐怕要到那個時候才能用比較正常的方法重新測一遍。
到時後我一定會特別記錄這兩張卡在RMAA調整音量時的數據是多少,這樣要算倒底Xfire1024要扣幾dB也比較準確。我也會做把AudigySE音量調到跟Xfire1024一樣時的數據比較。
那XFire1024到底還該不該推薦?
扣除Noise level和Dynamic range的爭議,與音量比較無關的頻率響應、THD和IMD圖形都屬Xfire1024的奇怪頻譜peak比較少,且Audigy的Noise level和Dynamic range在60Hz到1000Hz的範圍內抖得比較厲害,所以從RMAA的數據來看,我仍然認為Xfire1024的失真比較少,是低價位高音質的好選擇。
-
- 大師
- 文章: 90
- 註冊時間: 2002-06-01 08:00
- 來自: 中国