如果你进入了音频行业, 你肯定见过这个标志: ASIO. 而且, 不论你采购了你人生中第一台音频接口, 或是第一次打开DAW进行设置, 你都会看到关于ASIO支持的提示或要求.
也就是说, 在专业音频领域, ASIO几乎是不可或缺的. 但它到底指的是什么呢?
ASIO
ASIO是Audio Stream Input Output音频流输入输出的首字母缩写. 它是一种更高级的音频驱动协议, 目的是让专业音频接口能跳过被操作系统中转, 从而直接被专业音频软件所调用, 以减少操作系统因资源分配而造成的音频输入输出延迟.
1997年, Steinberg公司提出并开发ASIO协议, 通过ASIO, 我们可以对音频接口做出非常灵活的设置, 比如设定Buffer Size缓存, Sample Rate采样率和Bit位深等等, 最重要的是, 通过ASIO, 音频软件可以与音频硬件直接建立通讯, 从而减少不必要的延迟.
延迟Latency有多重要?
人的感官, 都基于即见即得, 即听即得, 即触即得, 即思即得. 感官的即时性, 得以让我们准确的释放情感, 或是做出反应及行为. 感官的快速精准, 就像是快速的同步, 让我们每一毫秒都给自己一个正确的回馈, 从而决定下一个动作.
一个职业拳击手在对手出拳后, 大概要多久做出判断, 从而做出躲避? 大概在100~200ms(毫秒)左右. 但如果他的大脑再做出一些延迟, 比如到了300ms, 这个拳手的级别就会从职业降到业余, 他会毫无疑问的结结实实的挨上这一拳. 没错, 职业运动员的反应就在200ms以内, 仅仅比普通人的300ms快了这区区100ms, 就足以改变比赛的胜负, 甚至创造世界纪录.
而声音更是如此. 在创造音乐或是录制歌曲时, 你弹下一个音符, 却要过半秒钟才能听到声音, 无疑等于劝你放弃演奏, 当你唱歌时过了半秒才听到自己的声音, 音准再好的歌手也会变得五音不全.
然而, 现实的音频世界中, 存在着很多物理障碍会造成无法避免的延迟, 比如两个话筒录制一个声源, 由于距离远近或线材的长短不同, 就会造成相位失序, 这两个信号中毫秒级的延迟, 会造成声音的饱和度缺失. 再比如一些硬件设备需要对音频进行处理, 这些处理后的声音与其他音频一同回放时, 也会出现一定的延迟, 这些都可能对最终的音频产生或大或小的影响.
因此, 我们会尽可能的杜绝一切不必要的延迟, 以提高音频工作的效率. 下图是我在Studio One中分别启用Windows Audio(操作系统音频)驱动和ASIO驱动, 显示出的不同延迟时间.
可以看到, 在Windows Audio的缓冲设为485个采样时, 所需要的延迟时间分别为输入44ms和输出22ms, 这个延迟并不算高, 但也不低, 对于普通音频爱好者来说完全可以接受. 但Windows Audio的音频是经过了Windows系统内部的运算, 包含了为了维持整个系统同步性而做出的音频延迟上的妥协.
然而当我们换到ASIO驱动后, 由于直接调用了音频接口的硬件性能, 不掺杂与音频无关的因素, 因而输入和输出的延迟分别降到了12.1ms和12.9ms. 而这个数据, 完全达到了专业级, 如果我们继续降低缓冲区, 在ASIO驱动里, 我们甚至可以把音频接口的延迟降低到仅仅1.22ms和2.06ms, 即所听即所得的境界了. 这一切在Windows Audio里是做不到的(我无法将Windows Audio的缓冲区降到更低).
当然, 一味地降低缓冲区以达到最低延迟, 可能会造成丢音, 在ASIO驱动中, 最稳定的两者兼顾的缓冲区设定应该在256~512之间, 此时的延迟值大约在6ms~12ms*之间.
*这里有个简单的ASIO驱动中延迟估算公式: 延迟(秒) = 缓冲区采样数 / 当前采样率
为普通声卡启用ASIO?
专业的音频接口, 都有官方针对性的ASIO驱动. 然而普通的声卡可能就没这个福利了. 不过也有第三方的工作室为普通声卡开发了一套同样可以开启ASIO功能的驱动: ASIO4ALL.
由于普通声卡常使用较为知名的几大音频芯片品牌, 如Realtek, Intel HD Audio, AD, ESS等等, 因此ASIO4ALL为这些主流品牌都制作了成熟的驱动设置, 你几乎不需要太动脑筋就能将自己的小声卡换上ASIO, 而这么做的目的, 并不是为了在系统中更快的听到声音(前面说过, 由于Windows内部的协调性, 音频信号会结合全部媒体信号一同输出, 并不存在单独的延迟), 而是为了在音频制作中, 更快的听到声音.
哪些软件支持ASIO?
前面说到过, 要应用ASIO, 通常是在特殊的领域, 比如单纯的音频制作领域. 因此, 和音频制作有关的软件, 尤其是DAW(数字音频工作站)软件, 全部都支持ASIO驱动. 通常, 在安装了一款全新的音频制作软件后, 你需要再设置中找到关于Audio的选项, 那里面就可以选择你安装过ASIO驱动的设备了, 一些可独立运行(Standalone模式)的虚拟乐器(在电脑上运行的软件乐器)也支持ASIO驱动, 以及大部分影像制作软件也都支持ASIO驱动.
但要注意的是, ASIO驱动的设备也就是音频接口, 是独占模式的, 当一个软件中调用了ASIO驱动, 其他的软件就无法同时使用ASIO驱动了.
好了, 尽管我可能无法用非常专业和详尽的术语来解释ASIO这个名词, 但我希望从大体上, 让刚进入音频领域的初学者们, 能领会ASIO这个术语的概念和意义, 并且感谢这些不断研发新技术的工程师们, 物理的屏障一直存在, 但我们和声音的距离, 却在不断靠近!
从零到一, 从一到无限, 这里是smpiggy, 我们下次再见!