这篇文章有问题啊。摘抄一段:
“普通声卡在播放音频流的时候是有延迟的,尽管一般用户都不易察觉到它的存在。毕竟,对于播放影碟和双声道的MP3音乐以及玩游戏来说,几百毫秒的声音延迟对应用的影响根本是微乎其微的,完全可以被忽略不计。但是,对于专业的录音师和音乐制作人来说,这几百毫秒延迟所带来的后果就好比我们普通用户要面对响应极慢的互联网IP电话那样,同样是不能容忍。试想,当按下一个琴键时,要经过0.6以上的时间才能够听到声响,恐怕任何演奏者都很难发挥其正常的水平,更无法控制音乐表演的情绪;录音师进行后期制作的过程中,需要给不同的音频信号做相应的实时效果处理,并对分轨录制的多通道音频流进行混音,以得到最终的双声道立体声或是5.1声道的环绕声格式。在对多个声部的音频进行缩混时,如果声音有延迟且延迟时间各不相等,那么多个声道之间的信号同步就会成为大问题,录音师就会因此而无法对混音的结果进行准确判断。为此,他们十分迫切需要一种能够让音频设备实现“零延迟”的技术,这个技术就是Steinberg定义的ASIO。”
第一句话就错了。任何声卡在播放的时候都没有延迟。实际上对于播放影碟和双声道的MP3音乐以及玩游戏来说,这些全都是没有延迟的。如果真有延迟,普通人对于几百毫秒的延迟肯定是有反应的,起码看影碟的时候明显就是音画不同步。
所谓声卡延迟实际上是指通过软件来监听声卡输入端口的声音时的延迟,也就是说声音从声卡输入端口进来,进入电脑内部,然后又从声卡输出端口出来,这整个过程所需要的时间,所有的声卡都有这种延迟。这个延迟不是声卡造成,而是电脑造成。
但是普通人根本不会有机会接触这种延迟,因为普通人根本不需要通过软件监听声卡输入端口的声音,实际上也没有任何非专业软件具有通过软件监听声卡输入端口的声音的这个功能,所以对普通人来说声卡根本就没有延迟这回事情。
那么普通人也可能会通过声卡进行网上聊天什么的,要用到声卡输入端口,这应该有延迟吧?也是没有延迟的(不考虑网络延迟)。这里要说到几乎所有的声卡都具有的一个功能:硬件直接监听。尤其是普通声卡百分之百都具有硬件直接监听的功能,监听输入信号时根本不通过电脑,而直接在声卡上就进行监听(几乎等于是把输入输出端口直接连起来),根本没有延迟。在电脑声卡调音台的回放设置里在 Mic in 或者 Line in 前面打勾,就是设置硬件直接监听模式。
再说明白一点:声音从声卡输入端口进来,进入电脑内部,然后又从声卡输出端口出来,这整个过程是需要的时间的,这个时间就是所谓声卡延迟,这就是所谓软件监听,录音里叫做带后监听;而声音从声卡输入端口进来,直接又从声卡输出端口出去,这个过程是不需要的时间的,这就是所谓硬件直接监听,录音里叫做带前监听。
专业录音用的比较多的是带后监听,也就是前面说的通过软件监听声卡输入端口的声音,这才是有延迟的。
以前的 MME 驱动正是因为通过软件监听声卡输入端口的声音有较大延迟,所以才有 ASIO 的出现,所以后来微软才开发了 WDM 驱动。