|
楼主 |
发表于 2009-9-5
|
三、三维音效概念谈
* u h6 o+ q0 G* S 作为时下众多声卡追求的新兴技术,下面我们就来仔细看看被炒得火热的三维音效,究竟有哪些奥秘。
& R1 g4 \: t4 j* z! |9 v% ? h 1.3D音频API与HRTF的区别与关系
5 q4 m7 D5 L" {2 G, a, m8 A0 O6 { API是编程接口的含义,其中包含着许多关于声音定位与处理的指令与规范。它的性能将直接影响三维音效的表现力。如今比较流行的API有Direct Sound 3D、A3D和EAX等。而HRTF是“头部相关转换函数”的英文缩写,它也是实现三维音效比较重要的一个因素。简单讲,HRTF是一种音效定位算法,它的实际作用在于欺骗我们的耳朵。眼下有不少声音芯片设计厂商和相关领域的研究部门参与这种算法的开发和设计工作。虽然原理大同小异,但由于在分析和研究过程中的手段稍有不同,所以各类HRTF算法之间也会有或多或少的性能差异。人们很容易将API与HRTF混淆起来,其实两者有着本质的区别,也有相互的联系。 O5 r! q2 |7 |/ Z3 M9 J) |# |
举一个例子:A3D是时下最为流行的3D音频API之一,眼下大部分主流PCI声卡都表示支持A3D 1.0。但是有些用户会反映,为什么我的这块XXX声卡号称支持A3D,但实际效果却为何不如朋友的那块DIAMOND S90?原因就在于,S90采用Aureal自己的AU8820芯片,采用的HRTF算法自然也就来源于Aureal;而XXX声卡没有采用AU8820芯片,而采用了其他的HRTF算法,虽然也可以支持A3D的函数变化,但由于算法的先天不足并且需要经过函数转化,在效果上自然就不能和S90相比了。因此眼下许多声卡称自己支持A3D、EAX和DS3D,这只能表明它支持这些规范与指令,究竟实际效果如何,还要取决于芯片所采用的HRTF算法。在选购声卡前了解一下其芯片采用何种HRTF算法对于最终三维音效的实现能力是非常重要的。
. v' K1 X$ h0 m# {* S' x ~3 g4 w9 s. p 2.主要的3D音频PAI1 o' _% Z, w+ V- {6 |! D
(1)Direct Sound 3D——源自于Microsoft DirectX的老牌音频API。对不能支持DS3D的声卡,它的作用是一个需要占用CPU的三维音效HRTF算法,使这些早期产品拥有处理三维音效的能力。但是从实际效果和执行效率看都不能令人满意。所以,此后推出的声卡都拥有了一个所谓的“硬件支持DS3D”能力。DS3D在这类声卡上就成为了API接口,其实际听觉效果则要看声卡自身采用的HRTF算法能力的强弱。
8 A3 r8 _8 r- }3 K9 y+ { (2)A3D——美国Aureal公司所开发,分为1.0和2.0。1.0版包括A3D Surround和A3D Interactive两大应用领域,特别强调在立体声硬件环境下就可以得到真实的声场模拟。2.0则是在1.0基础上加入了声波追踪技术,进一步加强了性能,它是当今定位效果最好的3D音频技术。
" u; t, D% i: H a9 z% [0 R' D (3)EAX——是CREATIVE的新招牌,意为“环境音效扩展集”。EAX是建立在DS3D上的,只是在后者的基础上增加了几种独有的声音效果指令。EAX特点是着重对各种声音在不同环境条件下变化和表现进行渲染,对声音的定位能力不如A3D,所以EAX建议用户配备4声道环绕音箱系统。
& {3 p( ~ h4 f& u$ _ l 3、主要的HRTF算法。- Y, [2 ^4 E4 O/ l
诸如Aureal和Creative这样的大公司,他们既能够开发出强大指令集规范,同时也可以开发出先进的HRTF算法并集成在自己的芯片中。下面给大家介绍的CRL和QSound则是主要出售和开发HRTF算法的,自己并不推出指令集。
2 \, D5 ?8 i" S% J: i CRL开发的HRTF算法叫做Sensaura,支持包括A3D 1.0和EAX、DS3D在内的大部分主流3D音频API。并且此技术已经广泛运用于ESS、YAMAHA和CMI的声卡芯片上,从而成为了影响比较大的一种技术,从实际试听效果来看也的确不错。而QSound开发的Q3D可以提供一个与EAX相仿的环境模拟功能,但效果还比较单一,与Sensaura大而全的性能指标相比稍逊一筹。
7 \' k7 @* V0 u' C, h 四、关于MIDI7 v! g+ i( z7 }, k8 f6 _
MIDI是电脑音乐的代名词,问世于80年代初。MIDI究竟是什么?下面让我们来共同探究。& m, I0 e1 \4 y9 |6 }: _
1.MIDI的概念7 f1 |: _8 ~: T( \% G. s
MIDI是Musical Instrument Digital Interface的简称,意为音乐设备数字接口。它是一种电子乐器之间以及电子乐器与电脑之间的统一交流协议。我们可以从广义上将为理解为电子合成器、电脑音乐的统称,包括协议、设备等等相关的含义。
& k4 S8 E" a; t 2.MIDI文件的本质
8 w! m% H% d# b. H6 S7 M/ u; P 眼下在一些游戏软件和娱乐软件中我们经常可以发现很多以MID、RMI为扩展名的音乐文件,这些就是在电脑上最为常用的MIDI格式。MIDI文件是一种描述性的“音乐语言”,它将所要演奏的乐曲信息用字节表述下来。譬如“在某一时刻,使用什么乐器,以什么音符开始,以什么音调结束,加以什么伴奏”等等,所以MIDI文件非常小巧。( Y% |0 \) N7 G6 ?6 _: M4 g
3.FM合成0 j- }: B/ J& z n
既然MIDI文件只是一种对乐曲的描述,本身不包含任何可供回放的声音信息,那么一首首动听的电脑音乐又是如何被我们的声卡播放出来的哪?这就要通过形式多样的合成手段了。早先的ISA声卡普遍使用的是FM合成,既“频率调变”。它运用声音振荡的原理对MIDI进行合成处理。但由于技术本身的局限,加上这类声卡采用的大多数为廉价的YAMAHA OPL系列芯片,效果自然不好。
5 O- w" g( z" w( a/ U 4.波表合成
% i9 G6 j" [8 [1 T9 b1 K/ H 波表的英文名称为“WAVE TABLE”,从字面翻译就是“波形表格”的意思。其实它是将各种真实乐器所能发出的所有声音(包括各个音域、声调)录制下来,存贮为一个波表文件。播放时,根据MIDI文件纪录的乐曲信息向波表发出指令,从“表格”中逐一找出对应的声音信息,经过合成、加工后回放出来。由于它采用的是真实乐器的采样,所以效果自然要好于FM。一般波表的乐器声音信息都以44.1KHz、16Bit的精度录制,以达到最真实回放效果。理论上,波表容量越大合成效果越好。
" k! Y R% S5 x3 U; | 5.复音数的含义
( W/ _- F# K: p3 _$ c" m n 在各类声卡的命名中,我们经常会发现诸如64、128之类的数字。有些用户乃至商家将它们误认为是64位、128位声卡。其实就现在的技术发展状况而言,声卡更本没有发展到,也没有必要发展到如此高的数据处理通道,64、128代表的只是此卡在MIDI合成时可以达到的最大复音数。所谓“复音”是指MIDI乐曲在一秒钟内发出的最大声音数目。波表支持的复音值如果太小,一些比较复杂的MIDI乐曲在合成时就会出现某些声部被丢失的情况,直接影响到播放效果。好在如今的波表声卡大多提供64以上的复音值,而多数MIDI的复音数都没有超过32,所以音色丢失的现象不会发生。
& c6 ^5 i/ U* e; \ 另外需要注意的是“硬件支持复音”和“软件支持复音”之间的区别。所谓“硬件支持复音”是指其所有的复音数都由声卡芯片所生成,而“软件支持复音”则是在“硬件复音”的基础上以软件合成的方法,加大复音数,但这是需要CPU来带动的。眼下主流声卡所支持的最大硬件复音为64,而软件复音则可高达1024,令人炸舌吧!. F5 Z" o: s5 b7 p/ t0 h$ P
6.DLS技术的作用
0 l" K, z$ J- y2 k8 a5 } PCI声卡的问世和普及带来了波表合成的一次小小“革命”,其关键在于DLS技术的运用。DLS全称为“Down Loadable SAMPle”,意为:可供下载的采样音色库”。其原理与软波表颇有异曲同工之处,也是将音色库存贮在硬盘中,待播放时调入系统内存。但不同点在于运用DLS技术后,合成MIDI时并不利用CPU来运算,而依靠声卡自己的音频处理芯片进行合成。其中原因在于PCI声卡的数据宽带达到133Mb/秒,大大加宽了系统内存与声卡之间的传输通道。从而既免去了传统ISA波表声卡所要配备的音色库内存,又大大降低了播放MIDI时的CPU占用率。而且这种波表库可以随时更新,并利用DLS音色编辑软件进行修改,这都是传统波表所无法比拟的优势。 |
|