马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?快速注册
x
PC-HIFI点滴、PC-HIFI知识、CAS系统
. f r7 T! ^& ~0 L: D! D& J8 E/ M
+ z2 ` e+ K! ^$ A3 U5 F 低延迟对音质的负面影响
: a- }: m! D" [( |" LFoobar2000作者说:Note that low latency playback is relevant to real-time processing and editing only. It's completely useless for music playback; in fact, higher latency is better in this case as it gives better protection against glitching from buffer underruns.( d- v" R9 k1 h( I* X5 t Z
需要注意的是低延迟播放仅与实时处理和编辑相关。对于音乐播放是完全无用的。事实上,更高的延迟在这种情况下表现得更好。因为它提供了更好的保护,防止因为缓存欠载造成的毛刺。; I" H5 J2 j& E; g
在当前系统时间精度下,为了保证音质不受损,延迟不可能降得太低。为了降低延迟,我们迫切的需要一种不需要高负载轮询,又能高度准确的时间。硬件驱动回调模式便由此孕育而生。不论是WASAPI Event-mode 还是KS又或者是ASIO,采用的都是这种方式。这才是他们的精髓所在。
) N* }, b2 O3 f: ]& g* h m测试、设置工具在作者BLOG——谈谈低延迟对音质的负面影响,顺便谈谈WASAPI0 D9 U3 @$ G; B/ P g5 H! D, ]& C
% A+ D; K. f. K! D4 R缓冲长度(Buffer Length)的正确认识* w7 v! W: k3 {! @) N9 S
foobar2000官方文档对缓冲长度的解释:Buffer Length" {+ g" V2 l" O1 I- S5 x
To protect playback from glitches during heavy system load or file access lag, resource-heavy operations such as decoding and DSP are always performed ahead of currently heard sound (this is not unique to foobar2000, all or nearly all media players behave this way). This setting controls the distance between decoding/DSP and output.
/ w; o% @9 X8 t9 q+ I9 xHigh buffer sizes offer stronger protection against glitches but introduce side effects such as long delay between changing DSP settings (eg. adjusting equalizer bands) and changes in sound output.& G' h% b0 K1 ?1 w5 r& s7 f7 g
Low buffer sizes allow faster responses to DSP configuration changes at cost of higher risk of stuttering during high system load / file access lag / etc.
/ k' k+ q/ H4 H& u1 s0 mWARNING: Setting too low buffer length may cause certain visualizations to stop working correctly. Use of buffer lengths below 500ms is not recommended., w( O: z! N$ x. | j$ k! q% Q
翻译如下:* t- T4 C" N$ r/ [( \
为了防止在系统负荷较重,文件访问滞后,耗费资源的操作(比如解码和DSP)时产生的播放毛刺(译者注:俗称爆音,卡顿,破音等),总是预先处理当前听到的声音(不仅仅是foobar2000,所有或几乎所有的媒体播放器的都是这么处理的)。此设置控制解码/ DSP和输出之间的距离。
# |4 N3 \8 G4 v5 E) K( s9 q高缓冲大小,提供更强大的保护,防止毛刺。但引入副作用,比如从DSP设置改变(如调整均衡器频段)到声音输出发生变化之间的长时间延迟。(译者注:这句话的意思是你将DSP设置从A改变为B,然后继续播放,要经过一段延迟,声音的播放效果才会从A变为B,延迟的时间长度等于缓冲大小,因为这一段的声音已经预先解码并用DSP设置A处理了,并不会重新用DSP设置B处理,这个你自己修改下DSP设置试试就知道了。)# { `* A+ E' |! l Z
低缓冲大小,允许更快地响应DSP配置改变,但这以更高的声音结巴风险为代价,在系统高负载,文件访问滞后等等的时候。6 Z) R; n5 F: U, Z* O
警告:缓冲长度设置过低,可能会造成一些可视化效果停止正常工作。建议不要用低于500ms的缓冲长度。! Z+ x$ R* K7 B; V7 T; {) b
当然也并非越大越好,因为缓冲长度到了某个长度,计算机的处理速度就不会造成瓶颈了,继续增大也没有任何效果。一般按foobar2000默认的1000ms到2000ms就好。" D. u" {) y# J, U
|
|
|
|
|