正在加载中……
1
ASIO驱动的优越性是什么?低延迟和缓冲区大小的关系
电脑技术
2021/12/18 7:44:00
老贾/吉他福
访问量
3580
支持
3
中立
2
反对
7
朗读功能:
ASIO驱动的优越性是
a、低延迟
b、低噪音
c、低能耗
d、低频响
答案:A
asio是硬件的驱动模式,是指一种低延迟的通道模式,它需要硬件的支持才能使用。相应的还有虚拟的软asio,比如asio4all,不需要硬件支持,4all是软件模拟硬件的asio,显然性能完全不能和硬件的ASIO相比。
声卡将模拟信号转换成了数字信号,再经由软件处理后重新转换成模拟信号输出,显然如此复杂的处理过程通常都会产生延时。其中声卡驱动环节所产生的延迟可能大到离谱,WIN系统下的MME和Direct X声音驱动模式,所带来的延时实在是太高了,动不动就上千毫秒的延时。
而ASIO则可以极大地降低延迟,如果你是Mac用户,那么自带的Core Audio能提供相当低的延迟。
音频缓冲区是一个用来暂时存放音频信息的内存空间,缓冲产生的延时=缓冲区大小/采样频率。采样频率为48kHz,缓冲区大小为256 Samples,计算出由音频缓冲所产生的延时为5.33毫秒,。
DAW(音乐制作音频处理宿主软件)处理音频的环节,应该在设定的缓冲延迟时间内完成音频处理工作,否则就会导致处理速度跟不上音频输出的速度,导致大量的丢码声音丢失的现象了。
ASIO可以达到毫秒级的延迟,在 MIDI 键盘下按一个音后,几乎无需等待就能反馈出声音。
如果是为了“改善音质”也是有用的,ASIO专业级声卡通常都不会有民用声卡那种电流噪音,而且因为专业品质软件的支持的确可以大大提升音乐播放器的声音质量。
ASIO是由德国Steinberg公司所推出的,MacOS的Core Audio是同等级技术。Linux也具备低延迟内核。
使用asio4all达到某些提升音质的目的,虽然无法本质上提升声卡性能无法有效降低延时,主要使用在忽略输入输出延时的情况下。
ASIO延迟最低可达1毫秒,这种延迟量人耳无法察觉到了,要降低延迟就是要设置更小的缓冲区。
ASIO驱动直接向硬件发送数据,可以达到极高的性能。
IASIO编程接口,在AsioSample中完成IASIO接口:
Init(); //初始化
CreateBuffers(); //为每个声道创建双缓冲
Start(); //启动输入,输出,实现向硬件发送/接收数据
Stop(); //关闭输入,输出
DisposeBuffers(); //释放CreateBuffers创建的内存
Exit(); //退出