www.audiosciencereview.com/forum/index.php?threads/ending-the-windows-audio-quality-debate.19438/
先說結論,在Windows系統中播放音樂確實有可能產生削波失真,造成原因為以下兩點:
1. 在Windows系統中有一個東西叫做CAudioLimiter,當音量響度過大會被它限制住造成失真
2. 音樂的原始音量接近數位紀錄的臨界點(0dbfs)造成的削波
關於第一點只要使用ASIO或WASAPI獨占模式就可以繞過Windows內部的音訊引擎。
至於第二點這邊需要簡單解釋一下,
理論上這是錄音階段造成的瑕疵,也就是檔案紀錄不全。
例如下圖中音訊的實際波形軌跡(藍色的線)最高到10,但數位採樣錯過了峰值只紀錄到了7

但沒關係,現代的DAC普遍都有內建升頻插值的功能,
所以理想上可以透過插值重構缺失的部份

然而理想很豐滿,現實很骨感。
DAC在插值時只會認得紀錄上的最高點,而不會去處理溢出的部份,
也就是說會變成下圖這樣

這樣播出來的音樂當然會產生失真
那要怎麼辦呢?有些DAC會夠過模擬餘量的方式增加動態餘量,
基本的作法是在訊號進入DAC前先衰減訊號,之後再進行插值

如果你的DAC沒有這種功能,那就是透過樓主提到的方法,
先降低音量,再讓DAC插值
ASR那邊是比較推薦安裝EAPO,然後在preamp將gain設置成-4db

如果你要用Windows內建的音量控制去調,記得把音量從「百分比」切換成「分貝」

有些Realtek晶片音量控制是在DAC之後完成的,所以不見得有用。
至於AKM晶片需要設定一下(圖例是AK4493),
有一個Sound Quality Mode聽起來明顯音調暗一階,應該是要選該Mode才有衰減

老實說,在樓主拋出這個議題前我都沒意識到正常放音樂會有削波的問題,
中文相關討論據我所查也只有數年前PTT寥寥的幾篇文章,
所以實際上我們每天可能都在聽充滿失真的聲音而不自知
※ 引述《qaz74100147 (滑翔李國修 )》之銘言錄音端要衰減是因為要放進更多有效的訊號.而捨棄掉極大值.當然會極大的部分會有失真..但是已經保存下來的數位檔案.極大極小已經確認了你衰減也好放大也好也無法再改變他的動態了這時候你把數位訊號衰減10DB丟給類比.反而會造成極小的部分丟失(混入底躁).沒有什麼好處到轉運站時候你把A車為了塞更多人那套用上.表示體重高於100KG的人不能上.結果原本可以遊覽車至少還能載10人的.這下剩下8個...
其實衰減音量是讓動態變小,但換來的是沒有削波失真的聲音
我原本也是半信半疑,直到看到ASR那邊的人貼出測量的示波圖才心服口服
當然你可以說動態比較重要,我聽一點失真也沒差
※ 引述《gf99599 (kenfu )》之銘言windows要調音量,播放器又要調音量,DAC又要調音量,擴大機又要調音量,到底要怎樣調才合適?
基本上就Windows右下角調音量(可用EAPO取代),播放器使用ASIO或WASAPI獨占需要另調音量,DAC和擴大機除非有特別設計否則不用管它們