会哔哔啵啵的症状我个人粗分三类
讯源本身造成的,像快转、切歌这些
传输过程有问题,像 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 不是吗