CPU也能唱出天籁之音
清琴雅鼠 于 2003.06.09 21:50:25 | 源自:计算机应用文摘 | 版权:转载 | 平均/总评分:10.00/20

本文原发表于《计算机应用文摘》,转载事宜请联系作者。
本文并非宣传AC'97软卡有取代硬卡之能力,文中观点仅供参考。

花开花谢,潮起潮落。这句话用来形容方兴未艾的IT产业似乎并不适宜;即便是我们现在身处于某些人所说的“后PC时代”又如何呢?产品还在发展,技术还在创新,新品还在层出不穷……不过相比于电脑其他配件红红火火的局面来,声卡就显得门庭冷落了:自从帝盟、傲锐等重量级厂商纷纷宣布退隐江湖以来,原本百花争艳的多媒体声卡领域就已经风光不再。当然,这并不意味着声卡技术的发展已经走上不归路了。正相反,自从AC 97规范成为业界标准以来,多媒体声卡的技术就一直在发展,并且出现了两大不同的发展趋势:一是将AC 97技术与传统的多媒体声卡技术有机结合并加以发扬光大,借助于性能更为强大的音效芯片为用户提供更为美妙动听的音效,走以硬(音效芯片)为主、软(驱动程序)硬结合的道路,这一派别以创新为代表;二是借助于日益强大的微处理器运算能力,让CPU取代传统声卡的音效芯片完成音频信号处理工作,同时借助于不断改进的软件音频技术、驱动程序,使电脑具有无穷无尽的音效变幻能力,走以软(音频技术、驱动程序)为主,以硬(CPU、Codec音频解码芯片)为辅的道路,这一派别以Intel为代表。其中后一种技术,就是我们俗称的“AC 97软声卡”技术,也是我们在这篇文章中主要讨论的对象。

追根溯源话AC 97

AC 97的全称为“Audio Codec 97”,意思就是“音频多媒体数字信号编/解码器”。这是由Intel、Analog Devices等有关厂商共同制定的音频电路系统标准,并已经得到了业界的广泛认可。AC 97是一种技术规格标准,简言之,它采用了双芯片架构,使ADC和DAC尽可能地保持相对独立,以求降低干扰,提高音质。现在市面上的多媒体声卡,除了CMI8738等少数例外,大都遵循AC 97标准,其中就包括大名鼎鼎的创新Sound Blaster Live!系列声卡。在这里我要澄清一点,很多朋友都将AC 97声卡与软声卡等同起来对待,或者把AC 97声卡与主板集成的声卡混为一谈,其实这些都是不正确的。我们从上面给出的AC 97声卡定义就已经看出,它仅仅代表一种音频处理技术而已,是一种抽象的规范,而不是指具体的声卡产品类别。那么所谓的AC 97软声卡,就是指用CPU取代传统硬声卡的音效处理芯片进行各种音频运算处理工作,然后将处理后的数字信号交由外置DAC或者板载Codec(硬件解码器)输出的一类产品。从目前的情况来看,AC 97软声卡主要是以主板集成的为主,但也有类似于传统硬声卡那样以独立板卡面目问世的产品,这类产品主要采用CNR接口,像瑞丽公司推出的CNR-SoundMAX声卡,采用了3颗AD1885 Codec协同工作,能够实现6声道输出效果;大力神等许多公司也有类似的产品问世。另一方面,主板集成的声卡也不一定是AC 97软声卡,甚至都不一定是AC 97声卡;前者如创新的CT5880/ES1373等等属于主板集成的AC 97硬声卡,这类产品除了音效芯片之外,在主板上同样会另外集成一个Codec芯片;后者如CMI8738等等也属于主板集成的硬声卡,但它并不符合AC 97技术规范,因此也就没有另外集成Codec芯片。

