声卡芯片的过去与未来(上中下) 朱云 1999年 第29期 17版 #1上篇   想当年声卡还没有出现的时候,PC扬声器是电脑唯一能发声的部件,我们不得不忍受那种枯燥的音调,玩游戏时也只能听到刺耳的音乐和几乎无法辨别的模拟人声。也许有不少玩家还记得在Windows 3.x中用“Icon Here It”等软件通过PC扬声器模拟声卡的痛苦经历,那时我们多么羡慕那些虽然简陋却非常昂贵的第一代声卡。 #1 一、从8位单声道到16位立体声   最初的声卡都是8位单声道的,虽然比PC扬声器强了不少,而且已经可以通过FM合成的方法模拟各种真实声音的频谱结构,但比起16位立体声的CD标准来说,仍只不过是玩具而已。初期的声卡行业一片混乱,充斥各种我们早已无法记得的商标和互不兼容的产品。最初为声卡定下标准的是Adlib的8位单声道“魔音声卡”,但是由于创新的Sound Blaster 8位单声道“声霸卡”后来居上,凭借一流的质量和相对完备的功能一举统一了声卡市场。从此以后,所有的声卡都以“兼容Adlib和Sound Blaster”为己任。之后创新又推出了立体声的Sound Blaster Pro,其他大大小小的公司则忙着卖各种兼容卡,包括单声道录音、立体声回放的“准立体声”声卡。   创新再接再厉,推出的Sound Blaster 16终于使声卡达到了“CD音质”,16位立体声的数字音频让我们大开眼界,但其复杂的电路结构带来的高价也让我们望卡兴叹;后来创新为了降低成本,又出了一款以声卡专用芯片Vibra 16为核心的新款Sound Blaster 16。在这之前,声卡一般都是由多种通用型IC制造而成,以便于设计和改款,专用芯片的出现标志着声卡市场的成熟。YAMAHA公司出色的产品尽管没有能够改变大局,但它的YMF 262(OPL3)FM合成芯片也为业界留下了一个声卡标准——OPL3。兼容卡厂商当时由于技术跟不上,只能大炒本质是8位的所谓“准16位”声卡,直到以ESS 688为代表的真正16位的兼容芯片出现,才带来了16位声卡的普及。这一档次的兼容声卡芯片一般均可兼容Adlib、Sound Blaster Pro或16、OPL3和MPU-401外部MIDI接口等标准,比较常见的有:ESS的一大堆以8/9结尾的ISA芯片,YAMAHA的OPL3系列,Avance logic的ALS 007系列,OPTi的82c929/30/31系列等等。   就这样过了很久,声卡领域也没有什么大变化,这是由于数字化音频信号的位数从16位再提高有较大困难,波表合成技术比FM合成技术的音色更逼真,但是成本高很多。创新率先使用后来成为其子公司的E-mu生产的EMU 8000生产了AWE 32和AWE 64波表合成声卡,这里的32和64不再表示数字音频的位数,而是表示32和64种复音的波表合成技术,当然这两种声卡的价格仍然较高。其他公司也在研究波表合成技术,但由于其成本太高,市场上绝大多数声卡仍然停留在Sound Blaster 16的水平上,只是价格越来越低、音质有所提高。这时使用兼容芯片的声卡还常常加上一些诸如假3D(用普通运放搭建的)电路,甚至SRS、QSound和Spatializer等在音响领域中比较著名的3D效果增强专利电路来赢得顾客。   这时市场上常见的声卡芯片除了型号数不清的ESS系列外,还有YAMAHA的OPL4系列、AvanceLogic的ALS 100系列、Analog Device的AD 1815/1816系列,连音响IC名厂Crystal也全力加入了战团。 #1 二、从ISA到PCI   直到AC′97标准实施,声卡芯片终于可以抛开ISA总线上那些恼人的DMA和IRQ设置,以不可阻挡的趋势向PCI总线转移。这一次倒是兼容芯片厂商们领先了,凭借PCI总线的高带宽,可以将波表数据存于系统内存中让声卡调用,而不必像从前那样用相对昂贵的存储器存在声卡上,一时间各种品牌芯片的波表合成PCI声卡充斥了市场。这一档次比较有代表性的声卡芯片有:Ensoniq生产了十分常见的ES 1730/1731;YAMAHA著名的YMF 724有出色的XG波表合成技术;ESS的Solo系列和Maestro 1集成了Spatializer 3D效果增强技术;Crystal的CS 4280使用了SRS 3D效果增强技术;一向以低价位显示芯片出名的Trident公司的4D Wave则内置QSound 3D效果增强技术;还有廉价的Avance Logic的ALS 200/300系列以及显示芯片巨头S3的客串产品Sonic Vibes等。由此可见,PCI总线的流行不但带来了低价的波表合成功能,几乎所有著名的音响用3D增强专利都被拿来武装声卡了。然而过不了多久,3D增强技术已经远远不敷使用,声卡就紧随着显示卡的步伐大踏步进入了3D时代。 #1 三、进入交互式3D时代   声卡发展到PCI加波表合成这一步,由双声道立体声向多声道环绕声的发展就显得格外迫切了,因为同时期的家用音响设备已经基本转向多声道环绕声的家庭影院系统,而且随着DVD-ROM的普及,回放DVD影片时的Dolby Digital(AC-3)5.1声道信号的解码也提上了日程。所以近年来声卡的目标是不但要具有多声道输出,而且必须有可以由程序控制的交互式环绕效果,最好还要有Dolby Digital(AC-3)的解码功能。 由于可编程的交互式环绕声需要API的支持,微软的Direct Sound 3D又没有被广泛接受(主要是创新和Aureal执意开发自己独特的技术),各3D声卡芯片厂商如同3dfx当年创立Glide API时一样,不得不自行开发互不兼容的PC用3D音频规范和API。   第一代交互式3D音效芯片追求的是3D音效的基本目标——进行声源的方向感定位,不论是使用双声道还是四声道实现,运算量都还不是太大。这一代的产品主要是以A3D 1.0技术为主流:Aureal 公司是A3D专利技术的持有者,其第一代芯片AU8820(Vortex 1)是标准的A3D 1.0芯片,基本上使用完全硬件的方法实现3D算法,虽然软件升级性能不佳,但可以有最快的速度和较低的CPU占用率,帝盟公司一开始就很热衷于使用A3D技术生产声卡,A3D也就成了帝盟声卡的“看家技术”;Ensoniq的ES 1370/1371也是运算能力较强的芯片,创新一开始使用它们生产最初的PCI声卡,后来Ensoniq成为继E-mu之后被创新收购的又一个以开发芯片技术为主的子公司,ES 1371/1370以及现在整合主板上比较常见的ES 1373都可以软件升级支持A3D 1.0,而且还可以支持创新自己的EAX技术的3D方向定位部分;通过软件升级可以实现A3D 1.0的芯片还有Crystal的CS4614和Trident的4D Wave系列,4D Wave-NX据称还可以兼容EAX中的3D方向定位部分;当然还由一些公司更青睐微软的Direct Sound 3D,并使用Central Research Labs的Sensaura 3D定位算法专利来实现,尽管Sensaure并不十分普及,但YAMAHA的YMF 724E-V和ESS的Mastro 2系列无疑让我们看到了通用性API和技术兼容产品的希望。 #1 四、第二代交互式3D   使用第一代3D定位技术的产品很快就让人感到不足了,首先是仅仅将某种声音按照一定比例分配到各个声道中去,并不能保证听者感觉到它的应有位置(通常声音会出现在扬声器附近不肯离开),这既是扬声器水准的限制,又会受到扬声器位置和周围环境的影响;另一方面,3D音效所需要的包围感和空间氛围也不是初级的3D定位和多声道系统所能提供的。   因此第二代交互式3D音效芯片很快就出现了,这第二代技术是前沿的声学、音响技术在PC平台上的全面展现,重点是如何全面地实现360°环绕效果和虚拟现实的环境氛围,途径就是尽量完整、精确地实现HRTF(头部相关音频传递函数)算法。创新的EMU 10K1就是一块处理能力极强的芯片,其EAX 3.0环境音效API在4个声道上都实现了基本的HRTF算法,加上创新完善的声音处理技术和软件升级的潜力,达到了PC上前所未有的音响效果,终于又为创新夺回了领先地位;Aureal的AU 8830(Vortex 2)芯片则基本上用硬件方法弥补了处理能力的不足,实现了A3D 2.0 API及其崭新的A3D环境音效,尽管只在左右主声道上配备了完整的HRTF算法,但A3D独特的技术和品牌号召力使其成为EMU 10K1的强劲对手;这一次Direct Sound 3D阵营也绝不手软,几乎同时推出了使用最新的Sensaura MultiDrive技术的环境音效产品,ESS的Canyon 3D就是一例,YAMAHA的“新贵”YMF 740很有可能也会配备该技术。   至此,我们可以看出3D音效芯片之战已经变成了API及其对应技术的标准之争:EAX 3.0和A3D 2.0分别是创新和Aureal独有的API,尽管独有的技术可以带来更高的利润和阻止竞争者,但不开放的环境带来的阻力必须要有市场垄断的力量才能克服;Direct Sound 3D这个标准的API和Sensaura MultiDrive开放的技术尽管暂时还不能与声卡领域一手遮天的创新和3D音效先行者Aureal相提并论,但无疑开放的平台更容易吸引硬件和软件开发者。当初3D显示芯片行业中API和标准整合的历史会不会在3D音效芯片市场重演,且让我们拭目以待。 #1中篇 #1 一、声卡的结构体系 声卡的结构体系并不复杂,概括地讲可以分为:音效芯片/芯片组、音效CODEC(数字信号编解码器)芯片、功率放大芯片和波表音色库等几部分(如^301701a^所示)。 其中,音效芯片/芯片组是声卡的核心,它的功能是对数字化的声音信号进行各种处理。音效芯片能够使用的数字音源有以下几种:首先是普通音频信号(包括WAV文件、CD唱片)或由CODEC芯片或S/P DIF接口送来的信号,因为未经压缩处理,数据量十分惊人;其次是MIDI,MIDI是一系列生成音乐的指令,由芯片接收后运用FM或波表合成等方式合成音乐,数据量较少,易于存储、传输;其他的数据格式,如Dolby Digital(AC-3)和DTS(数字影院系统)数据流等,也得到部分芯片的支持。音效芯片的处理功能有:一是混音,即将多个不同的音频数据流合二为一,再通过CODEC变为音频放出来;二是特殊音效的处理,如简单的高低音调调节功能或较复杂的3D声像扩展功能,至于3D声源定位和环境音效的处理更是运算密集型工作。所有这些数据处理工作都由芯片上的控制核心配合DSP(数字信号处理)核心来完成。近来的音效芯片还往往集成了S/P DIF数字信号的接口,可以传输较长距离的数字信号。另外,很多芯片还具有ACAPI、APM等高级电源管理功能。 音频CODEC芯片是声卡的另一个重要组成部分,它负责将模拟信号转换为数字信号的A/D转换和数字信号转化为模拟信号的D/A转换。声卡上的CD In、Line In、MIC In等线路电平输入和Line Out等线路电平输出都是通过CODEC来实现的,所以声卡音质的高低很大程度上取决于它的品质,比如声音的幅值和相位的准确度、信噪比、动态范围等。 功率放大芯片则是廉价声卡常常省去的部分。声卡上的功放一般功率都不太大(2W~10W),由于电源功率不足和空间、散热等的限制,音质也不会太出色,但高档声卡上的功放并不输给普通有源音箱内的功放,有条件的朋友不妨试试高效率的优质无源音箱。 MIDI使用的波表音色库是可选部件,因为波表数据既可存在卡上,也可存在系统内存中。 过去的声卡芯片也曾有过把音效芯片、CODEC芯片合二为一的产品,但AC ’97标准规定了现在这种分开的结构,原因也很容易解释:其一,模拟电路易受干扰,而数字电路恰恰是主要的噪声源,自然应将数字处理芯片同数模接口分开、越远越好;其二,生产模拟电路和数字电路的工艺截然不同,要在一片硅片上同时集成这两种电路是困难而且矛盾的,所以当它们被分开后,不但可以各自提高性能,也使音效芯片可以极大地提高集成度。 #1 二、声卡芯片的技术分类 音频CODEC的分类十分简单,只有最初的8位单声道、8位立体声,通常的16位立体声以及多通道16位立体声,将来还会有多通道24位立体声(DVD音频标准)。一般而言,当然是位数越高、取样频率越高,精度就越好。同样是16位CODEC,则由信噪比、动态范围以及比较专业的时钟抖动等数据来区分其档次。音效芯片能够处理的数据位数自然也得与之互相配合。 音效芯片的技术指标包括:(1)声道数,最早的单声道芯片早已无处寻觅了,现在双声道立体声芯片也很便宜,冉冉上升的新星是多声道环绕声芯片;(2)采用的总线形式,ISA因其落后的IRQ、DMA设置方式被迅速淘汰,PCI总线的音效芯片正日渐替代ISA产品;(3)MIDI合成方式,分为从简单的用几个单音(正弦波)来模拟乐器声音的FM合成方式、十分耗费CPU处理能力的软件波表合成方式,到由具有复杂频谱的接近真实乐器声音的硬件波表合成方式。(4)3D音效,3D音效红透半边天虽然只是近年来的事,但实际上具有3D功能的声卡由来已久。开始是用廉价的运放把音频信号加加减减以达到立体声加强和展宽的目的,但效果差,而且会让两个声道的声音串来串去、含糊不清;后来出现SRS、QSound和Spatializer等模拟方式处理的3D立体声增强电路,可以输出比较宽大、清晰的音场;而真正的第一代3D音效出现,才使我们可以利用多声道(双声道效果差些)系统进行360°的全方向、有距离的音源定位;现在的第二代3D音效则引入了环境效果,可以有更完整的环绕、包围感觉,甚至会有音源高度的感觉。 声卡系统的硬件实现方法也有很多。首先,CODEC芯片是少不了的,因为目前计算机处理的数字信号无论如何也得变成模拟信号才能从扬声器中放出声音来(即使是USB音箱也还是使用了音箱里的CODEC);其次,对于音效芯片,最廉价可以用CPU代替,尽管比较耗费CPU的运算能力;用通用型IC制造声卡则比较类似于prototype(试验型号),虽然灵活性高,但由于IC数目多、又要使用性能较高(甚至过高)的DSP芯片,所以成本很高(例如MX 200声卡);专用芯片是最普遍的,这又分为两种,一种是部分处理程序(如BIOS等)可升级的芯片,其核心是较有灵活性的DSP(例如Emu 10k1),另一种是全部程序基本固化,而核心是具有专门目的、专用连线的DSP(例如Vortex 1/2系列),虽不甚灵活、但速度一流(就像3Dlabs的Gamma硬连线几何加速芯片一样)。从市场上的产品和走势可以看出,以部分程序可升级的专用IC最多见,也较易取得市场优势。 #1 三、3D音效的原理 为什么我们能用几个扬声器(5.1声道、4.1声道、5声道、4声道、甚至2声道)回放出接近于真实世界的各种声音和音乐效果?这就要从人类听觉产生的原理讲起。 简单地说,人的耳朵类似于两个拾音器。单个拾音器与眼睛的简化类比——照相机不同,它无法分辨声音的方向和距离,只能判断声音在各种频率下的大小(幅频特性)和声音在各个频率下的时间先后(相频特性)。在有两个拾音器的简化模型中,人只能通过两耳听到的声音的大小差异和时间差异来分辨出声源的远近和方向,而且这个方向仅仅是从左到右的180°内的方向,说180°是因为单凭这个模型理论上无法分辨前后方向的差异。 那为什么我们能分辨出前后上下的声音呢?这就要讲到音响界几十年来最大的研究成果之一——HRTF算法(Head Reference Transmition Function,头部相关传递函数)。简而言之,HRTF就是耳朵对从空间各个方向传来的声音有不同的感受。这主要是因为耳廓的“奇异”形状加上外、中、内耳通道的结构和周围头部组织的各向异性结构对不同方向的声音有着不同的机械滤波作用,从而使外来声音的幅频和相频特性的频谱结构有所改变(就是不同频率的声音的大小比例、先后次序产生了变化),所以乐器或物体的声音(包括人声)在不同的方向上显得有所不同。从婴儿时期起人们就逐渐学会了利用这些不同来分辨声音的方向。 第一代3D音效芯片就是将声音信号进行数字滤波,使该在后面的声音具有后面声音特有的频谱结构,使该在扬声器外面的声音显得如同它就在外面一样,这样就产生了距离的感觉。因为运算能力的问题,第一代3D音效芯片只能做到近似的HRTF算法,因此效果一般,还很可能因为扬声器质量或环境问题而大打折扣。 第二代3D音效芯片,一是使用了更复杂、更精确的HRTF算法,方向和距离感自然更强烈;二是添加了初步的环境因素。 关于用HRTF算法来计算环绕声使用几个声道最合适这个问题,可以这么考虑:在双声道时我们必须凭从前面听到的不同声音把它想象到后面去,人脑的“处理能力”消耗过大,是不是连玩游戏都要分神了?最简单的多声道是4声道,这样每个扬声器只负责90°左右的方向,HRTF更容易使它们的声像展宽到应有的范围,全频带的4声道系统是比较理想的选择。考虑到带有低音炮(subwoofer)的卫星式扬声器系统的性价比更高,4.1声道系统就比较完美了,当然5.1系统再添上了一个中置声道处理人物对白,更适合影视迷们。 #1下篇 #1 一、要厂商及其主力产品 新加坡Creative(创新)公司既是声卡市场的缔造者,又是最重要的声卡芯片制造厂商之一。创新下属的两个芯片设计子公司分别为E-mu和Ensoniq。其中E-mu为创新设计出了旗舰级芯片EMU 10K1,该芯片具有多达512复音的波表合成能力、支持48个MIDI通道、128种乐器和10种鼓声,在3D音效方面具有最新的3D定位和EAX环境音效功能。EMU 10K1仅被使用在SBLive!、SBLive!Value和PCI 512这三款创新自己的高档声卡上。刚被创新并购不久的Ensoniq公司是开发PCI声卡的先驱之一,主力产品是ES 1373,性价比较高,ES 1373除了用于创新的中低档产品外,还被广泛用在集成声卡的主板上。由于创新不对外出售EMU 10K1芯片,ES 1373又非顶尖产品,所以创新在声卡芯片市场上的影响力并不如它的名声那样大。 Aureal是最早研究3D音效的厂商之一。它开发的A3D专利恐怕是最早实用化的3D音效技术及API(应用程序编程接口)了。Aureal现今的旗舰芯片是AU 8830(Vortex 2),基本上使用全硬件方式实现3D算法,尽管没有EMU 10K1的超强处理能力,但在波表合成、3D空间定位与A3D环境音效方面均有可同EMU 10K1一较高低的能力。由于Aureal采取开放的态度出售AU 8830芯片,所以其他生产高档声卡的大厂基本上都采用它生产顶级型号产品,如帝盟的MX300等等。 日本Yamaha本来就是制造乐器起家的公司,在专业音乐器材(尤其是电子乐器)领域有着不可动摇的地位。虽说Yamaha的声卡芯片一直不算很成功,但还是树立起了像OPL 3(FM合成)、OPL 4(波表合成)这样的技术标准,这是除了创新的Sound Blaster声卡系列外,兼容声卡芯片仿效最多的规范。因为Yamaha新一代主力芯片YMF 740的技术资料还未正式公开,现在我们仍然只能通过YMF 724F-V(DS-1)来探讨Yamaha的实力:首先,最新版本的YMF 724F-V集成有XG波表合成,正由于有了可以同Roland(另一家著名的专业音乐器材公司)的GS相抗衡的XG扩展MIDI规范,Yamaha是唯一可以不羡慕创新的Sound Font波表技术的厂家。YMF 724F-V硬件合成的XG音乐自然是感染力出众。其次,在3D音效方面,YMF 724F-V使用的Sensaura算法实现DirectSound 3D的3D定位功能,效果虽不出众,但相对于它的价格也算物有所值。市场上使用YMF 724系列芯片的声卡多如牛毛、销量巨大,正因它低廉的售价,使YMF 724F-V成为低价音效芯片中的佼佼者。 ESS Tech从16位声卡的时代起就是创新的老对手了,ESS也一直是兼容芯片的“领头羊”。也许正因如此,ESS的声卡芯片产品线一向长得惊人,型号命名也令人头大。还好这次ESS另起炉灶,为新产品起了一个响亮又好记的名字——Canyon 3D。Canyon 3D是一块波表合成的3D音效芯片,由于使用了新一代Sensaura Multi Drive专利算法来实现Direct Sound 3D,能够较为完善地支持3D定位和先进的环境音效。 Crystal是模拟、数字音频领域内的一家名厂。Crystal同著名的Cirrus公司合并后如虎添翼,在PC音频领域内首先推出单片波表合成芯片、首先推出PCI总线的声卡芯片。当前Crystal的主力产品是高性价比的CS 4622,虽然使用Fab Labs技术的波表合成功能,加上普通的3D定位系统并不能令人吃惊,但完整的Dolby Digital(AC-3)解码功能一定能吸引那些想完全享受DVD效果的朋友。 提起Trident公司大概没有人会说不知道吧。近来Trident在显示领域不甚得志,但在3D音效芯片方面倒是有所建树,其4D Wave系列芯片的知名度还是很高的。最新的4D Wave-NX有完善的波表合成功能,加上利用QSoft3D算法实现的DirectSound 3D标准的3D定位与环境音效,使4D Wave-NX具有同AU 8830接近的3D音效处理能力,而且Trident相对先进的生产工艺和合理的定价风格,无疑会让4D Wae的商标会更响亮、更吸引人。 台湾的C-Media(骅讯)不是很有名,但它的CMI 8338/8738系列最近在主板上的“出镜率”很高。C-Media的主力产品是支持多声道3D音效的CMI 8838-4S:支持硬波表、使用Sensaura算法实现的DirectSound 3D,还有A3D的3D定位效果,常常作为ES 1373的廉价替代IC。而CMI 8738是CMI 8338再添上MODEM功能的多功能芯片。 同样是台湾的Avance Logic,它生产的廉价芯片,很多人都见过、用过,说到产品性能那只能是对得起售价。但是Avance Logic的ALS系列声卡芯片的目标就是要以最低的价格提供可用的产品,这种为“底层”用户着想的努力是很值得关注的。最新的ALS 4000芯片终于有了3D音效、64复音的硬波表、DirectSound 3D的3D定位,我们应该为廉价芯片的在技术上大的进步感到高兴。 #1 二、声卡芯片的发展趋势 正如不断3D化的PC显示部分一样,声卡一旦进入了3D时代,迅猛的发展和激烈的革新就变得层出不穷,也不可避免。 更好的多声道3D音效显然是主要的发展趋势,因为现有最好的3D音效芯片也只能提供粗糙的3D方向感和非常模式化、简单化的环境因素(尽管都比没有3D时强很多)。在难以增加声道数的情况下,HRTF算法是提高3D真实感和准确度的最佳方案,然而要达到完全精确的HRTF处理就像要得到完全真实的3D视觉环境一样可望不可及。所以今后3D音效芯片的一大任务就是不断提高HRTF算法和环境模型的精度,为用户提供接近真实的PC环绕声享受。 随着DVD的普及,声卡CODEC(编码解码器)也会逐渐提升到24bit/96KHz取样频率的标准。24bit/96KHz是音频DVD的标称规格,这一档次的D/A、A/D转换失真已经小得让人耳难以分辨,在音乐中几乎不会丢失什么细节。当然,声卡CODEC水平的提升还是任重道远的,这是因为计算机内强烈的电磁干扰会影响CODEC的工作,导致信噪比和动态范围的降低。 MIDI合成永远是声卡的一项重要功能,现有的硬件波表合成技术已经比较完善了,要想进一步提升效果,接近专业MIDI合成器的水准,只能从真实度方面入手:更复杂、更拟真的波表数据,将使波表音色库的每组数据从2/4/8MB逐步提高,声卡上的内存也一定不够用,只能作为波表数据的Cache使用,DLS标准的可下载音色库占用的系统内存也不仅仅是现在的SBLive!那样最多32MB,而是更大。(^321701a^) 声卡的体系结构也会越来越多样化,一方面高档优质声卡仍然会受到PC发烧友和制作音乐、喜爱音乐的朋友的欢迎。另一方面中低档声卡因为竞争则会越来越便宜、性价比不断提高。更便宜的是主板上集成的PCI声卡甚至软声卡,但可升级性差一些;内置音效功能的USB音箱暂时还看不出有替代声卡的倾向,尽管它受的干扰较小、体系结构简单,但仍有升级不便、价格暂时降不下来的问题。 不论未来的声卡芯片要走向何方,我们都要感谢它带来了美妙的PC音乐和真实的音效环境。