天地Music

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

声卡入门·说说音频API

[复制链接]

698

主题

0

好友

791

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2012-7-28 20:19:02 |只看该作者 |倒序浏览
一般程序如果需要指挥声卡干播放或者录制的活儿,就需要一个指令,不同的声卡干同样的活,却可能会有不同的指令或者不同的指令方法,为了统一调用的过程,于是出现了好几套API,API就是Application Programming Interface,应用程序编程接口的意思,有了API,可以抛开硬件去设计程序,因为不管什么声卡,只要能够支持该套API就可以用统一的指令去调用。9 s! z, ?$ B1 {- D! Z
MME; r6 G$ L  o) K  e- I5 |
MultiMedia Extensions,多媒体扩展,这是Windows平台最古老的API了,这是最为简单易用的一套API,直接包含在WinAPI或者 WinAPI32当中,编程序的时候只需调用WinAPI中相关的函数就可以实现播放和录制,实现输入输出功能。MultiMedia Extensions是一套高级的API,系统监管程度很高,流程也很长,因此响应速度并不快。所有能用于Windows平台的声卡都支持这套API,也是目前运用最为广泛,兼容性最好的API。
. D; b" E6 `& y* y6 e( r3 zDirectSound9 k! v0 e% m7 z4 {% v. w
) j8 V2 ?3 w& x# Y- t: p

8 a8 n2 V$ J% d% }7 UMicrosoft DirectX

0 L  U+ \0 c, [3 e- e9 W" p
1 G5 a" ]! M+ t1 c8 m1 A! z) ^4 n0 [9 A1 U1 r
Windows95发布后,微软发现游戏商还是乐意用DOS作为游戏平台,原因是游戏开发商发现Windows95并不适合执行视频和音频任务,因为WinAPI32包含的多媒体函数响应太慢了。微软于是推出了著名的DirectX,DirectX是一套视频音频API以及视频音频的DSP(效果器)API。DirectSound是其中的一部分,DirectSound有2D/3D之分,DirectSound有效果器函数,因此在输出的时候还可以加入回声等效果,用来仿真真实的声效环境。 DirectSound主要为游戏提供服务,在一些播放器以及音频编辑器上,DirectSound也被作为实时效果API使用。DirectSound 注重输出,输入方面并没有特色。只要硬件支持,DirectSound能够明显加速输出响应。Windows的音频输出响应速度提高到了一个新的档次。除了古老的某些声卡之外,几乎所有声卡都支持DirectSound,至少支持DirectSound 2D。
! S, \# D: Y4 l2006年11月,微软发布Windows Vista,Vista出人意料的放弃了对DirectSound 3D 硬件层(HAL)的支持,也就是说,那些支持DirectSound 3D硬件加速的声卡,通通失去了加速能力。最新发布的Windows 7继承了Vista的这个特性,DirectSound 3D硬件加速退出历史舞台。% h3 P& m; \! v, C2 v; ]
A3D: h/ @6 Q2 O3 f3 J
这一套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从此也就销声匿迹。
  q' `$ g1 q4 _5 N$ l. n3 qEAX' v8 {: |* J/ X2 u
EAX 即 Environmental Audio Extensions,环境音效拓展集,它算不上是一套独立的API,它是以DirectSound 3D为基础,构筑的一套3D API,它的开发者就是大名鼎鼎的Creative。Creative推出EAX是为了和A3D竞争,并最终获得市场的胜利,创新收购Aureal后,A3D的一些先进算法被导入到EAX当中。. e7 y3 M! p; i
OpenAL
4 U  C/ T. c9 ]) s

# ^  U& N' k+ O5 Z( Y; u8 f9 _/ S0 K6 B7 t6 P
OpenAL 标志
( ]& b7 W2 K' P( E& T' d- x6 M6 f- i4 F2 N# }; U. e5 t  _# @

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

在线咨询
回顶部