其实,除了不具备音效处理芯片以外,AC 97软声卡的其他硬件构成与工作原理和AC 97硬声卡相比并没有什么差异。对于AC 97软声卡而言,影响其性能的因素可能有很多,但其中尤以Codec芯片的类型、PCB布线的优劣以及相应驱动程序的完善程度最为重要。在这三大关键要素中,负责DA、AD(数模/模数)转换的Codec芯片的不同决定了所采用驱动程序的种类,因此很多人往往把Codec的型号当成AC 97软声卡的型号。有人也许会担心,去掉了传统的音效处理芯片而全靠软件模拟与CPU运算,那么AC 97软声卡的音质能够和传统的硬声卡相提并论吗?同时CPU的资源占用率会不会居高不下呢?其实大家对此完全没有必要担心。在性能上,传统硬声卡当然可以凭借其高速DSP芯片获得一定的性能优势,但现在CPU的性能已经空前强大,以SoundMAX为代表的音频处理技术和相应的驱动程序业已日益成熟,在这种情况下,AC 97软声卡不仅在音质上能够得到充分的保证,而且还因软件模拟的特点能够具有几乎无穷无尽的升级潜力:试想,如果某家声卡厂商推出了划时代的声卡新品,那么你能够把它的驱动程序拿过来直接给自己以前的老声卡升级吗?而AC 97软声卡就无此顾虑了,砸許oundMAX为例,从2.0版本到3.0版本的进步,其幅度不亚于创新Audigy对SB Live!的升级,而我们所要做的,仅仅是简单地在支持SoundMAX 3.0技术的AC 97软声卡上换换驱动程序而已!那么,什么是SoundMAX技术呢?又有那些AC 97软声卡支持这项技术?请你接着往下看。

完美本天生,妙手偶得之——SoundMAX技术简介

