原帖由 athlonxp_0 于 05-11-15 08:14 发表
asio的一大用处就是这个啊,楼主是新手吧~
对于Sonar6而言,它的最佳工作方式并不是ASIO(直接输入输出),而偏偏是推荐WDM KS模式(也就是你在Foobar2000里面看到的Kernel Streaming)。Kernel Streaming同样是绕过了Windows Kernel mixer,和ASIO一样具备低延时特性。其实Sonar6是和微软Windows结合得最好的音频工作站之一,从驱动核心、API开始就一直做得很好。
WDM KS也就是WDM Kernel Streaming,即:内核音频流
一般情况下我所知道的音频流走向是这样的(不一定完全正确,欢迎及时指正):
Audio Application(音频流请求) ->Microsoft WDM wave driver(微软波形WDM驱动核心API)->Microsoft Windows kernel mixer (微软Windows通用混音器)->SoundCard WDM driver(声卡WDM硬件驱动解释层)->SoundCard hardware(声卡硬件)
这样做的目的是可以使用Windows自己的混音器控制整体音量,方便多媒体娱乐的用户。如果是专业应用,这样会有高延时,因此才会有WDM Kernel Streaming以及ASIO。
如果使用了WDM Kernel Streaming之后,就直接绕过了“微软Windows通用混音器”(你无法通过任务栏的小喇叭控制音量了),效果和ASIO基本一样了,说到区别,估计是Kernel Streaming还必须依赖WDM驱动解释层,而ASIO就不用。Sonar一开始就巧妙的利用了这点和Steinberg对抗。
如果使用了ASIO,流向好像变成了:
Audio Application->Audio Stream Input Output Drive->SoundCard hardware (我不确定,还是等高人来解释解释)
另外,有些声卡厂家会用另外一种方式绕过“微软Windows通用混音器(Microsoft Windows kernel mixer )”,比如:著名的ECHO Audio公司的PureWAVE模式,ECHO MIA、Gina3G等等都有这个特点:
Audio Application->ECHO PureWAVE Drive ->SoundCard WDM driver->SoundCard hardware