为什么发烧友需要ASIO?

任何迟早遇到高质量声音再现问题的人都会使用缩写ASIO,这是重要且必要的选择。



这是什么,实际含义是什么?

首先,ASIO仅与Windows操作系统下通过声卡或USB-DAC从计算机记录/回放的音频部分有关。对于那些从智能手机或带有自己的操作系统的网络播放器听音乐的人来说,具有ASIO性能也很有用,因为对该“选项”的了解避免了智能手机中存在的许多问题,因此使我们能够理解为什么并非所有声音平台都同样有用。

ASIO是一个软件接口,用于绕过OS的声音子系统,将数据从播放或接收音频信号的程序直接传输到声卡驱动程序。

对ASIO的需求完全是出于专业任务。最大的问题是并且保持了传输音频信号的最小延迟。当我们观看电影时,系统开始播放视频和音频所花费的时间并不重要,只需单击“播放”按钮几毫秒或几秒钟即可。最主要的是,视频和音频相对于彼此是同步的。在工作室中,要求非常严格,因为通常在虚拟乐器上现场演奏,必须实时处理声音。如果您在一秒钟后没有立即听到击键声,则无法在Midi键盘上完全弹奏。

通常,在Windows OS中,延迟为7到300毫秒,具体取决于当前系统负载。您可能会猜到,声音系统不是Windows的优先级,它所要做的就是声音不会发呆,为此,音频数据被收集在单独的缓冲区中并立即以大块的形式传输。对于极小的延迟,缓冲区应该很小,并以小包的形式不断传输。



ASIO是另一种桥接器,可绕过标准OS数据传输系统,以固定的缓冲区值将声音流从程序传输到驱动程序。因为 ASIO不是Microsoft开发的(顺便说一句,传统上是在声音上放了三堆),ASIO中对输出和接收的支持落在软件和音频设备制造商的肩上。最初,ASIO是由Steinberg在从MIDI过渡到虚拟合成时为其产品开发的,如今,它已得到几乎所有专业软件和声音接口的支持。

您可能会猜到,发烧友并不在乎系统的延迟是多少。但是了解操作系统在声音传输上花费了多少精力以及它如何影响音质非常有用。

操作系统的声音子系统如何影响声音




该操作系统具有许多作为声音来源的程序,例如Skype,ICQ,带有VK音乐的浏览器,系统声音,视频播放器和其他应用程序。所有这些声音流在离散度和采样频率上都不同,并且只有一个具有一定比特深度和采样频率的立体声流才应进入DAC。因此,所有声音流必须预先混合。要想想问题的严重程度,请假设需要在LCD屏幕上同时显示几张初始分辨率不同的照片,而每张照片都充满了整个屏幕。如果按像素显示照片并且照片占据了屏幕的一部分,则类似于声音播放得更快或更慢。

如果照片的分辨率为600x480像素,并且显示器的分辨率为1024x768,则必须首先将照片传输到1024x468。照片的清晰度肯定会降低。系统从44100 kHz到48,000或96,000 kHz的频率重新计算的声音大致相同。 Windows中的重采样器质量很差。最大程度地节省了资源。

返回照片,我们有一张分辨率为600x480像素,1024x768像素和2048x1536像素的照片,并且所有照片都必须以1024x768像素显示。添加之前,您需要将600x480和2048x1536重新计算为1024x768,并在将一张图片添加到另一张之后汇总三张图片。

通常,只有一个程序可以再现主要声音,而其他程序则可以周期性地播放声音(ICQ,Skype),并且可以与主要照片顶部的徽标和铭文进行比较。显然,初始分辨率为1024x768的图片质量将受到最少的影响,如果它是主要的并且与显示器的分辨率匹配,则仅辅助图片的质量会下降:徽标和铭文。

同样在系统中,您可以将音频播放器的最终采样频率正式设置为44.100 kHz,而忽略了不时发声的系统声音的质量。

但是,为了使质量损失最小,当混合声音流时,会添加特殊的噪声(抖动),而系统对此并不在乎,一个程序会复制声音或多个声音。因此,即使仅播放一个声音流而没有将其转换为另一采样频率,该声音流仍将被处理,并且不再到达位到位DAC。

如果以前如此,则操作系统会监视输入数据的采样频率,并自动将声卡支持的最大采样率设置为传入的声音流(例如,在输入22、44.1和48 kHz处设置48 kHz,在22和44.1处降低最高44.1 kHz),然后从Win7开始,系统会强制设置总采样频率,并且没有参考频率自动机。操作系统稳定性有所提高,但是这种方法并不能使所有人满意。

对于可以同时从不同程序播放声音的所有操作系统和平台,上述情况同样适用。例如,在移动电话中,播放电话交谈和电池没电的系统信号。


有条件的一般方案如下所示。使用ASIO时,绕过重采样器(SRC)和OS混音器,声音流直接发送到声卡驱动程序(混音器驱动器)的混音器。

对于需要播放逐位声音流的需求,有一些特殊的模式,在Windows中,这些模式是“内核流”(XP之前的版本)和WASAPI(XP以后的版本)。在这种模式下,系统中只有一个程序有权传输声音流,此处完全排除了数据的混合和重新计数。此外,系统还支持自动切换参考频率(但有声卡驱动程序的相应支持)。

不建议普通用户使用此模式,因为带来各种问题。例如,用户使用WASAPI打开Foobar2000,然后从以前启动的浏览器启动视频剪辑。声音驱动程序不接受来自浏览器的声音流,并且Flash插件崩溃。显而易见-系统崩溃了,这是“悲伤,麻烦和悲伤”。软件制造商很少将音频输出到KS / WASAPI,因为激进的用户不会因为问题而责怪他们,但该程序“因为一切都被毁了”。

