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

看板Audiophile作者 (Oswyn)時間1年前 (2023/05/09 14:52), 11月前編輯推噓10(10030)
留言40則, 10人參與, 11月前最新討論串5/5 (看更多)
會嗶嗶啵啵的症狀我個人粗分三類 訊源本身造成的,像快轉、切歌這些 傳輸過程有問題,像 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 不是嗎 -- 人間五十年、化天のうちを比ぶれば、夢幻の如くなり ^,,,^ 一度生を享け、滅せぬもののあるべきか (ω)\m/ NOBUMETAL DEATH!!('ω') -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.175.212 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Audiophile/M.1683615162.A.0D4.html

05/09 15:01, 1年前 , 1F
05/09 15:01, 1F

05/09 15:14, 11月前 , 2F
推!
05/09 15:14, 2F

05/09 15:26, 11月前 , 3F
推! 這應該也是為何那種專業的聲音處理設備,因為擁有太多
05/09 15:26, 3F

05/09 15:27, 11月前 , 4F
設備需要同步,所以需要外接時鐘來統一;即使外接會讓
05/09 15:27, 4F

05/09 15:27, 11月前 , 5F
JITTER更大,但是總比跑掉好。
05/09 15:27, 5F
沒錯,主時鐘最重要的功能在同步,準不準是其次,會準當然好XD

05/09 15:30, 11月前 , 6F
外接時間,要從 A->電路->接頭->線->接頭->電路->b晶片,
05/09 15:30, 6F

05/09 15:31, 11月前 , 7F
這整條路就超長,而且每個設備還不一樣的長短與狀況,一般
05/09 15:31, 7F

05/09 15:31, 11月前 , 8F
家用音響 是真的用不到,用了可能更差。
05/09 15:31, 8F

05/09 16:00, 11月前 , 9F
推O大科學解說,勝過太多口糊仔
05/09 16:00, 9F

05/09 16:02, 11月前 , 10F
不過想請問一下jitter多少以內是合理可以接受的值
05/09 16:02, 10F
不知道ne,不過加大 H/W io Buffer 可以改善 Clock drift 出狀況的頻率 http://peufeu.free.fr/audio/extremist_dac/files/Norman_Tracy_on_Jitter.htm 這篇中的 8. 有討論到 S/PDIF 的 Jitter 數據 但 drift 跟 jitter 有點不太一樣 Drift 比較偏向不同時鐘源的差異,造成數據流不同步

05/09 16:31, 11月前 , 11F
j起來
05/09 16:31, 11F

05/09 17:04, 11月前 , 12F
推,設備越多越會遇到鬼...
05/09 17:04, 12F

05/09 17:06, 11月前 , 13F
最後很像asrc不良的spur,pro audio是選asrc比較多,但
05/09 17:06, 13F

05/09 17:06, 11月前 , 14F
沒有asrc也會是source sync,有drift 問題的應該是很少
05/09 17:06, 14F

05/09 17:06, 11月前 , 15F
數吧。在dac sampling clock前做jitter cleaning是可行
05/09 17:06, 15F

05/09 17:07, 11月前 , 16F
的,別的位置真的沒有必要
05/09 17:07, 16F
這個的確不是一般 End-User 會沒事碰到的問題XD 但就我個人的經驗,頻譜上這種現象幾乎都是數據流輟音 而不是 ASRC 造成的,ASRC 不良通常是 Aliasing、Artifact

05/09 19:18, 11月前 , 17F
最後的圖 <-80dbc是不可聞的 他做的是廉價的asrc,und
05/09 19:18, 17F

05/09 19:18, 11月前 , 18F
errun的話會聽到很明顯的聲音 用時域圖比較容易判斷
05/09 19:18, 18F
作者測的是產品,所以雖然沒細說怎麼測,但可推測應該是錄設備的類比輸出 故輸出有經過設備本身 DAC 的 DSP、Oversampling & H/W 重建濾波 這種在頻譜上表現為 spike 的狀況,通常都是不正常(自然)的瞬變 而 drift 主要發生在 DAC chip 之前的 I/O 同樣也是作者這篇文章的主題,也討論了 Skip/Insert 策略 輸出可能是抑制、修正後 (like Warped linear prediction 處理)的 但不管 ASRC 的品質再怎麼差,也不太可能突然出現 spike 這種扭曲瞬變 除非設備本身有其它硬體缺陷

