[轉載] 讓電腦端輸出DAC/一體機播放音樂時 不受電腦軟硬體任何不可考因素影響音質的解決辦法

讓電腦端輸出DAC/一體機播放音樂時
不受電腦軟硬體任何不可考因素影響音質的解決辦法
---

1.光纖輸出(電腦或是音效卡) + DAC端獨立Master Clock (如HP-A8MK2)
最佳方案
2.USB走ASIO輸出, DAC端不吃USB電且有做好訊號內部隔離(isolation) (如TEAC UD-503)
次佳方案
3.走DLNA接收器+光纖輸出給DAC
手機播放的方法之一, 但有時候會不順

4.選用impedance 50歐姆, Shield設計良好, 符合USB 2.0 HighSpeed規格的線材(可選用大廠產品)
5.選用實惠且作工良好的TOSLINK光纖線材, 如Amazon Baisc光纖線
6.DAC/AMP放離電腦遠一點, 不要共用插座(有預算就上隔離電供)
7.電腦機殼蓋上以免內部的電磁波向外逸散, 若選用無風散系統可減少環境噪音
如果家裡有地下室, 可允許的前提下把整套系統直接搬到地下室(電波雜訊對策)

如果DAC驅動程式爛或是USB相容性爛上了ASIO也不斷爆音
先試著換USB孔, 透過獨立供電USB HUB, PCI-E USB擴充卡...
如果還是無解那就無解了把DAC扔了...

電腦的軟硬體設置(不含播放程式)會影響DAC/一體機音質
只說明了DAC端對於USB/光纖輸入的處理不周到不完美, 請多花錢換更好的設備
如果換了USB線讓音質更好(不含電源分離線)
其實要怪DAC內部對於雜訊處理的不完美, 以及你家電波環境太過雜亂

如果換了SSD音質變好聽, 換了電腦PSU聲音變純淨
請檢討1到7的哪個環節哪裡沒做好

以上, 看到各種討論的一點感想
----
光纖同軸進來的訊號要消除Jitter有很多方法
最簡單的就是DAC自己有兩顆石英振盪器
進來的訊號先進Buffer, 依照其PLL解出的Clock是44.1還是48系列改用自己更好的石英震盪器(TCXO)來生成
在這個前提下只要電腦端不要傳"錯"的資料, 輸出Clock的精度相對地就沒這麼重要

當然, 這樣的處理通常只會在中階/高階DAC上看到
---
以我個人在各種店家耳機展拿NB接DAC的經驗來說
USB認不到主要是OS系統的問題, 跟硬體反而較無關聯
有時候甚至要手動進裝置管理員把Driver砍掉, 或是把Unkown Device(未知的裝置)以全手動模式指定驅動程式

換USB孔認的到的原因
主要是電腦除了CPU內建北橋提供的原生USB Host Controller外, 因為廠商想要增加USB孔所以在主機板內部就以PCI-E連結了第三方廠商的USB晶片組
當接上由外部晶片組提供的USB, 在Windows內部其核心驅動程式是不同的

這種情況下升級WIN10或許會改善, 但或許也不會
把作業系統完全重新安裝也可能會改善
這就是Windows一直到現在都不預設支援USB Class Audio 2.0留下的弊病

現在在外面試聽DAC, 直接拿手機搭配ONKYTO HFPlayer OTG都還更穩定不容易出問題
---
在傳統的Windows音效播放中, 要放出聲音是要經過層層轉換與關卡的

如果單純呼叫Win32 API播放一個"叮"的效果音
需要經過的路徑可能是是

0 應用程式呼叫Windows Audio API (MME)
1 -> 放入MME的播放用Buffer
2 -> SRC轉換成Windows預設取樣頻率
3 -> 與正在播放的音訊做數位混音
4 -> 經過Windows內建的軟體DSP效果器
5 -> 放入USB Audio Class驅動程式的專用buffer
6 -> 經由軟體執行週期(CLOCK)將之前Buffer的音訊內容丟到USB輸出用Buffer(例如在44.1KHz PCM中, 16bit封包中僅傳13bit)
7 -> USB控制晶片由USB輸出用Buffer提取資料(在此做內頻外頻轉換), 傳送給音效裝置(基頻12MHz)
8 -> 音效裝置(通常為12MHz基頻)取得一定封包數量後(13bit代表要接收至少兩個封包才能拼成一個Frame), 轉換為I2S訊號餵給DAC晶片, DAC晶片需要播放取樣率的256倍頻率當作Master Clock, 故USB裝置上的12MHz OSC無法完美除頻成44.1KHz, 故留下Jitter

然後以上所有流程大概要耗掉個50ms以上
播放音樂或許沒差, 現場樂器演奏, MIDI鍵盤按下去後到發出聲音的間隔就有差了

WASAPI的話, 流程則簡略成這樣
0 應用程式呼叫WASAPI API播放 >> 上面的流程直接從5開始跑下去
優點是減少處理暫存流程, 沒有SRC. 但5到8的問題仍然走傳統路徑, 由於USB基頻所產生的Jitter一樣少不了

ASIO則是設計思想不同, 流程大略如下
0 應用程式呼叫ASIO API
1 -> 經由USB Audio Class 2.1以ASIO Profile編碼內容丟到USB硬體輸出用Buffer (480MHz全速傳輸)
2 -> SB控制晶片由USB輸出用Buffer提取資料(在此做內頻外頻轉換), 傳送給音效裝置(480MHz全速傳輸)
3 -> 裝置接收資料後, 放入Buffer並由ASIO封包內容判斷其取樣頻率, Bit深度(16/24/32)
4 -> 依照其取樣頻率不同, 以44.1KHz系列或是48KHz系列OSC來生成主時脈(Master Clock). 並以其時脈來從Buffer提取資料以I2S傳送至DAC
這樣做理論上可消除因為USB基頻所產生的Jitter

據我所知無論是一般USB Audio Class 1.0 (MME/DirectSound/WASAPI)還是ASIO都沒有封包偵錯重傳的功能
要是真的產生Bit Error, 那就是爆音一下躲不掉的(代表USB控制晶片電路設計不良, USB線材不良, 音效裝置硬體接受功能不良...etc)

http://www.andaudio.com/phpbb3/v ... start=5200#p1174375

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

雖然好文一則,真係無心機睇哂.
見諒見諒!

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

回覆 4# kzzstzs3

primocache做緊咩都唔知就唔好響後面加解釋喇

primocache係響RAM度拎一部份出黎做SYSTEM CACHE
類似WINDOWS拎USB黎做CACHE嘅SUPERCACHE
你可以睇成佢用WINDOWS個CACHE PRIORITY去預讀野落PRIMOCACHE響RAM度切出黎個位度

讀寫都係咁做, 咁你用SOFTWARE做TEST, 寫左響CHCHE(RAM)度都未真係寫落HARDDISK就READ, 都未清返CACHE上面嘅DATA就READ, 想唔快都幾難
要TEST佢幾有功效係用HDDTUNE之類去SCAN HARDDISK, 去睇佢預讀果部份寫成點

如果你唔係成日LOOP某幾首歌, 令佢次次開機都優先讀左果幾隻歌入CACHE度, 要佢真正有效都幾難

TOP

本帖最後由 ntony 於 2016-11-27 23:00 編輯

好多人連咩係digital同analogue都未真係懂得晒。
而interference係點又一知半解。digital點樣解決interference,I/O係點,MUX同DEMUX又係點。一系列成個環節會經過乜理處理又未清。靠估估下去玩digital audio signal processing以為咁就係好聲。電流、電壓、電阻有乜關係可能會知少少,但induction又好似唔知佢存在。物料導電效果同出來嘅聲之間嘅關係又一味靠想像⋯⋯好多連AC同DC分別係點,個frequency同phase可能都唔知係乜,對個聲,對推動喇叭/震膜點影響法就更加唔知啦。
去到電流以外,無形嘅,物理上乜嘢係radio乜嘢係electromagnetic field都唔分到。EF乜嘢情況會產生,EF出現時個物理現象會點影響成個circuit,又係唔知。

唉⋯⋯⋯⋯

上面咁辛苦打篇文來為乜呢⋯⋯

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP