天地Music

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

声卡入门·说说音频API

[复制链接]

698

主题

0

好友

791

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2012-7-28 20:19:02 |只看该作者 |倒序浏览
一般程序如果需要指挥声卡干播放或者录制的活儿,就需要一个指令,不同的声卡干同样的活,却可能会有不同的指令或者不同的指令方法,为了统一调用的过程,于是出现了好几套API,API就是Application Programming Interface,应用程序编程接口的意思,有了API,可以抛开硬件去设计程序,因为不管什么声卡,只要能够支持该套API就可以用统一的指令去调用。
5 W; i" A  [* ]: S. _MME
2 _9 ^% ?, e  H. [5 Z# eMultiMedia Extensions,多媒体扩展,这是Windows平台最古老的API了,这是最为简单易用的一套API,直接包含在WinAPI或者 WinAPI32当中,编程序的时候只需调用WinAPI中相关的函数就可以实现播放和录制,实现输入输出功能。MultiMedia Extensions是一套高级的API,系统监管程度很高,流程也很长,因此响应速度并不快。所有能用于Windows平台的声卡都支持这套API,也是目前运用最为广泛,兼容性最好的API。: V: q# ~3 Z8 u$ ~, l
DirectSound
* P4 M2 ?$ s6 t; ~% k
/ v% J/ l* S% ^5 O/ r2 A0 e

+ I7 M' F9 \, CMicrosoft DirectX
; x- c5 \5 h. u* b8 o( q

  d: H) B! ~/ l9 p; g6 @  ?- B' O! x0 j
Windows95发布后,微软发现游戏商还是乐意用DOS作为游戏平台,原因是游戏开发商发现Windows95并不适合执行视频和音频任务,因为WinAPI32包含的多媒体函数响应太慢了。微软于是推出了著名的DirectX,DirectX是一套视频音频API以及视频音频的DSP(效果器)API。DirectSound是其中的一部分,DirectSound有2D/3D之分,DirectSound有效果器函数,因此在输出的时候还可以加入回声等效果,用来仿真真实的声效环境。 DirectSound主要为游戏提供服务,在一些播放器以及音频编辑器上,DirectSound也被作为实时效果API使用。DirectSound 注重输出,输入方面并没有特色。只要硬件支持,DirectSound能够明显加速输出响应。Windows的音频输出响应速度提高到了一个新的档次。除了古老的某些声卡之外,几乎所有声卡都支持DirectSound,至少支持DirectSound 2D。
* {2 `- A+ X) o4 d* s2006年11月,微软发布Windows Vista,Vista出人意料的放弃了对DirectSound 3D 硬件层(HAL)的支持,也就是说,那些支持DirectSound 3D硬件加速的声卡,通通失去了加速能力。最新发布的Windows 7继承了Vista的这个特性,DirectSound 3D硬件加速退出历史舞台。
* S" F) }7 \2 T4 fA3D
; @4 U! g/ S- o) e- e, E8 E这一套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从此也就销声匿迹。
$ C/ H8 R1 t6 d, _  ZEAX
& x% v3 f8 Y+ E! OEAX 即 Environmental Audio Extensions,环境音效拓展集,它算不上是一套独立的API,它是以DirectSound 3D为基础,构筑的一套3D API,它的开发者就是大名鼎鼎的Creative。Creative推出EAX是为了和A3D竞争,并最终获得市场的胜利,创新收购Aureal后,A3D的一些先进算法被导入到EAX当中。
! Y5 m# G9 r$ G5 h# r4 [OpenAL$ ~- i0 D0 x* h; l- S
3 k% |  c& l! |5 |2 O* f! q
- w+ J& B. B' W+ B5 z3 j1 y/ G) t! `, ?
OpenAL 标志
3 k) P8 m+ c1 ^; D8 @: X% V# w% d% ]8 A; J

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

在线咨询
回顶部