和AC 97这一技术规范有些类似,SounMAX也是一种技术规范——说得再详细一点,是一种基于AC 97技术规范的声卡技术“实施细则”。不过与AC 97“软硬通吃”的做法有所不同,SoundMAX技术生来就同情“软”弱者,特别重视发掘Codec芯片的潜能,具有硬件级的数据处理转换能力和最高94dB的专业音质回放能力,是主要为AC 97软声卡撑腰的技术解决方案。目前这一技术解决方案已经发展为SoundMAX With SPX(音效产品扩展)技术,简称Sound MAX 3.0技术。

  • SoundMAX 3.0技术是由Analog Devices与Intel联合制定的,最大的特点就是集成了SPX音频效果算法。该算法主要对3D游戏的音效作了改进,内置物理建模、事件建模,另外还具有可升级的软DSP数字信号处理合成技术。SPX技术能够灵活逼真地模拟3D游戏场景的即时音效变幻,这种动态演算方法可让支持它的游戏变化出无穷的声音,即便是相同的游戏情境也会因为少数不同的因素而产生随机的声音变化,游戏声音不再是一成不变,乐趣也随之增加。除此之外,SoundMAX 3.0技术还具有如下特征:

    • 兼容Windows 98SE/ME/2000/XP操作系统;API驱动程序兼容微软DirectSound/DirectX 8.1;创新EAX 1.0/2.0;傲锐A3D 1.0;IA-SIG I3DL2;Sensaura MacroFX/Zoom FX等等。
    • 音频解码器部分:全双工处理能力;8位/16位,单声道/立体声录制回放;硬件采样率可在7kHz-48kHz之间以1kHz为单位进行微调;输出信噪比可以达到94dB;谐波失真不超过0.01%数量级;频率相应范围在20Hz-20kHz之间。
    • 波表合成:支持Sensaura 3D音频定位技术;具有DSL2集成引擎,具有1.2MB XGLite/4MB General MIDI音色库;允许用户向SoundMAX合成器中装载自定义声音设置;甚至可以利用一些第三方软件应用程序创建自己的MIDI序列和DLS声音设置;播放MIDI时候可在20%-80%范围内自由调整CPU占用率。

    除此之外,SoundMAX 3.0还包括其他许多重要特征,我在后面还要结合实际应用进一步谈到。
    从上面的简单介绍中我们不难看出,SoundMAX 3.0技术拥有相当多的杰出特性,而要实现这一切除了前面提到过的CNR声卡之外,我们仅需要一块拥有支持该技术的Codec芯片的主板就可以了,其成本几乎为零!那么,究竟什么样的主板才能应用这一项技术呢?

    红花也需绿叶配——SoundMAX 3.0的应用范围与改造

    自从Intel 81x系列芯片组开始,在ICH/ICH2芯片中都已经集成了音频控制器。这样一来,如果操作系统支持的话,就会自动安装上Intel Integrated Audio的驱动程序;它的CPU的资源占用率比SoundMAX 3.0要低一些,播放音乐时的音质也很不错,但是在游戏音效、MIDI回放方面就要平庸一点了;不过用户也不必为此气馁,因为与VIA的芯片组有所不同,Intel ICH/ICH2芯片中的音频控制器的使用优先权是低于Codec解码器驱动程序的,只要用户拥有一块i810或更高版本芯片组的主板(包括i810/i815/i820/i830/i840/i845/i850等等),并且主板上的Codec芯片型号为AD1885或更高,就可以直接安装SoundMAX 3.0驱动了。而VIA VT8233南桥芯片与SiS芯片组集成的音频控制器具有最高优先权,对于使用这类芯片组的主板来说,Codec芯片仅仅起到解码的作用,所以不能应用SoundMAX 3.0驱动程序。具体说来,Intel自家的新款主板都带有AD1885 Codec,在这样的主板上安装SoundMAX 3.0是没有任何问题的。至于其他采用Intel芯片组的主板采用何种集成声卡、以及Codec的种类,就需要用户自己辨别了。

  • 如果用户的主板芯片组符合要求,但是Codec芯片的型号为AD1881的话,可以通过简单的方法加以改造。因为AD1881支持SoundMAX 2.0驱动,用户只需要在该驱动中找到smwdm.inf文件(一般的路径为:Analog\SoundMAX 2.0\SMAXWDM\W2K,或者Analog\SoundMAX 2.0\SMAXWDM\SE,视操作系统的版本而定),然后把它拷贝到SoundMAX 3.0驱动的相应文件的相应位置(正常情况下分别为Analog\SoundMAX 3.0\SMAXWDM\W2K_XP,或者Analog\SoundMAX 3.0\SMAXWDM\SE)即可,其中后一个路径针对的是Windows 98SE/ME的。

    如果用户主板的芯片组符合要求、但是Codec型号不符合要求;或者二者都不符合要求的话,也是有办法装上SoundMAX 3.0驱动的,其中前一种情况的改装难度要小一些,但是不能保证原汁原味,也不能保证在使用中不出现问题;后者的难度就要大很多了,像采用VIA KT266(A)/VIA Apollo Pro266/SiS 630/SiS 635/SiS 730/SiS 735芯片组的主板是根本就不能使用Sound MAX 3.0的,其他的非Intel芯片组即便是装上了也很容易出问题,所以并不推荐。如果读者实在想尝试一番的话,请参看《微型计算机》2001年第19期杂志上介绍的具体改造方法。

    百闻不如一试——SoundMAX 3.0实际应用

    SoundMAX 3.0驱动程序也有好几个版本,最新的一个是在今年4月23日发布的5.12.01.3500版,适用于Windows 98SE/ME/2000/XP操作系统,这一版本在CPU的资源占用率上做了一定的改进,在驱动之家可以下载到。它的安装过程很简单,这里就不多说了。

    安装过程结束之后,在任务栏上会出现一个快捷图标,可以方便地调整系统声音设置。

    打开SoudMAX控制面板,在“收听环境”选项中可以调整扬声器设置、虚拟剧场环绕效果、低音提升、音响环境,并可以自定义听力样式。其中的“虚拟剧场环绕效果”可以在立体声扬声器上模拟出多声道电影音响效果,也是SoundMAX 3.0新增加的一项功能;注意,如果用户将“扬声器设置”设置为“立体声耳机”的时候,这一选项是不可选的(如果用户需要耳机具备这项功能,就需要另外付费购买)。在“低音提升”选项中,用户可以增加低音输出,范围从20Hz到100Hz,起点为0dB到+10dB,这是一项十分有用的功能!记得有不少的音箱发烧友批评AC 97软声卡的音质,说它的高音倒是清澈嘹亮,但是低音效果就很单薄,敲鼓的声音听上去就像是在“捶打一只大木桶”;平心而论,低音方面一直是AC 97软声卡的一个命门,但是SoundMAX 3.0新增的这项功能,却可以在很大程度上弥补AC 97软声卡的这一不足。“音响环境”一项中提供了多达23种不同的环境选项,甚至包括“采石场”、“下水道”这样奇怪的环境,我个人认为这一项设置为“无”就可以了,其它环境的实用性不强,而且还很容易出现杂音干扰。

  • 在“MIDI音乐合成器”选项中可以调整合成器的默认声音设置、合成器效果、合成器品质等等。其中“合成器默认声音设置”选项中,用户可以自定义默认声音设置,SoundMAX带有4MB的专业声音设置和1.2MB的XGlite声音设置;如果用户播放的是Yamaha XG格式的MIDI文件,则应当选择XGlite声音设置选项。在“合成器效果”选项中,用户可以在SoundMAX合成器播放的文件中添加更多回响和合声;当滑块设置为“常规”时,每个声音的效果量会设置为作曲家最初选定的量;当滑块向“最大”移动时,附加效果被相应地添加到每个声音之中,直到所有的声音都达到它所允许的最大回响量为止。

  • 在“高级”选项中,用户可以设置需要播放复杂MIDI序列时的MIDI声音的最大数量,默认为128种,当然用户还可以将数字设置为更高(没有上限),但是这要取决于用户CPU的性能了,一颗强劲的处理器可以使用户设置MIDI发声数量多到不可思议的地步,这是传统硬声卡难以达到的。

    除了这些选项以外,用户还可以通过“开始”菜单或者任务栏上的快捷方式运行DLS装载器。DLS装载器允许用户向SoundMAX合成器中装载自定义的MIDI声音设置。有两种方法可以在Windows媒体播放器中使用其关联的DLS声音设置自动装载播放MIDI序列:如果用户选择.RMD文件,该程序将自动装载配套的DLS文件;如果选择.MID 文件亦然。另外,用户还可以手动装载.MID和.DLS文件,然后运行Windows媒体播放器。

  • 从上面的介绍中我们不难看出,SoundMAX 3.0是一项相当具有吸引力的AC 97软声卡音频解决方案,它的许多技术指标以及实际表现已经达到了高档多媒体声卡的标准。在CPU的资源占用率方面,由于目前CPU动辄都是GHz级以上的产品,所以在一般场合中都是可以忽略不计的。从市场前景来看,随着CPU性能的进一步提升以及相应驱动程序的不断改进,SoundMAX音频技术的前景是十分美好的。至于它能不能一统江湖,成为AC 97软声卡事实上的技术标准,我想现在妄下结论还为时尚早。

    首先,芯片组的技术规格不统一,是阻碍SoundMAX继一步发展的最大障碍。如前所述,这一技术目前只在Intel系列芯片组上才会有完美的表现;其次,SoundMAX对Codec芯片类型的苛刻要求也会在某种程度上阻碍它的普及。实际改装证明,将SoundMAX 3.0用于非AD1885 Codec在某些情况下是可行的,那么Analog Devices为什么还要人为地为其设置障碍呢?第三,AC 97软声卡的技术解决方案也不是只有SoundMAX一花独放,像广泛运用于VIA芯片组的RealTek Avance ALCxxx Codec,也拥有较为完美的音质表现,技术指标也很不俗,同样可以成为SoundMAX技术强有力的竞争对手。不论如何,SoundMAX技术的存在至少让我们明白了这样一个道理,世界上原来真的有免费且美味可口的午餐;有了它的辅佐,原本“默默无闻”的CPU居然也能唱出天籁之音!

    请评分
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    03
    发表于2010.05.04 21:05:33
    6
    发表于2003.08.25 10:50:11
    5
    提示
    本贴不可匿名回复,回复等级为:1 ,您现在正处在潜水状态
    回复
    验证码
    6126 为防止广告机贴垃圾,不得已而为之
    表情
    正文
    京ICP备11010137号 京ICP证110276号 京公网安备110114000469号