关于独立声卡唱歌能变的好听吗放歌音质问题

正在阅读:好音质从音源抓起!八大优秀声卡推荐好音质从音源抓起!八大优秀声卡推荐
1前言:改善音质重在源头前言:  虽然受到很多传统发烧友的不屑,但是多媒体音频对音质的追求却是不会停步的。对于发烧友来说我们都有这样一个共识,改善系统的整体回放品质应当从音源抓起。因为如果对声音的不良影响在最初端已经形成,那么以原音重放为设计初衷的后端将会对它尽可能不失真的放大(对于多媒体音频来说,条件肯定是没有那么苛刻的),这样暴露出来的问题将会很明显。当然也有不少设计者为了解决这个问题而对或者其他部分进行设计上的有意修正,但我们认为这都是不得已而为之之举。想要提高音质得从源头抓起  音源其实是一个比较笼统的概念,它包括了软硬两个方面,将范围缩小至多媒体音频的话,那么它其实是指音频文件和对音频文件进行编码解码的硬件设备,今天我们就为大家提供关于硬件部分的推荐产品。2内置声卡:华硕磬天籁主机内置独立推荐&&&&&&&&(参考报价:<FONT color=#ff元)  实际上我们在的身上能看到不少成功且深得国内发烧玩家认可的设计,而笔者断定华硕的工程师在研发前一定有做过详细的国内市场调研。为何我们这么说?请往下看。  其一:国内烧友对内置最大的不放心来源于内部恶劣的电磁环境,而华硕此次对这块做了更完整的屏蔽工作。除了表层完全用金属屏蔽壳覆盖外,PCB上亦有金属隔层将供电部分与模拟输出部分进行隔离(拆解部分特写大家会看到内部的金属隔离层)。  其二:国内多声道大多属于“资源浪费”,即便买了多声道,也大多只用两声道。基于此,输出接口配置方面,这块也做足了调查。目前绝大多数的高品质都采用RCA接口,因此该的模拟输出采用了双RCA接口。此外,不少发烧友的发烧耳机均为6.3mm接口,因此模拟输出还配置了一个6.3mm接口,使用起来会相当方便。模拟输入接口也不例外,喜欢玩录音的玩家大多不用耳麦,而用真正的麦克风。6.3mm输入接口就更是必备了。数字输出采用同轴,对于发烧玩家来说也必须的,因为理论上来说同轴的数字信号素质更佳。这些都是迎合发烧玩家喜好的做法。  实际上从我们收到的材料来看,华硕的工程师在调试产品时,是以森海塞尔、AKG、拜亚动力三大主流品牌的经典产品为基础的,从我们多天的听感来看,其品质还是比较令人满意的。从华硕方面提供的资料推理→该卡的研发应是华硕台湾的设计团队负责  实际上华硕将该的模拟信号与数字信号的供电进行了分离处理,数字信号直接从PCI-E取电(要是笔者没有记错,第一代PCI-E极限也有70w了),而模拟电路才使用电源独立供电。此外,笔者认为华硕还有意将D型接口做了窄边朝上设计,安装起来更符合我们的使用习惯(老式也是窄口朝上的,即便安装者没想到这点也不必再试一次才能装好& PS:我们现在所看到的正面在装机时是背面哦)。  PCI-E的供电部分用料搭配与模拟部分类似,而这里也是华硕打上各类标示的地方。 PCB背面  该卡的标称信噪比达到了惊人的124dB(该卡的详细评测请点击《》)!优点:以国内发烧友为轴心的设计理念得到了充分发挥,超强的模拟双声道音质。缺点:价格比较ASUS。性价比指数:推荐指数:  点评:该的报价大约是1699元,卖到这个价格的内置在国内是鲜见的。而从产品特色来看,这款也是相当个性的(相对于同价位的其它声卡产品),相比之下也更适合国内音频发烧玩家。因为如果听下载的APE、FLAC等PC音频文件,这款声卡已经能够满足大多数烧友的要求,优秀的模拟输出素质差不多可以替代台式CD+廉价耳放的方案了。而如果您打算组建HTPC,恐怕还得加个数字解码,有整套AV功放解码系统的玩家其实也不必增加其他套件。如果您平时只是下载类似高素质PC文档欣赏音乐,并且已经有了素质相对优秀的耳机,亦或高端多媒体2.0,我们认为这款声卡将是您不错的升级选择。3内置声卡:创新X-Fi钛金版&&&&&&&&(参考报价:<FONT color=#ff元)  的高端我们从最恶俗的眼光看有两点,一是采用镀金接口;二是采用主卡+外置盒配置,这款新卡没有具备第一点。  那么支持哪些特效以及电影音效呢?从官方资料看,它支持EAX& 5.0音效、专为Windows Vista&提供的EAX&和3D音频重建技术、CMSS&-3D技术以及DTS ES和杜比DIGITAL EX。从包装上我们还看到了THX标志,不过这似乎需要通过PowerDVD来体验。  正面全部由黑色的金属屏蔽包裹,以防止内部的电磁干扰,其触感相当棒。  背面则与常规无异,不过PCIe接口则显得相当突出。此外,标签上也透露了另一个信息,产品产于马来西亚。  终于说到接口了,记得笔者还在学生时代就有“业内行家”告诫说“音质是否优秀并不能看接口”,这实际上并非虚言;并且我们要知道,从的宣传来看,这款明显是定位玩家的,曾几何时金色接口还需要用户自己贴塑料标签,说起来这也够麻烦的,而直接采用彩色接口就没有这个问题了。此外主卡上还整合了光线输入输出接口(而外置盒上就没了,残念),可说功能强大而完善了,太过于完善了(声卡的详细评测请点击《》)。优点:超强的DSP性能,性的X-Fi技术,优秀的声音回放品质。缺点:售价过高,外围设计不够讨好国内发烧友。性价比指数:推荐指数:  点评:该卡售价1999元,对于普通消费者来说,这个价格显然是不现实的。而对于国内常规的音乐发烧友来说,我们也不认为这个价格算是超值的。但是从声卡的特效测试来看,的EMU GA20K2表现出色,相信即便是的蓝光标配DTS次规格音轨,该卡也能轻松搞定。因此我们认为,如果您是追求极致性能或者需要次音频解码的话,相信这块卡将不会令你感到失望。4内置声卡:乐之邦轩辕II&&&&&&&&(参考报价:<FONT color=#ff元)  乐之邦的新一代轩辕系列分为两个子系,分别是模拟系列的Analog HD和Pro-HD;数字系列的Digital和Pro-Digital。此次我们拿到的卡是模拟卡相对高端的型号Pro-HD。  笔者从其他渠道获知,实际上Pro-HD与Analog HD硬件上只有DAC和运放的区别,该卡DAC采用的是水晶公司的CS4398,与的Elite Pro是一样的,运放则是NJM2068。  从近期的独立接口我们可以看到很多微妙的变化,一些为定位国内发烧级玩家的上,常见的3.5mm 2声道标准音频接口大多换成了6.25mm的大接口,这是因为各大里挑剔的国内玩家对3.5mm接口颇有微词,接触面积论令3.5mm在国内高端市场上几近无立足之地了。此外,为了适应国内玩家倾向2.0的需求变化,RCA模拟输出自然也是必不可少的。  此外,麦克风接口也换成了6.25mm接口,这是为什么呢?除了说明该卡不是为了网聊设计的这一点外,还有个妙处,我们会在下文芯片详解中做出说明。而令人最为诧异的是Line in居然也换成了一对RCA接口!背部特写  乐之邦宣布,其轩辕II系列都采用了LRF技术。此项技术是把高频RF级别信号技术使用到中,数字、模拟信号分开处理,合理使用地线覆铜,降低相邻信号之间的干扰,旨在最大限度的提供保真的声音(声卡的详细评测请点击《》)。优点:同样为国内发烧友量身打造,只是走的路不太一样,并且具有完善的外围周边支持。缺点:售价有争议(怀疑国内玩家对国内厂商要求太过苛刻)。性价比指数:推荐指数:  点评:该卡应该是除了PCI-E系列产品外,售价最高的轩辕II声卡了,主卡售价达到了798元人民币。单纯的以声论价这快卡性价比如何呢?我们认为还是有些高了。但是如果从产品的设计、驱动更新以及周边可拓展配置来看,这个价格也还是可以接受的。特别是驱动,乐之邦此次产品宣传中,其“沙林高清驱动”是宣传重点之一,而在我们的实际使用上来看,乐之邦在此也的确下了很大的功夫。5内置声卡:黑金3 CinemaLV&&&&&&&&(参考报价:<FONT color=#ff元)  上海岛谷科技是国内声卡业最具号召力的公司之一,推出的声卡产品黑金二代在DIY群体中有着很高的知名度,至今点名率依然很高。早前黑金三代已经推出,但是却一直没有正式公开出货,不过在小编的一再打探下,终于发现了这款“传说中的声卡”。  的公开报价并没有想象中的贵,售价仅为499元。相当适合对PC音效有一定追求的进阶DIYer。  光看上半部还真就以为他是。我们先看看细节部分。  万般皆下品,先来看看Audio Controller,这款500元不到的声卡竟然采用了VIA ENVY24-GT!与我们在另一款经常被人吹捧的声卡上见到的Tremor相比,这款芯片无论模拟还是数字都达到了24bit/96kHz的采样规格!虽然这不是声卡音质的决定性因素,但是优秀的规格无疑将在音质对比中获得更高的胜算。  声卡采用了单独的DAC芯片,芯片同样来源于Wolfsonmicro公司。采用的是WM8766G,48kHz采样率下的信噪比可以达到103dB。DAC Sampling Frequency: 8kHz – 192kHz,这也是声卡24bit/192kHz规格输出的来源。  岛谷公司自有知识产权并引以为傲的TG-Link技术是声卡的核心部分之一,配合双晶振设计避开了SRC造成的音质问题,并且通过该技术,在数字信号传输的时候可以保证精确传输每个bit,时基抖动问题得到了比较好的解决,而独特的接口模式也令声卡获得了空前的接口拓展能力。看看黑金三的真实拓展能力吧!优点:强悍的IC配置,优秀的立体声及多声道回放品质,丰富的外围拓展。缺点:驱动有待改善性价比指数:推荐指数:  点评:目前的Audigy2 ZS已经停产,市面上已经没有太多的存货了,如果需要购买多声道声卡,可以考虑这款黑金三。产品给人感觉有些怪异,没有一个接口是家用声卡常见的接口,但是接入拓展转换头以后局面就彻底改观了。黑金II虽然争议不断,但是其回放品质还是令人满意的。而这款黑金三在大多数发烧友口中的评价还是不错的,并且其价格相当有吸引力,感兴趣的朋友不妨找一块玩玩,花费其实并不大。6内置声卡:傲王SQ210W傲王SQ210W(参考报价:<FONT color=#ff元(15周年版)/ 285元(周年版))  随着板载声卡的普及,独立声卡的市场已经越来越少,不过网络上的音乐资源还是非常丰富的,因此不少喜欢听音乐的朋友都会用PC去听音乐,而普通的板载声卡,即使是再好的板载声卡都无法与目前更强的独立声卡相比,尤其是搭配一些中高端的,更有“推不动”的感觉,因此对于喜欢音乐的PC玩家来说,搭配独立声卡还是很必要的。  提到独立声卡,必然不能不提和德国坦克,一来是他们有长时间的技术与品牌积累,二来是知名度很高,尤其在工包市场的货源如AGD2 ZS,X-FI一类的都受到不少朋友的追捧,不过价格的昂贵,以及“相对”普通的表现下只适合一些普通的音乐爱好者,而一些老卡如大力神,帝盟的驱动又不怎么能跟上。因此国货的精品,尤其是单纯为听音乐而诞生的独立声卡也越来越多,黑金,傲王等都推出了一些很不错的独立声卡。而本次针对中低端,敖王推出了两款200-300元价位的SQ210W,其不错的做工与DAC,可谓是400元以下的双声道卡王之一。  SQ210W有两个版本,分别是周年纪念版和15周年纪念版,除了DSP芯片外其他完全一样的。单从做工用料上看SQ210W就不错了,作为400元以下的独立声卡,这个做工是不错的了,百色的PCB设计显得更加另类,搭配金色的LOGO字样,也是目前不少声卡采用的设计风格。镀金的接口以及N个黄色的钽电容非常养眼,中间还有N个巨大的三洋OSCON固态电容。整体做工用料都很好  DAC方面:SQ210W搭配了强劲的DAC WM8740,也是其卖点之一(左下)。WM8740是一款高性能的立体声数字模拟,专为CD、DVD、系统、机顶盒和的音频应用而设计。它支持16到24位的数据输入,采样率高达192KHz。WM8740是由一个串行接口端、数字插补滤波器、多位Σ-Δ调制器及立体声数模(DAC)组成,采用一个小型28引脚SSOP封装,它的每一通道还带有一个数字可控的弱音器和衰减器。采用多位数的D/A还能减少器件对时钟抖动的敏感度,从而能获得更好的音频信号质量。  运放方面:采用和SQ717A类似的模拟电路。模拟输出使用两颗JRC2068 (中间两个小的)和一颗JRC4556AD(右上)。三运放输出能保证信号稳定输出,比单运放要好的多。三运放输出常用于专业卡。JRC4556AD是采用的运放,输出电平较大,适合推耳机。SQ210W还使用了运放插座,发烧友们可以选择自己喜欢的运放。周年纪念版采用VT1721作为DSP15周年纪念版则是搭配了VT1723作为DSP  VT1721和VT1723是威盛(VIA)推出对应廉价声卡的音频控制器。VT1723(TREMOR)支持6声道,数字I/O支持最大的采样速率是96kHz,而VT1721支持8声道,数字I/O支持最大的采样速率是192kHz,而VT1723其实是VT1721的衍生品,两者其实没多大差别。三洋的顶级OSCON固态电容和N个黄色的钽电容输出接口采用镀金设计 选择的时候记得注意接口的支持 &同时带有光纤输出 优点:相当高的性价比缺点:不得不考虑的驱动问题性价比指数:推荐指数:  点评:这款声卡相比它的前身SQ717A有着更高的性价比,虽然精简了PCB以及一些拓展接口,但是该留下的都还在,并且运放架采用了可以更换的插座型,可玩性相当高。是目前经典二手声卡的强劲竞争者。7内置声卡:乐之邦玲珑IIIUSB类声卡推荐乐之邦玲珑III(参考报价:<FONT color=#ff(经典)~489(豪华)元):  玲珑III豪华版(LILO III e)音效卡是乐之邦第三代USB外置音效卡,声卡使用了德国MICRONAS的UAC系列高级USB2.0可编程控制器,并采用独立的24Bit高级编解码器PCM3010配合全新的BALA平衡模拟滤波电路,让声音的音乐性、解析力更加均衡。  声卡还配置乐之邦第二代POWER UP电源净化技术,保证了高达3V RMS(8.5V MAX)的模拟电平输出。玲珑III豪华版(LILO III e)使用了CIRRUS LAGIC的高性能SPDIF发射芯片CS8420作为SPDIF数字发射器,进行高精度的光纤数字输出。  声卡提供HIFi以及AV两种输出模式,HIFI模式下提供声音高保真输出,AV模式下多种硬件DSP效果调节,并提供高达3V RMS电平的模拟输出。硬件DSP音效处理能够提供高低音调节、重低音、等响度调节、动态低音管理系统(谐波器特性调节、分割频率调节、中心频率调节、低音增益调节)等功能。硬件五段均衡器(可调中心频率、正负12dB增益)则可令您方便调整声卡各频段的量感。典型参数:体积:88mm x 70mm x 20mm外壳:铝合金喷砂氧化银色信噪比/动态:102dB(24bit)立体声分离度:90dB总谐波失真:0.002%模拟输入信噪比/动态:100dB&优点:较高的性价比,优秀的配置缺点:外观相对呆板了一些性价比:推荐指数:  点评:国内声卡厂商的优势在于了解国内音频发烧友的需求,推出的产品都以立体声的回放品质为主要诉求,这不但表现在独立内置声卡上,也表现在外置声卡的设计上。乐之邦的这款声卡就是在这种思维下诞生的产物。其模拟输出有着不错的品质,得到了不少发烧友的肯定,并且定价也并不算贵。相比创新的外置声卡,我们相信国内品牌的产品应该更适合用来欣赏高规格的音频文件,如果您对多声道并不感冒,而对立体声品质有着较高要求,那么这款声卡应该比较适合您。8USB声卡:捷波 TH-1&&&&&&&&&(参考报价:<FONT color=#ff元电话订购)  按照捷波的说法,这款产品是用来树立捷波在音频方面设计功力及形象的作品,而外观经过重新设计后显然比原型要规范得多。当然其内部改动其实更吸引我们。新版的电子管特色明显更突出了  对于很多初级用户来说,电子管应该是比较YY的东西,因此炫一点自然更好。为了迎合这个需求,笔者曾经提议让产品更突出“电子管”这个元素。而这个最终版的确也进行了如此修改,初次见面连笔者也被惊喜的“色”了一把。  当然,半埋式有半埋式的好处,不容易造成电子管的损坏,而这样完全裸露的设计除了好看外,更换电子管时也相对更方便一些,相比之下笔者还是更倾向于后者。  接口方面,前置的是一个耳机接口,整体布局与原版大体相当,只是音量旋钮被加大,并且置于正面中部,开关则置于了面板的右侧。实际使用后,我们发现旋钮的手感变得更柔顺了,手感好了不少。耳机采用6.25mm标准的大接口,如果您的耳机是3.5mm规格的,就必须加一个转接头。  笔者的观点是6.25mm更好,因为产品定位的用户对音质应该有一定的追求,而如果您的要求较高,恐怕耳机档次也不会太低。但目前中高端耳机也大多采用接触面更大,理论上声电性能更好的6.25mm接口,因此如果用小口难免招人诟病,而如果用大接口只需配置一个转接头即可。实际上产品在包装时也有配转接头,因此我们认为这样的设计蛮实际的。  尾部的改进是所有接口都可以拔插,并不像“初号机”那般是固定的,好处就是使用更方便了,不用的时候收起会比较整齐一些。并且挪动、安装也并不费劲。声卡可以处于两种不同的工作模式,接入USB后(另一端接入主机),TH-1切换至声卡状态,通过内部解码提供音源,放大电路放大来自内部解码后的模拟信号。而拔出后则切换至放大模式,此时放大来自RCA输入端的模拟信号。  产品的另一个改进是多加入了一对RCA接口,这是笔者听说产品的另一个设计功能是电脑前级后对设计师进行建议的结果。假设这个USB声卡放在桌面,那么尾部的RCA接口将会对的接驳提供相当的便利。声卡电子管图赏:  电路功率放大部分采用的电子管前级采用北京6N3-T3,可供更换的管子有俄罗斯的6H3N-FB以及美国的5670。后极放大采用两声道单独放大的方式,放大管为北京6S6。据捷波方面介绍,此次采用这样的电子管搭配是以为了推好低阻抗耳机而设计的。下面是我们为大家提供的电子管工作时的靓丽图赏,感受一下电子管的视觉效果吧(声卡详细评测请点击《》)。捷波官方友情提示:这款声卡订购价699,如有兴趣可拨打捷波免费电话400-716-8676订购,限量!优点:较高的性价比,独特的单机设计,可支持高阻抗耳机;USB接口设计,使用相当方便缺点:体积较大不方便携带性价比:推荐指数:  点评:以700元级的标准看,我们认为这款声卡的声音素质已经算是超值,良好的胆味特色将是产品差异化的最好表现。当然这也意味着产品的非便携性,而实际上产品的USB节目并非为了便携,那是为了提高产品的适用性与避免抗干扰而设计的。因此我们更愿意将其定义为欣赏类家用主力声卡。他可以用于接驳,也可以用于接驳,总之你回到家后可以很方便的使用它。超强的非移动适用性是笔者认为其方便的最大原因。9USB声卡:SB Live! 24bit Ex(参考报价:<FONT color=#ff元):  作为独立声卡业的老大,创新的产品线一直都是相当完整的,不过新推出的产品总是由于定位而售价太高,不适合国内的消费习惯。但是一些早期产品性价比却不错。  属于创新声霸系列,产品以24bit为产品名,支持24位高品质数模转换,支持16位或24位采样精度,提供5.1声道/48kHz或立体声/96kHz模式输出;录音方面,声卡支持24位高品质模数转换,支持最高24位、96kHz精度录音;并提供SPDIF光纤/同轴数字信号输出,最高支持最高24位、96kHz的输出规格。  虽然是多年前推出的产品,但是产品的规格至目前看来亦不会显得落后,特别是支持5.1规格的输出,因此其外围产品的支持也比较完善。与国内发烧友需求不同的是,创新的产品并非完全以立体声的回放品质来划分产品等级,而是以外围设备的拓展能力以及对环绕音效的支持能力来划分产品线。也就是说,声道数越多,支持环绕特效越丰富的产品定价就越贵。因此这款声卡定价490元就不足为奇了。外观:性价比:推荐指数:  点评:这款声卡支持5.1规格的环绕输出,支持创新的CMSS专利3D音频技术,如果您的性能强大它立刻可以将您的爱机变成一台HTPC!而去除原始录音中噪声、杂音和爆音的功能则能令电竞玩家以及网络卡拉OK玩家在娱乐时获得更好的玩机体验。售价490元实际上已算不贵,相比内置的一些高端声卡已不显得夸张。10后记:今天的夕阳与明天的旭日后记:  声卡行业无论是在国内还是在国外都属于衰退性的行业,这也是一些长期努力的厂商所面临的最大难题。但是国内与国外差异化的发展令国内市场具备了一个颇具弹性的宽容性性质,也就是说如果有优秀的产品,并且产品定位合适(当然还包括价格),那么它依然会畅销,且还能让品牌口碑受益匪浅。实际上这样的例子并不鲜见,台系厂商捷波以及国内厂商傲王都有相当成功的产品运作案例(只是受限于渠道与宣传以及外围经济等原因,产品的市场热度依然不算高)。今天的夕阳与明天的旭日没有本质区别  我们认为,一些厂商太过于执着追求所谓有潜力的市场了,对与产品真正所要面对的对象,其需求是什么的概念相当模糊。这便是缺乏用户体验回馈,缺少产品研发生产整合的典型症状。回看去年声卡行业的发展我们可以看到,虽然产品不多,但是随着一些新厂商的加入,我们也看到了很多新的相当有益的创意。这或许能给一些厂商以警醒,重新审视一下这个所谓“夕阳产业”是不是真的不值得留恋了。
外设配件图赏
外设论坛帖子排行
最新资讯离线随时看
聊天吐槽赢奖品404 Not Found
404 Not Found关于声卡音质问题? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。1被浏览78分享邀请回答赞同 6 条评论分享收藏感谢收起谈谈低延迟对音质的负面影响,顺便谈谈WASAPI
By 咣輝のま裔
转载请注明作者信息,谢谢。
常常看到某些人给别人推荐ASIO,KS或者WASAPI的时候,总喜欢扯上一句:拥有更低的延迟,从而改善音质。
事实到底是不是这样的呢?让我们来看看Foobar2000作者的看法。
Note that low latency playback is relevant to real-time processing and editing only. It’s completely useles in fact, higher latency is better in this case as it gives better protection against glitching from buffer underruns.
需要注意的是低延迟播放仅与实时处理和编辑相关。对于音乐播放是完全无用的。事实上,更高的延迟在这种情况下表现得更好。因为它提供了更好的保护,防止因为缓存欠载造成的毛刺。
作者这一两句话完全概括了重点,但是并不是所有人都能真正理解其中的道理。
低延迟的唯一好处:
低延迟的唯一好处仅在于录音播音的实时处理,比如将一个人说的话通过扩音器实时的广播,将播放的背景音乐与录制的人声进行实时混音处理等等对时间要求很高的操作。事实上低延迟是为了达到实时处理而不得不做的一种妥协。
什么是缓存欠载:
缓存欠载是指由于某种原因导致系统传输停顿使缓存不能及时补充有效数据,同时缓存中的数据又已被播放(录制)完,造成缓存中数据为空的现象。
为什么低延迟会造成缓存欠载:
实际上 延迟 = 采样点个数/采样率 + 偏移量 而多数情况下偏移量大致为0,于是多数情况下延迟 = 采样点个数/采样率 采样点个数反映了缓冲大小,缓冲大小决定了当前写入位置与播放位置的距离。
播放速度是固定的,如果缓冲大小为0,那么就必需时刻保持写入速度等于播放速度,这势必会造成系统频繁调用的高负载。当我们加入了缓冲机制,系统对于写入速度的要求就从瞬时速度降低为平均速度的水平。缓冲越大,对于突发高负载造成的写入速度降低的缓冲能力就越强。
(在播放的时候偏移量可以为负数,这样就实现了0延迟,让写入与播放同时进行,由于写入速度快于播放速度,而且播放的内容是可以预知的,这样就能够在预存了足够的采样点后,再保持速度同步。事实上不管是Foobar2000的WASAPI,还是ASIO,设置的都是缓冲大小。)
缓存欠载的后果:
根据处理方式的不同,缓存欠载会有两种后果:1. 禁音,短时间的禁音在人耳听来就是爆音的效果。2. 重复播放缓冲区,直到有新数据为止,这种处理方式在人耳听来就是一段很短的声音无限重播。
接下来要说些比较专业的话题了,如果你看不懂也没关系,大致看下,知道楼主的结论就好了。
让我们看看软件播放过程中的实际情况:
事实上,写入声卡缓冲的速度远快于播放的速度。为了不让线程在写完一个缓冲大小的数据后空载,增加不必要的消耗,有违节能环保的精神。于是每次在写入操作完成后进入睡眠状态(调用Sleep或者timeSetEvent+WaitForXXXX函数)。
菜鸟级程序员的做法:
菜鸟级程序员每次都让播放与写入同时开始,写完一个缓冲大小的数据后,便睡眠一个延迟的时间,等待播放完毕。然后又开始播放和写入,不停的重复下去。
这中做法并没有发挥出缓冲的所有优势,只能保证一个缓存大小中的声音是没有差别的。但是问题发生在两个缓冲的交汇处。睡眠并不能保证在精确的时刻被唤醒。每块缓冲大小的声音在时间上总是或多或少的前后漂移。一段1S的声音在100ms的延迟下,将有9处交汇处,在10ms的延迟下有99处交汇处,在1ms的延迟下有999次的交汇处。将延迟从100ms降低为1ms,对声音的影响加剧了100倍还不止,而系统频繁调用的次数也增加了100倍不止。
以下测试都在没有干扰的情况下进行:
20ms延迟的情况:
平均时间漂移(正负不抵消)体现了两个缓冲交汇处对音质的影响,累计时间漂移(正负不抵消)表示了这种处理方式下对于音质的总体影响,可以看到30S的声音就有381ms出现了问题。实际上,如果是日常的使用中,最大时间漂移可以轻易突破20ms。
200ms延迟下的对比:
可以看到加大延迟对于菜鸟写的播放程序有极大的好处,累计时间漂移(正负不抵消)直接从381ms降低到了20.9ms
配合双缓冲,循环播放,动态写缓存:
这种做法完全发挥出了缓冲的价值。只要最大时间漂移和累计时间漂移(正负抵消)不超过一个延迟的时间,就不会对音质产生影响。此时在前两项达标的情况下,平均时间漂移(正负不抵消)和累计时间漂移(正负不抵消)已经不会对音质产生影响。延迟越小,对于突发的高负载,抵抗能力就越差。
那么问题到这里就已经顺利解决了么?
我们知道不管Sleep也好还是timeSetEvent + WaitForXXXX,其时间精度都受到系统定时器分辨率的影响。系统默认情况下是15.6ms,Foobar2000 以及一些调用MMCSS (Multimedia Class Scheduler Service)的程序都会将定时器精度设置为10ms。然而这个值并不是你想设为多少就能设为多少的,这个值只能等于系统中所有程序设置的最小值,而且最高精度只能为1ms,这个值设的太小还会增加系统线程切换的消耗。
那么如果音频的延迟为25ms,在10ms的时间精度下,Sleep会如何表现呢:
结果就是每次都睡眠30ms。最终时间严重增长了5S。为了解决这个问题:
timeSetEvent + WaitForXXXX登场:
可以看到,在10ms的精度前提下,等待时间不断的在20ms和30ms间变化,实际上延迟25ms的表现还不如20ms,其对于突发高负载的承受力只有15ms的水平。在延迟足够大的情况下,这种方式足以解决简单Sleep带来的问题。
遗憾的是,系统定时器分辨率的精度最高只能是1ms,这就给不是整数毫秒的延迟带来了问题。
事实上,44100Hz在多数采样点下的延迟并不是整数毫秒。
WASAPI Event-Mode 对于采样点的限制如下:
大小不超过512KB
必需对齐到128Byte(是Byte不是bit)
拿20ms来说,实际上的延迟时间是20.3175ms 采样点896个,这多余的0.3175ms对于timeSetEvent + WaitForXXXX造成问题:
累计时间漂移(正负抵消)已经超过了延迟的20倍。这就是时间零头积累造成的问题。为了解决这个问题:
优化的Sleep – 最后的绝唱:
现在我们不再睡眠一个延迟值了,现在:
睡眠时间 = 当前循环次数n*延迟 - (当前系统时间 - 播放开始的系统时间)
这样便解决了零头时间带来的问题。
可以看到平均时间周期已经和延迟基本接近了,累计时间漂移(正负抵消)也得到了很好的控制,但是最大时间漂移超过了20ms,这不是偶然,实际上楼主测试了5次,其中4次都超过了20ms,1次为6ms。
在系统时间精度为10ms的前提下,想要在这种方式下良好工作,延迟至少要30ms。实际上这是Push-Mode下不得不采用的方式,只有这种方式才能解决上面提到的所有问题。Foobar2000便是这么做的。这也是其缓冲长度必需大于50ms的原因。虽说Foobar2000的缓冲长度与声卡的缓冲大小不是同一个事物,但两者前后承接,工作原理上极其相似。
(其实系统计数器的分辨率可以达到100纳秒的级别,但是用在播放器上完全是杀鸡用牛刀。100纳秒级别的计数器在大型游戏上常常用到)
WASAPI Event-mode来袭
只有降低两个缓冲区交接处的时间误差和漂移幅度,才能在音质不受损的情况下,降低延迟。
我们知道在当前系统时间精度下,为了保证音质不受损,延迟不可能降得太低。为了降低延迟,我们迫切的需要一种不需要高负载轮询,又能高度准确的时间。硬件驱动回调模式便由此孕育而生。不论是WASAPI Event-mode 还是KS又或者是ASIO,采用的都是这种方式。这才是他们的精髓所在。
声卡在每次播放完一个缓冲区后便发送事件通知程序,应用程序便开始将音频数据写入缓冲区。详细图解,请回头看上面的:配合双缓冲,循环播放,动态写缓存。
硬件驱动回调模式的唯一区别就是:现在不是由我们自己定时写入了,而是让硬件告诉我们什么时候该写入了。这便使得我们写入的时间相当准确,从而对于缓冲大小的要求降低,最后延迟就可以控制的更小。
现在楼主写的基于WASAPI Event-mode的测试播放器该登场了:
将你要播放的文件命名为a.wav放在同一目录下,然后运行程序就可以播放了。
只支持wav格式,只支持声卡硬件支持的格式,支持声卡选择。
文件采用全文件缓冲的方式载入,请确保拥有足够的空闲内存(事实上,楼主并不认为全文件缓冲会改善音质。只要声卡缓冲大小(延迟)足够大,全文件缓冲就没有任何意义。楼主这么做完全属于偷懒的做法)。
实际上WASAPI Event-mode的兼容性可能在不同的声卡下表现有所不同,楼主基于自己的声卡修正了24位音频文件的播放问题。如果在你的机器上播放24位音频格式时出现杂音,请留言反馈,楼主可以再发一个未修正的版本。
想要查看声卡支持的格式请使用楼主写的声卡参数测试软件:
还能顺便检查下最小延迟以及系统定时器分辨率。
以上两个软件基于WASAPI,不支持Windows XP系统。如果遇到问题,可以留言反馈。
如果Windows Vista以上系统无法运行,请安装Visual C++ 2010运行时组件
那么我们开始测试:
可以看到累计时间漂移(正负不抵消)减小到了原来的一半,虽然这没什么作用,但是也可以作为一个浮动的观察值。最重要的是,最大时间漂移降低到了2ms以下。可以说在系统单纯播放音乐,没有干别的事情时,5ms左右的延迟就已经完全足够了。
你还观察到累计时间漂移(正负抵消)为负数,实际上这是因为声卡的时钟与系统的时钟不同造成的。就好像两杆秤的1Kg不一样。如果以声卡的时钟为标准来衡量的话,误差应该很小,只是微妙级别。我前面已经说过了,只要累计时间漂移(正负抵消)的值小于延迟,就不会对声音造成任何影响。
空闲时的测试可以说是太轻松了,让我们做下压力测试吧:
在已运行极品飞车17的情况下,对一首6分30秒192000Hz 24bit的歌曲进行播放测试。
以下测试都做了3次以上,不存在突发情况造成的误差。
延迟2.25ms下的结果
点评:歌曲播放时间直接增加了11秒,最大时间漂移达到40.2ms,是延迟的18倍。这么低的延迟,不但严重影响了音质,还造成了线程频繁切换调用的高负载。楼主已无法忍受,直接丢掉了耳机,默默地开着车。
延迟20ms下的结果
点评:累计时间漂移(正负抵消)和最大时间漂移都超过了延迟,虽然不多,但还是对音质产生了一定的影响。显然至少要有50ms的延迟才能完全满足实际情况。
延迟200ms下的结果
点评:最大时间漂移降低到了1.6ms,由此可以看出对系统和声卡的压力降低了许多,更加稳定了。明显舒缓了许多,楼主开车头都不晕了,心情也不急躁了,当然这很有可能是心理安慰的作用,哈哈。
最大值:341.25ms下的结果
点评:与200ms相似的结果,完全在误差范围之内。进一步减轻了系统的负载,对突发事件也拥有了更强的抵抗能力。
楼主写的最后一个软件,也是前面一直用到的测试工具该登场了:
多数选项对于你的来说意义不大,不过我还是要推荐下第6项(这个工具XP也能运行)
事实上我们无法明确知道Foobar2000等软件采用的缓冲写入算法究竟是否给力,但是我们可以通过计算,得出几个兼容性最好的延迟时间。
上面列出的便是44100Hz 16bit下最具兼容性的延迟。强烈推荐320ms,这是44100这个采样率能够获得的最小整数时间。
如果你希望一个较小的延迟的话,可以设置为50ms:
上面提到的3个工具的下载地址:
声卡检测工具+播放器+延迟测试工具
关于Foobar2000的设置建议:
其实正如Foobar2000作者所说的,只要缓冲足够大,便不会对音质产生多大影响。如果你追求完美的话就把缓冲长度设为320的整数倍,比如1280吧,理由我前面都说过了。
如果你喜欢WASAPI的话就在设备里选择上,然后在高级里这么设置:
本来Event-Mode的缓冲也应该设为320的。很可惜的是,作者写的event mode插件存在很严重的bug,导致延迟大于90ms左右便会声音播放错乱,严重缩短播放时间,这极有可能是WaitForXXXX函数超时时间设置过小造成的。所以我不推荐你用Event-Mode,我更倾向于使用320ms延迟的push mode(实际上push mode最大的缓冲时间能达到2000ms,作者限制为1000ms,估计是在内部做了双缓冲处理)。
线程优先级勾上MMCSS,模式输入Pro Audio,Pro Audio属于多媒体调度优先级最高的模式了。
全文件缓冲这个除了浪费内存,没有任何好处,按作者默认设置0就好:)
终于看完了,如果你觉得本文写的不错,看了之后有所收获,欢迎转载。
没有更多推荐了,

我要回帖

更多关于 usb外置声卡有必要吗 的文章

 

随机推荐