天地Music

 找回密码
 立即注册
搜索
热搜: 人声 器乐 古典
查看: 5933|回复: 0
打印 上一主题 下一主题

声卡入门·说说音频API

[复制链接]

698

主题

0

好友

791

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2012-7-28 20:19:02 |只看该作者 |倒序浏览
一般程序如果需要指挥声卡干播放或者录制的活儿,就需要一个指令,不同的声卡干同样的活,却可能会有不同的指令或者不同的指令方法,为了统一调用的过程,于是出现了好几套API,API就是Application Programming Interface,应用程序编程接口的意思,有了API,可以抛开硬件去设计程序,因为不管什么声卡,只要能够支持该套API就可以用统一的指令去调用。
8 r8 x9 E, _# [& V. s, ~! R! G3 wMME
8 E2 Z: t6 C9 C: L% ]0 {* s/ @MultiMedia Extensions,多媒体扩展,这是Windows平台最古老的API了,这是最为简单易用的一套API,直接包含在WinAPI或者 WinAPI32当中,编程序的时候只需调用WinAPI中相关的函数就可以实现播放和录制,实现输入输出功能。MultiMedia Extensions是一套高级的API,系统监管程度很高,流程也很长,因此响应速度并不快。所有能用于Windows平台的声卡都支持这套API,也是目前运用最为广泛,兼容性最好的API。
) s5 N2 {+ v8 }DirectSound
' p5 h# _' I: I

