Monday, May 22, 2017

支持ASIO输出的音频播放器

ASIO的全称是“Audio Stream Input Output”,是由德国Steinberg公司所提出的一种音频技术规范,为音频API标准之一。ASIO的主要特点是低延迟和多轨多通道传输。ASIO完全摆脱了Windows操作系统对硬件的集中控制,它能实现在音频处理软件与硬件之间进行多通道传输的同时,将系统对音频流的响应时间降至最短。

Windows自有的MME驱动程式其延迟时间为200~500毫秒,DirectSound为50~100毫秒,Mac OS的Sound Manager则为20~50毫秒,使用ASIO的情况下,缓冲器依照设定的不同可至10毫秒以下,也有因环境较佳而到1毫秒以下的情况产生。 因此,在录音作业与音乐制作上,可达到实时处理的效果。

在播放音乐时选择ASIO输出,除了延迟低,而且能避开系统重采样、音效以及规格化处理,达到原汁原味的输出效果。

这里需要指出的是,据维基百科中的描述,ASIO对于音质是没有影响的。

于电脑音源,早期 AC’97 规范(Intel 制订 AC’97 规范规定芯片处理音效时要以 48KHz 取样)及部分声卡设计上的缺陷(硬件做即时的取样频率转换,受限于成本,转换品质差),导致音频输出会强制 SRC 为 48kHz。在当时 Windows NT 5.x 环境下,也由于使用者想规避 Kmixer (Kmixer 本身不会主动取样频率转换,除非在同时播放不同取样频率音效的情况下),进而使用 PPHS (or SSRC),而 ASIO 的使用也是其中一种手段(Kernel Streaming 亦同)。但这方法并非能套用在所有环境与硬件上,亦有无法规避的情形存在。

在Windows NT 5.x环境下,有部分使用者套用ASIO设定之后,得到音质提升的结论。这是因为,ASIO避开Windows NT 5.x Kmixer的音量、音频控制,所以不会受到原先音量设定的影响,而得到音量0dB的音频输出。许多使用者不会特意去调整音效主控台的音量设定,所以当音量0dB化之后,声音变得更大声(音量的差异),便往往产生“音质获得提升”的主观听感。事实上在其它的API(DirectSound、waveOut),只要将主音量、Wave(或设备相关设定)拉杆拉至最高(或音效驱动程式定义的0dB位置),音质与ASIO是完全没有差别的。

目前市场上的大多数普通独立声卡(如创新和华硕的声卡)和专业录音声卡都支持ASIO,在音频播放器中的音频输出中设置ASIO输出即可。

但是目前市场占有率极高的集成声卡如Realtek ALC269、Realtek ALC892、Realtek ALC1150声卡等默认不支持ASIO,这类声卡通常需要安装通用ASIO驱动(如ASIO4ALL等)或者安装集成了ASIO支持的Realtek声卡特别驱动(6.0.1.7255版 / 6.0.1.7432版)才能支持ASIO。

目前已知能支持ASIO输出的音频播放器有Foobar2000(通过foo_out_asio插件支持)、JRiver Media CenterQQ音乐酷狗音乐百度音乐。其中百度音乐对ASIO的支持尚不完善,在通过ASIO输出音乐时,拖动进度条会出现卡顿和无法继续播放的现象。

目前尚不支持ASIO输出的音频播放器有酷我音乐网易云音乐

Leave a Reply

Your email address will not be published. Required fields are marked *