Re: [問題] 電腦輸出到音響的效果較差

作者: Oswyn (Oswyn)   2019-03-26 17:17:59
機殼內是 RF EMI 暴風區,會導致訊號受到影響。
但更根源的問題是 OS 內部的混音程式會介入 Audio 數據。就算你播放的影音 Audio
訊號格式與 OS 中的預設輸出匹配,還是存在各種因素與機會對原始數據造成變動與修
改。
M$ Windows 開發論壇就有人問過一個問題:
Windows 音效輸出設置為 24 bit 48kHz,且關閉所有的增強設定與音量控制
均已調至最高。
使用 WASAPI Shared mode 播放音頻,音檔為 24 bit 48kHz PCM wave file
,且同時間沒有其它音頻被播放。
問、我會得到 bit perfect output 嗎?或其間會受到任何處理造成截斷或衰
減(truncation or attenuation)。
M$ Windows Audio team 的工程師是這麼回答:
如果偵測到 sample values 超出浮點域中的 -0.985 to +0.985 左右(也就
是接近 peak 的訊號),audio limiter APO 就會介入引起失真。
https://imgur.com/AyWAWZc
而 Audio Engine 內部以浮點 sample 工作,並且路徑中可能存在抖動。
你可以通過使用 WASAPI exclusive mode 而不是 WASAPI shared mode 來避
免這兩種情況。
M$ Windows Audio Engine 內部有個限制器防止可能的硬體毀損,所以會提早給你一個
軟體 Clipping。
雖然原文指 may be dithering in the path,但想想這其實是你幾乎必然會得到抖動。
不管你的原始輸入格式為何,Windows Audio Engine 只能處理 PCM 訊號,所以所有的
格式均會被解成 PCM 且不論位元深度為何都會一律轉為浮點數處理。
處理完它還會在乎原始訊號位元深度跟輸出合不合嗎?不會,由浮點轉換為 16/24 bit
必然是個 Truncation 所以 Dithering 的引入應是不可避免的(int 32 bit 個人就不
確定了)。
基本上要避開 Windows 內部 Audio Engine 的混音處理只能使用 WASAPI 獨佔模式或
ASIO。
作者: yuugen2 (馬英丸)   2019-03-26 23:49:00
用wasap asio就可以perfect bit?
作者: tsai82118 (PeteR)   2019-03-27 00:43:00
ASIO驅動還有軟體調用如沒大問題一般可bit perfectWASAPI Exclusive也可以
作者: siegfriedlin (齊格飛)   2019-03-27 07:55:00
請問接光纖的話還需要這樣嗎?主機板上的光纖輸出
作者: kevinmonkey (kevin&monkey)   2019-03-27 14:01:00
感謝好文!對電腦來說同時能發聲是基本條件,發好聲不是設計的重點,整條路徑上太多不可控因素,享受方便性升級性是真的

Links booklink

Contact Us: admin [ a t ] ucptt.com