# r- O6 U3 v+ N; ^% M
" I  Y, S" h# v2 r7 O/ f5 Y9 @Microsoft DirectX
3 ^( p: m. Q2 L
, `8 a* s1 U5 L8 ^0 c
7 J% L- L$ n- s' V
Windows95发布后,微软发现游戏商还是乐意用DOS作为游戏平台,原因是游戏开发商发现Windows95并不适合执行视频和音频任务,因为WinAPI32包含的多媒体函数响应太慢了。微软于是推出了著名的DirectX,DirectX是一套视频音频API以及视频音频的DSP(效果器)API。DirectSound是其中的一部分,DirectSound有2D/3D之分,DirectSound有效果器函数,因此在输出的时候还可以加入回声等效果,用来仿真真实的声效环境。 DirectSound主要为游戏提供服务,在一些播放器以及音频编辑器上,DirectSound也被作为实时效果API使用。DirectSound 注重输出,输入方面并没有特色。只要硬件支持,DirectSound能够明显加速输出响应。Windows的音频输出响应速度提高到了一个新的档次。除了古老的某些声卡之外,几乎所有声卡都支持DirectSound,至少支持DirectSound 2D。* K! t) y/ G3 Q
2006年11月,微软发布Windows Vista,Vista出人意料的放弃了对DirectSound 3D 硬件层(HAL)的支持,也就是说,那些支持DirectSound 3D硬件加速的声卡,通通失去了加速能力。最新发布的Windows 7继承了Vista的这个特性,DirectSound 3D硬件加速退出历史舞台。$ S/ n" v5 G8 a+ n
A3D' \' w5 j9 T4 v; v% J# @9 ^4 H
这一套3D 音频API,它全称是Aureal 3-Dimensional,由Aureal公司开发,它能大大降低游戏开发组对音效的处理难度,所以迅速的流行开来,A3D有数个版本,A3D 1.0能通过2个扬声器来模拟3D音效,而A3D 2.0时,就开始支持4声道3D音效了,A3D不但获得开发组的好评,实际效果也非常出色,但成功来得太快,招致了自我的膨胀以及竞争对手的纠缠,众人期待的A3D 3.0 还没来得及正式应用,Aureal却倒下。创新收购Aureal后,并没有独立发展A3D,A3D从此也就销声匿迹。
8 S# Y  S9 `" c' ]EAX8 u3 L/ B% y4 o) _; p( z8 d9 y! C
EAX 即 Environmental Audio Extensions,环境音效拓展集,它算不上是一套独立的API,它是以DirectSound 3D为基础,构筑的一套3D API,它的开发者就是大名鼎鼎的Creative。Creative推出EAX是为了和A3D竞争,并最终获得市场的胜利,创新收购Aureal后,A3D的一些先进算法被导入到EAX当中。# Z1 J# x" `) N- M1 U
OpenAL# V4 ~7 ~/ E& s0 X& x

4 c  _; r4 J  r& ?& h6 @8 d, r3 O" f; R% w: F" {" ~4 ]. F0 E1 G# j
OpenAL 标志
$ h4 U% T9 d5 _+ c" g( X+ I2 F& O, [% m
; W* {0 q' C1 p" o# R5 z
OpenAL是一个免费的跨平台的音频3D API,由Loki Software开发,但Loki Software没多久就倒闭了,自由软件社区接手进一步的开发,现在的实际主导者就是Creative。由于Vista放弃对DirectSound 3D硬件加速的支持,Creative也陷入尴尬境地,要让EAX继续发展下去,只能加强对OpenAL的支持。Creative希望在OpenAL的基础上重构EAX,要实现这一步并不难,但真正要广泛应用,还需游戏厂商的大力支持。时至今日,OpenAL的被支持力度仍旧比不上当年的DirectSound 3D,Creative要重现辉煌,尚需时日。但如果努力获得成功,可能获得极大的收益,因为OpenAL是唯一一个跨平台的API。
5 Y. O3 Z' {9 B2 bWDM
% D- Z2 e8 n9 y8 x( d$ K3 pWindows driver module。这是Windows 98 SE/ME/2000的一个新特征,WDM驱动推出后,人们发现以前不支持多音频流的声卡都能播放多个音频流了。WDM也可以算是一套API,通讯的对象是驱动程序而不是普通的应用程序,只要驱动支持WDM,会增加不少功能,例如通用的软波表等。在输入输出方面,WDM比MultiMedia Extensions和DirectSound都要好点,现在几乎所有没有被淘汰的声卡都支持WDM。WDM可以让声卡的延时大大降低,某些时候甚至可以媲美ASIO,在一些专业的音频编辑创作软件中,已经对WDM提供了支持。
4 c1 C. r- c/ u1 V6 JASIO: e$ S# f& e/ q, ~$ H* S  f
即Audio Stream Input Output,这是一套带有专业色彩的API,名字就说明问题,是一套专门负责输入输出的API。在专业创作的时候,一点平时并不起眼的延时都会严重的破坏创作情绪,当按下琴键后需要几百毫秒才能有所反应的话,会是一个什么样子的感觉。ASIO因此诞生,音乐制作软件Cubase VST的开发者Steinberg公司提出了被称为Audio Stream Input Output的标准规范,ASIO完全摆脱了Windows操作系统对硬件的集中控制,它能实现在音频处理软件与硬件之间进行多通道传输的同时,将系统对音频流的响应时间降至最短。这套API在普通播放和录音时并没有大的优势,因此也不是太多声卡支持。7 P+ W5 |% X4 a( Z
Kernel streaming, F; K9 y: P! `" c0 m; p
中文意思就是内核流,这是一种直接访问底层数据的方式,它可以绕开系统的混音器(Mixer)等“重重关卡”,直接与声卡通讯,这使得输出效率得到提高,输出延时降低。这与ASIO的原理有些相似,但Kernel streaming并不支持输入。
) @) ]9 D/ l) i6 n" B& A  q8 lUAA
3 C4 s2 R8 F' d6 @1 N  [, ?这是Vista推出一套新的驱动模型,全称Universal Audio Architecture,意思为通用音频架构。Microsoft认为声卡厂商的驱动质量良莠不齐,导致系统不稳定,因此对驱动模型做了修改。5 Z, U6 F' V* g1 B. b# q+ k
UAA主要包括三个部分
3 P0 P& z3 p/ e7 qMultimedia Device API - 多媒体设备API
7 T1 c& P8 _( V: j, j5 `Device Topology API - 设备拓扑API,获取设备的功能布局# g9 |6 k& _# Z! D7 ?2 U; \1 Z
Windows Audio Session API (WASAPI) - Windows音频对话API,例如同时启用Foobar2000和QQ,Windows会认为这是2组对话(Session),每组对话能单独的进行控制,这种新功能取代了老旧的混音器(Mixer),而混音器一直被发烧友认为是对音质有着劣化影响的,因此WASAPI被认为对音质有提升帮助。WASAPI在延时方面也有改善,相比老的驱动模型,它变得更加“迅速”。8 C0 b+ _6 c/ H' E4 R
以及其他一些新特性,UAA理论上能增强音频子系统的稳定性,但它对声卡厂商的打击也是非常巨大的,很多厂商跟不上Microsoft的脚步,新驱动迟迟不能发布。/ x& M3 Z! O5 s3 q- k

" a2 k$ H" @- w仅供学习交流之用,版权归原作者公司所有,: d0 r+ k( j5 k1 X+ T8 }! x
不可用于商业盈利用途,否则一切后果自行承担!
4 d1 W: T% f2 ]) }! q* A  F, e
您需要登录后才可以回帖 登录 | 立即注册

在线咨询
回顶部