天地Music

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

声卡入门·说说音频API

[复制链接]

698

主题

0

好友

791

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2012-7-28 20:19:02 |只看该作者 |倒序浏览
一般程序如果需要指挥声卡干播放或者录制的活儿,就需要一个指令,不同的声卡干同样的活,却可能会有不同的指令或者不同的指令方法,为了统一调用的过程,于是出现了好几套API,API就是Application Programming Interface,应用程序编程接口的意思,有了API,可以抛开硬件去设计程序,因为不管什么声卡,只要能够支持该套API就可以用统一的指令去调用。
8 E' x: ^% j  x. r2 q9 OMME
6 S. [: ?- ^* i; {" `1 a9 FMultiMedia Extensions,多媒体扩展,这是Windows平台最古老的API了,这是最为简单易用的一套API,直接包含在WinAPI或者 WinAPI32当中,编程序的时候只需调用WinAPI中相关的函数就可以实现播放和录制,实现输入输出功能。MultiMedia Extensions是一套高级的API,系统监管程度很高,流程也很长,因此响应速度并不快。所有能用于Windows平台的声卡都支持这套API,也是目前运用最为广泛,兼容性最好的API。
/ x4 h& M! D: E4 P% |; yDirectSound# I* C; b& w: L2 E
  O/ Z& Q( A: G+ V- |

. L8 H8 L- m: `( [0 V6 s' R9 w1 {Microsoft DirectX

- }. _: j1 X( \4 H3 Y) v+ [; I9 f4 D) \5 c. ~

3 q0 G7 p6 i4 u* a0 J  F" b; H
Windows95发布后,微软发现游戏商还是乐意用DOS作为游戏平台,原因是游戏开发商发现Windows95并不适合执行视频和音频任务,因为WinAPI32包含的多媒体函数响应太慢了。微软于是推出了著名的DirectX,DirectX是一套视频音频API以及视频音频的DSP(效果器)API。DirectSound是其中的一部分,DirectSound有2D/3D之分,DirectSound有效果器函数,因此在输出的时候还可以加入回声等效果,用来仿真真实的声效环境。 DirectSound主要为游戏提供服务,在一些播放器以及音频编辑器上,DirectSound也被作为实时效果API使用。DirectSound 注重输出,输入方面并没有特色。只要硬件支持,DirectSound能够明显加速输出响应。Windows的音频输出响应速度提高到了一个新的档次。除了古老的某些声卡之外,几乎所有声卡都支持DirectSound,至少支持DirectSound 2D。
* l$ W- ^8 f( @/ A  Q# P8 k+ L2 M2006年11月,微软发布Windows Vista,Vista出人意料的放弃了对DirectSound 3D 硬件层(HAL)的支持,也就是说,那些支持DirectSound 3D硬件加速的声卡,通通失去了加速能力。最新发布的Windows 7继承了Vista的这个特性,DirectSound 3D硬件加速退出历史舞台。9 ^* b) `3 K, d2 C
A3D+ E6 U7 j8 T( v. k* X/ ^
这一套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从此也就销声匿迹。- R+ i* e5 S. n% D
EAX
& m# s9 `; }5 S4 j! [: ?: _EAX 即 Environmental Audio Extensions,环境音效拓展集,它算不上是一套独立的API,它是以DirectSound 3D为基础,构筑的一套3D API,它的开发者就是大名鼎鼎的Creative。Creative推出EAX是为了和A3D竞争,并最终获得市场的胜利,创新收购Aureal后,A3D的一些先进算法被导入到EAX当中。7 a( h% }5 v3 l+ K# j
OpenAL
8 [9 p' v0 S. i; m8 i

7 F) d! o- x) i5 A8 C: R' p$ v( r# i) k9 Q' V: [2 ^2 y
OpenAL 标志
. F& M) t# m% a; L' @9 @
7 M; U9 q9 H+ e8 D: i- T! a  O! c' c3 y# z3 U* A
OpenAL是一个免费的跨平台的音频3D API,由Loki Software开发,但Loki Software没多久就倒闭了,自由软件社区接手进一步的开发,现在的实际主导者就是Creative。由于Vista放弃对DirectSound 3D硬件加速的支持,Creative也陷入尴尬境地,要让EAX继续发展下去,只能加强对OpenAL的支持。Creative希望在OpenAL的基础上重构EAX,要实现这一步并不难,但真正要广泛应用,还需游戏厂商的大力支持。时至今日,OpenAL的被支持力度仍旧比不上当年的DirectSound 3D,Creative要重现辉煌,尚需时日。但如果努力获得成功,可能获得极大的收益,因为OpenAL是唯一一个跨平台的API。* U& A5 u/ W" s* T( Q7 M
WDM
; C  Z5 v5 E1 J9 qWindows driver module。这是Windows 98 SE/ME/2000的一个新特征,WDM驱动推出后,人们发现以前不支持多音频流的声卡都能播放多个音频流了。WDM也可以算是一套API,通讯的对象是驱动程序而不是普通的应用程序,只要驱动支持WDM,会增加不少功能,例如通用的软波表等。在输入输出方面,WDM比MultiMedia Extensions和DirectSound都要好点,现在几乎所有没有被淘汰的声卡都支持WDM。WDM可以让声卡的延时大大降低,某些时候甚至可以媲美ASIO,在一些专业的音频编辑创作软件中,已经对WDM提供了支持。
2 V$ C/ J) J& z* \% @! pASIO& C/ N" p; c( i$ }  _; [8 T
即Audio Stream Input Output,这是一套带有专业色彩的API,名字就说明问题,是一套专门负责输入输出的API。在专业创作的时候,一点平时并不起眼的延时都会严重的破坏创作情绪,当按下琴键后需要几百毫秒才能有所反应的话,会是一个什么样子的感觉。ASIO因此诞生,音乐制作软件Cubase VST的开发者Steinberg公司提出了被称为Audio Stream Input Output的标准规范,ASIO完全摆脱了Windows操作系统对硬件的集中控制,它能实现在音频处理软件与硬件之间进行多通道传输的同时,将系统对音频流的响应时间降至最短。这套API在普通播放和录音时并没有大的优势,因此也不是太多声卡支持。
, D/ v- k) m% L6 M! u+ KKernel streaming' J9 H- T% d3 o% D
中文意思就是内核流,这是一种直接访问底层数据的方式,它可以绕开系统的混音器(Mixer)等“重重关卡”,直接与声卡通讯,这使得输出效率得到提高,输出延时降低。这与ASIO的原理有些相似,但Kernel streaming并不支持输入。0 u% g0 E0 {  c  d3 H" w  R- J: ?
UAA5 A8 ?* u4 D% i* C' {9 }
这是Vista推出一套新的驱动模型,全称Universal Audio Architecture,意思为通用音频架构。Microsoft认为声卡厂商的驱动质量良莠不齐,导致系统不稳定,因此对驱动模型做了修改。
2 ~6 F- u% `7 l+ Z5 h8 _" T0 U  Y: P8 jUAA主要包括三个部分
' w) e7 ]  o" r- ]  V0 tMultimedia Device API - 多媒体设备API
: T$ w( o7 M( M. G8 ^Device Topology API - 设备拓扑API,获取设备的功能布局
0 b% s' }6 f$ T: Q  e; z1 m! R1 r* dWindows Audio Session API (WASAPI) - Windows音频对话API,例如同时启用Foobar2000和QQ,Windows会认为这是2组对话(Session),每组对话能单独的进行控制,这种新功能取代了老旧的混音器(Mixer),而混音器一直被发烧友认为是对音质有着劣化影响的,因此WASAPI被认为对音质有提升帮助。WASAPI在延时方面也有改善,相比老的驱动模型,它变得更加“迅速”。' s+ }! [) n1 [7 e* g
以及其他一些新特性,UAA理论上能增强音频子系统的稳定性,但它对声卡厂商的打击也是非常巨大的,很多厂商跟不上Microsoft的脚步,新驱动迟迟不能发布。
% o) h+ c% g8 X% w& F, @2 U( D8 P! e
仅供学习交流之用,版权归原作者公司所有,! L8 \+ `' U: J8 t* |
不可用于商业盈利用途,否则一切后果自行承担!
* ]/ O; D9 M0 X9 s
您需要登录后才可以回帖 登录 | 立即注册

在线咨询
回顶部