KS / WASAPI模式只能在为发烧友设计的音频编辑器,音序器和稀有软件播放器中找到-适用于训练有素的用户,他们了解操作系统的稳定性会受到影响,并且播放器/音频编辑器/音序器之外不会发出声音。放弃内置声音的高级发烧友通常使用单独的声卡来播放音乐,并且将系统声音定向到内置声音,从而确保操作系统的高度稳定性。

那些。实际上,KS / WASAPI非常适合发烧友的音频输出。在Foobar2000,AIMP,Winamp中受支持。对于那些也想听电影的人,这里有一个轻合金播放器。

是ASIO还是WASAPI?


专业人员使用ASIO模式,该模式将位到位音频流传输到驱动程序,并提供固定级别的延迟。 WASAPI OS的默认设置不允许控制延迟。延迟专业工作的程度是重中之重,一点一滴只是一个不错的奖励。

当同时包含OS和ASIO声音系统时会发生什么?

声音驱动程序有两种声音流,一种来自OS子系统,另一种来自ASIO。完全关于驱动程序的编写方式,最终流将混合到DAC。在某些情况下,如果有来自ASIO的声音流,则会关闭来自OS子系统的声音,而在其他情况下,则有来自OS和ASIO的混合声音,并且仅在理论上保持逐位。像WASAPI一样,ASIO允许您仅避免使用SRC(过采样)算法并混合OS子系统,仅此而已。最终流的完整性取决于驱动程序。

无论如何,声卡几乎总是以与ASIO传入流相同的采样模式运行,这为ASIO提供了一些优势。

驱动程序中的混合可以是软件,也可以是硬件。发烧友试图为“高质量数字”放置专业界面的尝试尤其有趣,在硬件混合后显示“数字”。但是,有些人更喜欢混合声音,而不是原始声音……更清洁,更透明,更真诚……

如果从逻辑上看声音流应该沿着的链,就点对点的意识形态而言,声音接口应仅支持一个选项,或者在出现以下情况时关闭流的混合仅一个接口的操作。只有在这种情况下,才能获得最高的机会。



例如,使用具有ASIO支持的OPPO HA-1。如果同时运行带WASAPI的Foobar2000和带ASIO的AIMP,那么在输出处,我们将同时听到两个声音流。 OPPO没有数字输出,因此,无法在DAC之前逐位逐位检查ASIO和WASAPI的声音流。

但是使用华硕Essence STU的情况就不同了。如果AIMP与ASIO一起播放,则带有WASAPI的Foobar2000已经处于静音状态,音频流不会混合,将优先级分配给ASIO。没有办法以相同的方式检查数字流,但可能是音频流“逐位”到达的数量级更高。

人们认为USB-DAC必须支持ASIO,但实际上,我们获得了附加链接,在该链接中应混合或交换来自OS和ASIO的声音系统的流。在这里,没有ASIO就是没有未知的链接,在这里可能存在强制混音,没有数字输出就无法测试。同时,此阶段的混音通常以24或32位的位进行,因此,不太可能听到分散的噪声。唯一的问题是高端意识形态。

ASIO是所有疾病的灵丹妙药吗?


如实践所示,这完全取决于声音设备的驱动程序。如果设备是专业的,那么ASIO制造商通常会最注意稳定性和质量。如果设备是家用设备,则ASIO可以比KS / WASAPI模式工作一个数量级。从实用的角度来看,当选择使用KS /​​ WASAPI和ASIO时,您需要使用OS可以更稳定地运行的接口。

ASIO4ALL通用驱动程序




ASIO4ALL驱动程序非常流行,但同时它也是ASIO从程序的退出到OS中KS / WASAPI输入之间的桥梁。重要的是要知道,因为如果您的声卡不支持ASIO,则在同一Foobar2000中安装ASIO4ALL后,您可以选择首先通过ASIO4ALL在KS / WASAPI或ASIO中选择输出,这会将声音流定向到OS中的同一KS / WASAPI。

向ASIO4ALL的迷们讲解-是的,仍然有不同的设置,例如选择缓冲区等,但是这些功能仅在专业工作中才需要,并且对于本材料所针对的发烧友没有任何帮助。

是什么赋予您权利要求ASIO4ALL将位对位数据传输到KS / WASAPI?毕竟,理论和实践常常得出相反的结果。为了评估ASIO4ALL性能的质量,使用了Audiolab M-DAC,其功能是通过播放特殊的声音文件来检查输入的声音流是否“完美”。测试证实,当通过ASIO4ALL从Foobar2000播放时,数据确实是“逐位”传送的。

顺便说一下,程序员的说法是,例如,用于外部E-MU卡(USB版本)的ASIO驱动程序以桥的形式类似于ASIO4ALL,这恰恰是卡的低稳定性的根源...

Android和一点一点


返回基于Android OS的播放器。此操作系统中有类似的KS / WASAPI模式,但没有明确的设置。iBasso DX100使用了唯一在DAC中具有直接输出模式的软件播放器。当然,它自己的软件播放器只能在DX100中使用,而不能下载和放置在Sony播放器中。

检查Android的逐位操作非常简单。启动任何闹钟和播放器。如果在播放器声音之上您听到警报,则没有“逐位”输出。


ASIO能够绕过OS子系统中的声音处理来传输逐位音频流,但是除了ASIO之外,还有一种替代KS / WASAPI。最终,传输的质量和准确性仅由音频设备的驱动程序提供,有时缺少ASIO只是一个单独的优点。

作者库兹涅佐夫·罗曼(Kuznetsov Roman) 罗马书

All Articles