05/09 21:42, 11月前 , 19F
長知識了
05/09 21:42, 19F

05/10 08:59, 11月前 , 20F
其實這問題還有另一個可能性,這幾台DDC都有加USB HUB IC
05/10 08:59, 20F
發燒 DDC 通常都會用自己的主時鐘,發燒 DAC 也是這個傾向 或許能怪主版上的時鐘太不準

05/10 16:37, 11月前 , 21F
總會準2次!?
05/10 16:37, 21F
一個精準,各自校正

05/10 17:43, 11月前 , 22F
這個skip/insert介於re-clock和asrc之間 就是一個沒有
05/10 17:43, 22F

05/10 17:43, 11月前 , 23F
經過digital lpf 缺陷很大的asrc,因為不需要asrc硬件
05/10 17:43, 23F

05/10 17:43, 11月前 , 24F
而被大量使用,drift在這個過程後消失,至於頻譜,持續
05/10 17:43, 24F

05/10 17:43, 11月前 , 25F
時間很短所以顯示了很大帶寬,但因為不是直接re-clock
05/10 17:43, 25F

05/10 17:43, 11月前 , 26F
,所以總量很小,這個方法影響最大的就是24p video on
05/10 17:43, 26F

05/10 17:43, 11月前 , 27F
60Hz Monitor,抖動很大
05/10 17:43, 27F
所以照s大的說法,這個 skip/insert 也還是因為發生了 drift 才有的 drift在這個過程後消失,但痕跡不就是這個瞬變嗎

05/10 18:26, 11月前 , 28F
drift在跨clock domain時無法避免,正常的asrc可以看作
05/10 18:26, 28F

05/10 18:26, 11月前 , 29F
從樣本中重建了連續的類比信號,從連續的類比信號中提
05/10 18:26, 29F

05/10 18:26, 11月前 , 30F
取輸出,skip/insert創造了不連續,但因為參考了鄰近的
05/10 18:26, 30F

05/10 18:26, 11月前 , 31F
樣本,所以不連續也不會有很大的跳變
05/10 18:26, 31F

05/10 18:28, 11月前 , 32F
05/10 18:28, 32F
實作上 skip/insert 跟 ASRC 不同吧 正規的 Drift Correction's ASRC 是跟 mac OS & M2TECH's DDC 一樣 進行真正的異步重採樣,是不會在帶內出現瞬變 skip/insert 是偷吃步,所以才會出現扭曲瞬變 正常的捲積 ASRC 不論品質應該都不會如此 ※ 編輯: Oswyn (114.36.219.120 臺灣), 05/10/2023 18:43:56

05/10 18:50, 11月前 , 33F
用skip/insert來代替asrc晶片/ip,他就是asrc的實現方
05/10 18:50, 33F

05/10 18:51, 11月前 , 34F
式之一,只不過精度不高,錯誤沒那麼明顯
05/10 18:51, 34F

05/10 21:56, 11月前 , 35F
關於抖動,23.976 fps at 60Hz 要經過pull-down,產生
05/10 21:56, 35F

05/10 21:56, 11月前 , 36F
的judder現象。顯卡與音效卡各自有clock,各自也都要re
05/10 21:56, 36F

05/10 21:56, 11月前 , 37F
ndering,以Audio為master clock,Audio不受影響,但要
05/10 21:56, 37F

05/10 21:56, 11月前 , 38F
保持同步,Video就要drop/repeat frame。用Re-clock渲
05/10 21:56, 38F

05/10 21:56, 11月前 , 39F
染器,對Audio實時resampling,變成Audio受影響。或者
05/10 21:56, 39F

05/10 21:56, 11月前 , 40F
可以修正pixel clock。
05/10 21:56, 40F
文章代碼(AID): #1aMUsw3K (Audiophile)
文章代碼(AID): #1aMUsw3K (Audiophile)