由於前一陣子測試<a href="http://forums.dearhoney.idv.tw/viewtopi ... 的時候發現Total Recorder與DMX6Fire數位錄音的結果不同,為了找出原因退一步測試wav的輸出結果,先確定各個播放程式播放wav檔的結果,才能確定driver是否會造成額外的失真,而影響之前AC3解碼的測試數據。
測試方式:
1.先用RMAA5.1製作16-bit 48kHz與24-bit 48kHz的wav檔。其中24-bit 48kHz的wav檔格式為32-bit int。
2.將DMX6Fire數位輸出給CardDeluxe數位錄音。錄音軟體為Cooledit2000。
3.
3a.以foorbar2000 0.72播放,關閉Resampler與Volume Control。
3b.播放16bit wav時,output data format選擇16bit fixed-point,關閉dither。
3c.播放32bit wav時,output data format選擇32bit fixed-point,關閉dither。
3d.再分別以DirectSound(簡稱DS)、DirectSound2.0(簡稱DS2)、WaveOut(簡稱MME)、Kernel Streaming(簡稱KS)播放。
4.以Winamp 2.91播放,output plugin為WaveOut。
5.以Media Player Classic 6.4.6.7播放,Audio Output選擇MME輸出。
由於不明原因,無論播放的wav檔是一定要用24bit錄音,否則就算播放訊源為16bit,選擇24bit錄音必定會造成失真。唯一的例外是foobar2000以KS輸出。所以我的錄音格式都是32bit int 48kHz(Cooledit2000沒有24bit錄音的選項)。
另外,MPC(Media Player Classic)雖然可以開啟32bit的wav,可是當時訊號內容為24bit時就變成靜音,所以只有測試16bit。
測試結果:
1.foobar2000播放16-bit wav檔時,無論是DS、DS2、MME、KS的播放錄下來的結果都跟原始檔一樣,真是令人欣慰。
接下來測試32bit的wav,沒想到無論是DS、DS2、MME、KS的播放錄下來的結果都跟原始檔不一樣。其中DS與DS2常常發生左右聲道相反的問題,但是訊號內容失真的方式相同。而MME與KS的訊號內容相同,但是都比原始檔稍微失真一點點。
2.Winamp無論是播放16bit wav或24bit wav都可以用卡豪華錄到無失真的訊號,唯一的問題是偶而左右聲道會相反,所幸只要一看錄好的波形就可以知道有沒有反,如果反了關掉CoolEdit與winamp重新錄一次就會正常了。
真慶幸我多年來一直以winamp為主要播放程式,儘管foobar問世了仍然沒有改變。
3.MPC雖然只能播放16bit wav,但是卡豪華錄到的訊號都是無失真的。
總結:
1.foobar2000 0.72只要output data format設定正確,播放16 bit wav檔時是沒有失真的。
2.foobar2000 0.72就算output data format設定正確,播放24 bit wav檔還是會有失真。其中MME與KS的失真非常小,與原始檔誤差遠小於以DS或DS2輸出。
有時候DS輸出noise會大到-40dB,失真相當嚴重。
3.Media Play Classic 6.4.6.7播放16bit wav檔是不會失真的,但是播放24bit wav檔沒有聲音。
4.Winamp 2.91以WaveOut(MME)播放wav或是raw是無失真的,無論是16bit、24bit、32bit raw都可以正確播放。
心得:
對於DMX6Fire,Winamp MME是最可靠的播放方式。而ASIO播放是否有無失真因為plugin無法選擇輸出channel為SPDIF所以無法測試。
沒有以Total Recorder測試的理由是因為其不支援24bit播放與DirectSound,不過MME 16bit的部分Total Recorder確實可以錄到無失真的訊號。
雖然有了這些測試數據,但是仍然無法解釋為什麼Toral Recorder錄到的ac3訊號與DMX6Fire數位輸出不同,推測是因為ac3 decoder與音效卡driver溝通上的不同。
以上所有的測試數據都可以到這邊抓
http://mp3.dearhoney.idv.tw/RMAA/WavePl ... ayback.rar
foobar2000、Winamp2.91、Meida Player Classic之Wav輸出品質比較
版主: DearHoney
昨日我以WaveSpectra,設定輸出方式為ASIO,數位播放RMAA測試檔的再以CardDeluxe錄音的結果,經WaveCompare與原始檔完全相同,所以經由ASIO的確是沒有失真的資料傳送方式。
至於foobar2000,根據我上面的測試結果,無論是WaveOut、DirectSound、Kerel Streaming,只要output data formatn設定正確,都可以傳送無失真的訊號,但是這個結論我只能保證在DMX6Fire上面成立,其它的音效卡如何我沒測過不知道。
另外在用foobar 0.72測試前是以0.666版測試,當時的結果是WaveOut和DirectSound的訊號無失真,可是Kernel Streaming失真相當嚴重。
所以我的結論是Kernel Streaming雖然有低延遲的好處,但是用不同版本的foobar2000 plugin可能會有不一樣的結果,不若WaveOut與DirectSound成熟穩定。
因此我建議各位使用者不要有Kernel Streaming就是好,就是無失真的觀念,而以為只要選用Kernel Streaming就會得到最好的聲音,說不定得到的是失真最大的結果而不自知。
至於foobar2000,根據我上面的測試結果,無論是WaveOut、DirectSound、Kerel Streaming,只要output data formatn設定正確,都可以傳送無失真的訊號,但是這個結論我只能保證在DMX6Fire上面成立,其它的音效卡如何我沒測過不知道。
另外在用foobar 0.72測試前是以0.666版測試,當時的結果是WaveOut和DirectSound的訊號無失真,可是Kernel Streaming失真相當嚴重。
所以我的結論是Kernel Streaming雖然有低延遲的好處,但是用不同版本的foobar2000 plugin可能會有不一樣的結果,不若WaveOut與DirectSound成熟穩定。
因此我建議各位使用者不要有Kernel Streaming就是好,就是無失真的觀念,而以為只要選用Kernel Streaming就會得到最好的聲音,說不定得到的是失真最大的結果而不自知。
因為我很不喜歡用WMP9聽音樂,理由寫在<a href="http://forums.dearhoney.idv.tw/viewtopi ... =10">這邊</a>。
不測winamp3是因為很多我習慣的plugin沒有在winamp3上開發。而winamp5還在beta階段,測了就算有問題也沒什麼意義,而沒問題也並不保證以後的版本也沒問題。反正winamp2都已經無失真了,以音質為立場沒有理由升級。
補充說明,上面的測試winamp2的output plugin是Peter寫的,沒開啟SSRC。
不測winamp3是因為很多我習慣的plugin沒有在winamp3上開發。而winamp5還在beta階段,測了就算有問題也沒什麼意義,而沒問題也並不保證以後的版本也沒問題。反正winamp2都已經無失真了,以音質為立場沒有理由升級。
補充說明,上面的測試winamp2的output plugin是Peter寫的,沒開啟SSRC。
唉唉.....使用WMP9的唯一理由在此:BL 寫:因為我很不喜歡用WMP9聽音樂,理由寫在<a href="http://forums.dearhoney.idv.tw/viewtopi ... =10">這邊</a>。
http://www.microsoft.com/windowsxp/wind ... terfun.asp
http://www.microsoft.com/downloads/deta ... layLang=en
美觀.......就跟ipod一樣........
此外,BL大 說的第3項有辦法解決,參看討論串最下面的文章
WMP9的優點除了放HDCD提供20Bit解碼外,我想得到的另一個優點是播放部分CD時會自動顯示封面與曲目,相當方便。
但是一個媒體播放程式到底該不該美觀,怎樣才叫美觀,是個見仁見智的問題,討論下去沒什麼結果。我本來就知道要怎麼關閉媒體導覽,但這不是我討厭WMP的唯一因素,也不是主要因素。
個人認為WMP6.4比WMP9好用,介面簡潔,調整filter與觀看影片資都很容易。且就算將WMP面版調成像WMP6.4,還是不能像MPC一樣可以用Ctrl+數字鍵決定要顯示哪些工具列,所以才說WMP9的面版又肥又難用。
不知道各位有沒有注意到部分版本的WMP全螢幕播放VCD時,上下會有黑邊,這是因為resize錯誤,直接把352*240等比例放大的結果,正確的作法應該是要resize成4:3,而解決方案有很多,例如換別的MPEG-1 Video Decoder、或是以ffdshow resize成4:3,也可以直接以MPC播放並用數字鍵1,8,4,6調整大小。
個人對於工具軟體的外觀,傾向越儉約越好,所以我的WinXP看起來幾乎跟Win2k一樣。
離題實在是越來越遠了:P,講一些跟音訊有關的好了。我發現WinDVD播放dts CD時,選SPDIF外部解碼,AD300抓不到DMX6Fire輸出的訊號,接收格式會在dts與PCM之間跳動。更悲慘的是就算把音軌抓出來以winamp播放wav檔,情況依舊。但只要用WaveSpectra透過ASIO數位輸出就沒有問題。
這使得我目前開始懷疑上面那些以RMAA5.1測試數據為準來判定輸出是否完全無失真的的方式得到的結論是有問題的,於是我改用WaveCompare來確定每個bit是否都一樣。
首先測試WaveSpectra透過ASIO的數位輸出結果,經由WaveCompare確定每個bit都與原始檔一樣,所以AD300可以抓到訊號並不令人意外。但上面的文章中提到Winamp的MME Output是否數位輸出也同樣是每個bit都一樣,則還要確認。
至於Total Recorder為什麼錄到的AC3輸出解碼數據會少了最後一個bit導致Noise Level與Crosstalk的數據好到不正常,還沒有找到答案。
目前只知道如果以MPC或Winamp MME播放16Bit 48kHz wav檔,同時以Total Recorder錄音,的確可以錄到與原始檔每個bit都與原始檔相同的資料。Foobar2000也可以WaveOut播放出無失真的wav檔,但是設定比較複雜,首先要把output data format調成16bit fixed-point,再來要關閉dither。
但如果是以MPC播放AC3檔,就算AC3 Decoder設定相同,由Total Recorder所錄到的訊號就是與GraphEdit寫入的raw file不同,原因不明。
但是一個媒體播放程式到底該不該美觀,怎樣才叫美觀,是個見仁見智的問題,討論下去沒什麼結果。我本來就知道要怎麼關閉媒體導覽,但這不是我討厭WMP的唯一因素,也不是主要因素。
個人認為WMP6.4比WMP9好用,介面簡潔,調整filter與觀看影片資都很容易。且就算將WMP面版調成像WMP6.4,還是不能像MPC一樣可以用Ctrl+數字鍵決定要顯示哪些工具列,所以才說WMP9的面版又肥又難用。
不知道各位有沒有注意到部分版本的WMP全螢幕播放VCD時,上下會有黑邊,這是因為resize錯誤,直接把352*240等比例放大的結果,正確的作法應該是要resize成4:3,而解決方案有很多,例如換別的MPEG-1 Video Decoder、或是以ffdshow resize成4:3,也可以直接以MPC播放並用數字鍵1,8,4,6調整大小。
個人對於工具軟體的外觀,傾向越儉約越好,所以我的WinXP看起來幾乎跟Win2k一樣。
離題實在是越來越遠了:P,講一些跟音訊有關的好了。我發現WinDVD播放dts CD時,選SPDIF外部解碼,AD300抓不到DMX6Fire輸出的訊號,接收格式會在dts與PCM之間跳動。更悲慘的是就算把音軌抓出來以winamp播放wav檔,情況依舊。但只要用WaveSpectra透過ASIO數位輸出就沒有問題。
這使得我目前開始懷疑上面那些以RMAA5.1測試數據為準來判定輸出是否完全無失真的的方式得到的結論是有問題的,於是我改用WaveCompare來確定每個bit是否都一樣。
首先測試WaveSpectra透過ASIO的數位輸出結果,經由WaveCompare確定每個bit都與原始檔一樣,所以AD300可以抓到訊號並不令人意外。但上面的文章中提到Winamp的MME Output是否數位輸出也同樣是每個bit都一樣,則還要確認。
至於Total Recorder為什麼錄到的AC3輸出解碼數據會少了最後一個bit導致Noise Level與Crosstalk的數據好到不正常,還沒有找到答案。
目前只知道如果以MPC或Winamp MME播放16Bit 48kHz wav檔,同時以Total Recorder錄音,的確可以錄到與原始檔每個bit都與原始檔相同的資料。Foobar2000也可以WaveOut播放出無失真的wav檔,但是設定比較複雜,首先要把output data format調成16bit fixed-point,再來要關閉dither。
但如果是以MPC播放AC3檔,就算AC3 Decoder設定相同,由Total Recorder所錄到的訊號就是與GraphEdit寫入的raw file不同,原因不明。
-
- 大師
- 文章: 79
- 註冊時間: 2002-10-26 07:16
- 聯繫: