Re: [閒聊] PC訊源雜訊解法

作者: Oswyn (Oswyn)   2023-05-09 14:52:39
會嗶嗶啵啵的症狀我個人粗分三類
訊源本身造成的,像快轉、切歌這些
傳輸過程有問題,像 DPC、Buffer size、Driver、API、S/W、H/W 等出狀況
另外一種是傳輸過程沒問題但還是出問題,也就是 Clock drift 這類看到鬼的
為什麼會有問題,下面這個文件中已經指出來了
https://i.imgur.com/D0j2GDG.jpg
系統有複數的時鐘源,但時鐘源之間沒同步,各自為政會出包
有一點很根本的問題是,沒有一個時鐘(晶振)會完全精準
而採樣率也只是標稱,不管用恆溫、補償、線電什麼有的沒有的
實踐上沒有一台 DAC 會準點每秒出 44100、48000、...、96000 個樣本
但這一般沒什麼問題,人耳其實分不出這麼小的頻率誤差
外接或升級時鐘、晶振帶來的好處是穩定,也就是減少飄移帶來的失真(變形)
※ 用 ADC ot DAC舉個例
今天 PC 接個 Mic,Mic input 是 ADC,採樣率設 44.1 kHz,位深在此不重要略過
音訊共用輸出(DAC)設 48 kHz,照 Windows 音頻系統的邏輯
44.1 kHz 會 SRC 至 48 kHz 後進混音輸出
而 ADC 的時鐘是每秒 44100.5、444099.8,DAC 是 47999.88、48000.32 樣本都沒差
因為 ASRC 會照實際數據流的樣本數量去轉換
但如果今天 Mic ADC 也是設 48 kHz,但實際上 ADC、DAC 兩邊的 48 kHz 有偏差?
一邊的時鐘快一邊的慢、或反過來,最後都會發生樣本多出來或樣本少了的狀況
這時就需要時鐘同步(設 Master)、補償、修正或放爛
※ 拉 A 家 support 來救援
https://support.apple.com/en-us/guide/audio-midi-setup/ams094c7edb4/mac
https://support.apple.com/en-us/HT202000
這兩篇都有提到一個關鍵詞 Drift Correction
同時也指出 Drift Correction, also known as resampling
用來彌補裝置之間(因時鐘不同步)所流失的資料
多時鐘源設備,要嗎硬體(時鐘)同步、要嗎重採樣,不然就可能出狀況
而且 47999.88 to 48000.32 這種轉換還是 ASRC
※ 家用單純播放為什有機會出問題?
還是直接拉個廠商的文件
https://i.imgur.com/foCKEDR.jpg
各自有自己的主時鐘,就會有 small frequency drift 需要補償
而這個補償在實作上最常用 ASRC
Device 如果只是單純的 PLL、同步模式多半不需要 ASRC 補償,因為源就是主時鐘
但一些發燒器材,很講究 FIFO buffer、隔開時鐘、做 Re-clock 的就...

來看在 B&O 聲學部門任職的技術專家實測
Typical Errors in Digital Audio: Part 5 – What time is it there?
https://myppt.cc/gGQKYJ
後半部 Fig 8、Fig 10
某些市面上的商用設備的確會發生這種輟音問題,這些狀況是傳輸出問題嗎?
感覺更像是發生了 clock drift 不是嗎
作者: icekiba (冷風寒)   2023-05-09 15:01:00
作者: l98 (尋找屬於我的星星)   2023-05-09 15:14:00
推!
作者: djboy (雞尾酒)   2023-05-09 15:26:00
推! 這應該也是為何那種專業的聲音處理設備,因為擁有太多設備需要同步,所以需要外接時鐘來統一;即使外接會讓JITTER更大,但是總比跑掉好。外接時間,要從 A->電路->接頭->線->接頭->電路->b晶片,這整條路就超長,而且每個設備還不一樣的長短與狀況,一般家用音響 是真的用不到,用了可能更差。
作者: BayonettaTJ (卍朝凪乂新堂乂水龍敬卍)   2023-05-09 16:00:00
推O大科學解說,勝過太多口糊仔不過想請問一下jitter多少以內是合理可以接受的值
作者: sam352306 (我們會再相見)   2023-05-09 16:31:00
j起來
作者: bibibibibitw (水藻叔)   2023-05-09 17:04:00
推,設備越多越會遇到鬼...
作者: sunyanwen   2023-05-09 17:06:00
最後很像asrc不良的spur,pro audio是選asrc比較多,但沒有asrc也會是source sync,有drift 問題的應該是很少數吧。在dac sampling clock前做jitter cleaning是可行的,別的位置真的沒有必要
作者: foxey (痴呆小咖)   2023-05-09 21:42:00
長知識了
作者: whydan (真是抱歉啊(′‧ω‧‵))   2023-05-10 08:59:00
其實這問題還有另一個可能性,這幾台DDC都有加USB HUB IC
作者: icekiba (冷風寒)   2023-05-10 16:37:00
總會準2次!?
作者: sunyanwen   2023-05-10 17:43:00
這個skip/insert介於re-clock和asrc之間 就是一個沒有經過digital lpf 缺陷很大的asrc,因為不需要asrc硬件而被大量使用,drift在這個過程後消失,至於頻譜,持續時間很短所以顯示了很大帶寬,但因為不是直接re-clock,所以總量很小,這個方法影響最大的就是24p video on60Hz Monitor,抖動很大
作者: znew1219 (NULL)   2023-05-10 21:56:00
關於抖動,23.976 fps at 60Hz 要經過pull-down,產生的judder現象。顯卡與音效卡各自有clock,各自也都要rendering,以Audio為master clock,Audio不受影響,但要保持同步,Video就要drop/repeat frame。用Re-clock渲染器,對Audio實時resampling,變成Audio受影響。或者可以修正pixel clock。

Links booklink

Contact Us: admin [ a t ] ucptt.com