ASIO是专业声卡驱动模式的一种简称。由 Steinberg 公司开发。应用很广泛的个人
电脑声卡专业驱动。它的全称是Audio Stream Input Output,直接翻译过来就是
音频流输入输出接口的意思。通常这是专业
声卡或高档音频工作站才会具备的性能。采用ASIO技术可以减少系统对
音频流信号的
延迟,增强声卡硬件的处理能力。同样一块声卡,假设使用
MME驱动时的延迟时间为750毫秒,那么当换成ASIO驱动后延迟量就有可能会降低到10毫秒以下。
定义
ASIO的全称是Audio Stream Input Output,直接翻译过来就是
音频流输入输出接口的意思。通常这是专业声卡或高档音频工作站才会具备的功能,不过目前的多媒体声卡与高保真音乐声卡也采用了ASIO(如创新X-Fi系列,乐之邦PS、US系列)。采用ASIO技术可以减少系统对音频流信号的延迟,增强声卡硬件的处理能力。同样一块声卡,假设使用MME驱动[1]时的延迟时间为750毫秒,那么当换成ASIO驱动后延迟量就有可能会降低到10毫秒以下。
功能
简单的来说,ASIO的目的是降低音频延迟;同时ASIO作为系统中独立的音频通道可以避开DirectSound(或其他通道)的干扰,从而使得ASIO应用程序(如音乐创作软件)可以不受系统中正在运行的其他程序的干扰。
当程序使用ASIO通道时,可以避免其他程序因为“独占模式”而造成通道独占情况,因此您的工作可以不受到影响。如果您使用的程序也是DirectSound,或者其他什么通道(如KS、
WASAPI等),当某个使用同样通道的程序启动“独占模式”后,比如腾讯QQ,您的程序将收到干扰,最直观的感觉是,除了腾讯QQ外,其他程序全部无声。因此在音频编辑时,如果使用ASIO通道,在降低延迟的情况下还可以避免干扰。
举个简单的例子来说明降低延迟的意义所在:许多朋友都试过用计算机与互联网进行语音通话,就连著名的聊天工具QQ都有此功能。其实互联网上的语音通讯跟电信部门提供的IP电话是同样机理,只不过由于
网络带宽的限制而使得前者的声音延迟现象远比后者严重得多。当话音的延迟在一定的范围内时,人们会觉得尚可接受;但如果延迟量实在太大(比如说每说一句话都要等到5秒以上),那么大家就会觉得这是无法忍受的了。
使用
普通声卡在播放
音频流的时候是有延迟的,尽管一般用户都不易察觉到它的存在。毕竟,对于播放影碟和双声道的MP3音乐以及玩游戏来说,几百毫秒的声音延迟对应用的影响根本是微乎其微的,完全可以被忽略不计。但是,对于专业的录音师和音乐制作人来说,这几百毫秒延迟所带来的后果就好比我们普通用户要面对响应极慢的互联网IP电话、用1000的Ping玩魔兽世界那样,是不能容忍。试想,当按下一个琴键时,要经过0.6秒以上的时间才能够听到声响,恐怕任何演奏者都很难发挥其正常的水平,更无法控制音乐表演的情绪;录音师进行后期制作的过程中,需要给不同的
音频信号做相应的实时效果处理,并对分轨录制的多通道音频流进行
混音,以得到最终的双声道立体声或是5.1声道的环绕声格式。在对多个声部的音频进行缩混时,如果声音有延迟且延迟时间各不相等,那么多个声道之间的信号同步就会成为大问题,录音师就会因此而无法对混音的结果进行准确判断。为此,他们十分迫切需要一种能够让音频设备实现“零延迟”的技术,这个技术就是Steinberg定义的ASIO。
目的
为了实现“音频设备零延迟”的理想,著名的音乐制作软件Cubase VST的开发者Steinberg公司提出了被称为Audio Stream Input Output的标准规范,其目的是为了让各硬件厂商开发出来的设备能够很好地与Steinberg的音频处理软件Cubase VST相结合,以使其在
数字音频处理和软件音源模拟方面发挥出最佳的性能水平。ASIO完全摆脱了Windows操作系统对硬件的集中控制,它能实现在音频处理软件与硬件之间进行多通道传输的同时,将系统对
音频流的响应时间降至最短。根据ASIO规范中定义的细节,声卡厂商可以为其硬件产品编写出高效能的ASIO
驱动程序,使用声卡硬件对音频流的响应时间降低到十几毫秒以内。要知道,即便是对于那些极其苛刻的专业音乐制作人,这样低的延迟量也是根本无法察觉到的。
辨析
ASIO的目的在于最大程度地降低系统播放
音频流时的延迟时间。也许有读者会因此联想到DirectSound——不错,ASIO跟DirectSound的确十分相似,二者都是以设法绕过Windows操作系统对硬件设备的控制、直接与硬件端口取得通讯的思路来实现提高响应速度的目的。不过,ASIO的革命性要比DirectSound更彻底一些:如果把DirectSound比喻成用高级语言实现的程序,那么ASIO就是用汇编代码构成的程序——不仅结构更为紧凑,效率也大为提高。更何况,ASIO不仅是驱动上的革命,还需要硬件芯片的支持。在驱动与硬件的紧密结合下,ASIO将延迟降至极低的程度是必然的事情。
不过,如果你的声卡仅支持ASIO而不支持DirectSound,那么就无法用Windows任务条上的小喇叭来实现音量控制;当运行最常用的一些娱乐软件,诸如
超级解霸和WinAmp等的时候,也无法通过播放器界面中的音量推子来控制声音的大小。
某些声卡可以同时支持MME、DirectSound、ASIO、GSIF[2]等多种标准,并通过软件实现不同兼容方式之间的切换。对于那些需要兼顾专业创作和日常应用的朋友而言,这样的声卡无疑是十分方便的。
兼容
并非所有的声卡都能够支持ASIO。如前所述。ASIO不仅定义驱动标准,还必须要求声卡主芯片的硬件支持才能够得以实现。在过去,只有那些价格高贵的专业声卡,在设计中才会考虑到对ASIO的支持。
不过目前看来,不管是主流的多媒体娱乐声卡,或者偏向PC-HIFI的音乐声卡,大多数都保留了ASIO功能,如Creative Audigy系列、Creative X-Fi系列、乐之邦US系列、乐之邦PS系列、华硕Xonar ST、Audiotrak MAYA 44等等。当然,对于常见的Realtek ALC或VIA VT等
集成声卡来说,并不硬性支持ASIO。
判断声卡支持ASIO的最简单的方法是翻阅声卡参数与技术支持,如Creative声卡在包装盒上都注有“ASIO”的LOGO。
其他方法均为通过软件来查看兼容性的方法,各个软件均不同,下面介绍一些常见的。
- 音频处理软件:在音频处理软件的菜单栏中找到“Setup Preferences Audio”或是“Setup Audio Hardware”,在Device下拉选单中会列出当前可用的音频设备。如果声卡不支持ASIO,那么下拉选单中就就只会显示出ASIO Multimedia Driver一项,这实际上是MME驱动对ASIO的软模拟;如果声卡使用的是ASIO驱动,那么在此下拉选单中还会有另外一项,例如MAYA ASIO Driver或SB Audigy ASIO。
- 音乐播放软件Foobar 2000:将Foobar 2000装上ASIO插件,在设置中找到“输出”标签页,在里面找到“ASIO虚拟设备”,之后在右边窗口进行设备添加,如果您的声卡能顺利添加,则说明您的声卡支持ASIO。
- 音乐播放软件
千千静听:装好千千静听后,在设置中设置输出为ASIO,如果播放器能顺利播放音乐说明您的声卡支持ASIO。
- 音乐播放软件CPlay:装好CPlay后,如果能正常播放音乐,则说明您的声卡支持ASIO。
-某些使用了REALTEK集成声卡的电脑也被识别出了ASIO,使用FOOBAR 2000装上ASIO插件后,可以识别出REALTEK ASIO设备,并且选择之后能正常使用,且声音比起默认的DS输出更加直白了一些。例如某品牌的笔记本电脑自带的ALC663芯片,并且安装好了该厂商提供的驱动包,版本号为6.0.1.6809,即可自带了REALTEK ASIO驱动,可以使用ASIO进行输出。
应用
将软件的音频输出设置为ASIO设备后,播放多轨音频,使用实时效果器以及使用VSTi
软音源时就会得到近乎完美的效果。不过,要想真正达到“零延迟”(指延迟时间在10ms以下),还须对ASIO设备的
缓冲区进行设置。
单击音频属性设置中的Control Panel打开ASIO控制对话框,单击Advance按钮进入高级设置。这里最重要的参数是Buffer Size,也就是音频缓冲区的大小。一般来说,缓冲区设置得大一些,可以增加系统的稳定性,缓解因数据传输或处理过程中的速度差异而导致的
爆音现象;而把缓冲区设置得小一写,则会提升系统的响应时间,减少音频延迟。总之,
缓冲区的大小设置,需要根据你所用电脑的CPU和内存等硬件的性能而定。
设置好音频缓冲区后,音频软件会提示说环境设置已改变,要求进行测试以保证将来的工作正常。测试的主要内容是检查数据包是否会有丢失,整个过程大概需要数十秒至1分钟左右。当看到成功信息后,你就可以在音频处理软件中充分享受到“零延迟”所带来的种种乐趣了。