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