正在阅读:让旋律流淌 小谈高品质数字音频的配置让旋律流淌 小谈高品质数字音频的配置

2012-07-07 00:05 出处:PConline原创 作者:Aimo 责任编辑:censi
1我们为何要配置数字音频?回顶部

  数字音频,这个在现在看上去很简单的东西,却在个人电脑市场刚兴起之时困扰了很多玩家。的确,用现在的眼光来看,当年的电脑破得会咳嗽丝毫不出奇。经过多年的发展,芯片已经足够强力,系统的音频架构也基本成熟,音频播放的途经也愈加多样。从网络到本地,从桌面平台到移动平台,我们已经很少遇到设备发不出声音或者发出奇怪的声音的情况了。

数字音频本身就是一件复杂的事情
数字音频本身就是一件复杂的事情

  数字音频经过多年的发展,拥有了当初难以想象的易用性,普罗大众太过于熟悉萦绕在耳边的一切甚至忘却了数字音频的存在。和老时代不同,我们已经不需要16位采样率声卡的出现而欢呼雀跃,也不必为不同声卡配置乱七八糟的音频API。一粒价值以美分算的Codec芯片,和一套傻瓜式安装的操作系统,已经能满足多数人对声音的需求。

  然而,廉价不等于高品质,易用不等于不值得研究。在这个快节奏的数字化时代,通过互联网传播的声音响彻全球,但那些只流淌在碟片中的旋律却不一定有人聆听。事实上,通过在线音乐服务和搜索引擎获得的数字音频文件,品质很难得到保证——互联网上所流传的多是高压缩低码率的mp3音频,这些劣质的声音丢失了美妙的高频泛音,缺乏醇厚的中频密度,更勿论会有什么低频层次。

噪声
对于讲究的发烧友来说,低品质mp3甚至是噪音

  快餐的确可以填饱肚子,但远谈不上是美味佳肴。方便快捷的网络数字音频的确能打发走无聊的时光,但若是想要静下心来沉浸于旋律中,则需要在音频上更加讲究。在PC-HiFi中,一套音频系统需要考究数字音源、转盘、解码器、放大器以及喇叭等环节,作为一切的基础,数字音源,又显得尤为重要。

  在计算机上,影响数字音源的因素主要是音频文件和音频API。那么,如果想要追求好的声音,需要在这些方面注意一些什么问题呢?下面我们一起来看看。

2数字音频的记录原理和参数回顶部

数字音频的记录原理和参数

  要想知道如何获取好的声音,就必先需要了解声音的原理。我们知道,声音属于机械波,通过振动在各种介质中传播。声音可以分解为不同频率不同强度的正弦波的叠加,这个过程属于傅立叶变换。简而言之,声音可以使用波形来表示,一条波涛汹涌的曲线,也许就是莺歌燕语的本体。

  在模拟音频的时代,人们利用录音带、黑胶唱片记录声波。声波被记录在录音带的磁极和黑胶唱片的凹槽中,机器读取后产生不同的电压,驱动扬声器发音。在数字时代,由于自然产生的声音太过于复杂,无法用具体的数学公式表示,所以没法像模拟音频时代一样画出声波的具体形状以发音。于是,人们只能利用0101组成的非连续的采样点,近似地描绘声波的曲线。

数字音频的原理是使用采样点来绘制音频曲线
数字音频的原理是使用采样点来绘制音频曲线

  数字音频有两个参数尤为重要——采样率和比特率(码率)。既然声波属于曲线,那么将其描绘出来就需要纵横坐标轴:横坐标轴表示时间,纵坐标表示声音振幅等特性。数字音频无法在时间段内连续采样,只能断断续续地在某个特定的时间得到一个采样点,而这些采样点的密集与否,直接关系到对声波曲线的还原。采样点的密集程度被称为采样率,单位为kHz。

声音采样率类似于图像分辨率,越高越精细
声音采样率类似于图像分辨率,越高越精细

  不过,决定声音还原程度的要素不仅仅是采样率——喝西北风的话喝多少也不会饱,到肚子的才是实货。同样,如果采样率很高,但是每个采样点都没有采集什么东西的话,出来的声音往往也不会很好(当然SACD这种怪物除外)。决定采样点所采集数据量的参数被成为比特率(码率),精度单位是bit,吞吐量单位为bps。和视频的码率相似,码越多,马赛克(声音失真)也就越少。

  一般而言,在理论上,人耳能听到的声音频率范围为20-20000Hz。实际上成年人的听力范围还要小一些,能听到的声音频率上限往往不超过17000Hz。理论上(又是理论上),44.1kHz的采样率已经可以还原最高为22.05kHz的声音,16bits的采样精度也足以表达出96db的动态范围——目前的喇叭也很少能回放超过90db的动态范围,于是44.1kHz的采样率和16bits的采样精度就成为了CD数码音频的标配。

采样精度类似于图形的明暗和色彩宽容度
采样精度类似于图形的明暗和色彩宽容度

  注意,以上的数据都只是“理论上的完美”,在一些苛刻的发烧友心中,SACD和高清音频才是标配。但即使如此,在这个互联网时代,在各种设备上所奏响的数字音频依然很少能达到CD的标准。低码率甚至低采样率的音频文件,成为了音频系统的瓶颈。

3抛开有损,拥抱无损回顶部

抛开有损,拥抱无损

  CD的战败,音质的倒退

  CD的音质相当不错,在推出不久后就取代录音带和黑胶唱片成为了主流。CD之所以能够战胜旧式模拟音频载体,除了稳定、声音足够好等特性之外,最大的原因还在于存储的信息多,且体积小,携带方便。但是CD赢得对模拟音频的战争之时是上世纪的80年代,如今互联网的风潮早已经把CD的战果摧毁得七零八落,CD迎来了最强大的敌人——以mp3为代表的压缩音频。

mp3战胜了CD
mp3战胜了CD

  在互联网时代,CD引以为傲的便携性荡然无存。人们更倾向于随身携带0重量0物理体积的音频文件,这样一来音频文件的大小就成为了人们最关心的问题。CD采用了PCM编码,采样率为44.1kHz,采样精度达到16bits,码率则为44.1×16×2(双声道)=1411.2kbps,通过抓轨得到WAV波形文件,视时间长短,一首流行歌曲甚至可达百兆。再看mp3格式,不过区区4、5兆,绝不会像WAV一样塞爆播放器的牙缝。

  便携是CD的长处,然而没有最长只有更长,CD就这样被mp3的长枪戳得血流满地,唱片商不得不年年缩减用在CD上的经费,并哭着抱苹果、亚马逊等网络音乐贩卖商的大腿。然而,mp3把CD驱赶出大部分人的耳边后,却把CD的优良音质也一并赶走了。

iTunes开创了卖歌的新时代
iTunes开创了卖歌的新时代

  mp3属于有损压缩,码率最高不过区区320kbps,连CD码率的零头都没有。码率和体积是难以调和的矛盾,君不见320kbps的mp3文件也动辄上10兆么。平时常见的4、5兆的128kbps mp3,和CD比较音质,身上的硬素质根本打不了几根钉。

  除了mp3以外,其他有损压缩还有WMA、ACC、MPC、OGG等。它们有着不同的特点,如MPC在高码率下有良好的声音素质,OGG则拥有最好的低码率音质。但是这些格式都无法还原成WAV源文件,相比CD都丢失了不少信息。这类音频适合便携,但是若要追求完美的声音,都不应使用。

  无损音频的兴起

  随着互联网的发展,存储介质价格的下调,人们开始不再像当初那样依赖mp3等有损压缩音频的便携性。但是,WAV的巨大体积仍是一堵阻挡在追求高品质音频路上的高墙。这时候,人们开始慢慢接受压缩率远不如有损压缩音频的无损压缩音频,以获得和CD一样的音质。

以APE为代表的无损压缩音频正在崛起
以APE为代表的无损压缩音频正在崛起

  实际上,无损音频压缩在技术上十分讲究。唱片的录制十分复杂,音频格式也经常有革新和变化。衡量某种无损压缩音频格式的标准并非其音质,而是其编码、解码速度、容错率、支持度、压缩比等。下面我们来看一下目前比较主流的无损压缩音频格式。

4常见无损音频格式简介回顶部

常见无损音频格式简介

  APE

  作为最广为人知的无损音频,APE出没于各大资源站,甚至在不少人心中无损就只有APE。这得益于Monkey's Audio对APE编码器的推广。事实上,APE的压缩率十分不错,编码速度也足够快,但是也有着十分致命的弱点。

无损压缩音频的代表APE
无损压缩音频的代表APE

  首先APE解码占用的资源高,涉及到浮点运算。这在移动设备日渐普及的今天,显得尤为格格不入——APE能把你兜里的手机变暖手宝,而且还足以续航四五个小时。大腿贴着热辣辣的硬东西,这在大冬日是多么美好的一件事情啊。

  其次,APE容错率差。基本上,只要出现误码,APE就会爆音或者是直接播不下去。想象一下听着温柔的女声在耳边呻吟之时突然响起“哔——”的声音,真的不知道该露什么表情好。

  再者,APE是一种商业用的压缩技术,并不开源。在中国这种国情特殊的地方这点并没有什么,但在世界范围内就大大影响了它的进一步推广。

  此外,APE对很多先进特性的支持度并不好。APE并不支持流式播放,这意味着它必须完整下载完才能打开;APE不支持回放增益,你听着听着可能就会被某首音量特大的歌曲聋了狗耳;APE也不支持2.0以上的声道,要知道现在家庭影院日渐风行,这会让APE慢慢凋零。

  实际上,虽然目前APE仍是最流行的无损格式,但它的闭源和落后使它正走向淘汰。

  FLAC

  FLAC是一种开源的无损压缩音频编码解码技术,这从它的全称“Free Lossless Audio Codec”中就可见一斑。

大有可为的FLAC
大有可为的FLAC

  FLAC的技术十分先进,唯一的缺点可能就是压缩率一般,但这并不是明显劣势——58%在无损音频中的确算低,但无损音频最好的压缩率表现也不过是53%左右,几个百分点的差距实在是微不足道。

  除了压缩率略逊,FLAC的优点可谓是数不胜数。首先FLAC开源,个人可以自由使用其编码器编码,解码器则不受限制,于是FLAC在各个平台都得到了良好的支持。除此以外,FLAC对误码的容错性十分好,数据出错的时候以静音带过——终于不必忍受惊得人鬼哭神嚎的啸叫和爆音了。

  FLAC支持多声道,支持回放增益,支持流式播放,技术上基本没有短板。最值得一提的是,FLAC的解码过程中不涉及浮点运算,播放FLAC音频十分省电。很遗憾,使用FLAC的话再也不能享受免费的暖手宝了。

  FLAC正渐渐成为最流行的无损音频,连Android最新版也提供了对FLAC的默认支持,FLAC取代APE也许只是时间问题。

  TTA

  TTA是另外一种开源的无损压缩音频,压缩率比FLAC更好,不过其他方面没有FLAC的优势突出。TTA的编码非常迅速,也支持多声道,由于开源的缘故在各大平台都得到了良好的支持。不过,TTA的缺点也很明显,它不支持流式播放,对市面上设备的支持也有限,灵活性也不够好。

  TTA虽然开源,但是由于缺点明显,并没有得到太大的推广。目前TTA的流行度正在下跌。

  TAK

  TAK是一种十分有前途的无损压缩音频,它有着近似APE的压缩率,但解码速度却接近FLAC。它还有着错误侦测功能,基本可以避免误码。它支持多线程编码,编码速度十分快。当然,流式播放也没有被拉下,TAK高效和先进的特性使它大受欢迎。

TAK格式的无损音频
TAK格式的无损音频

  不过,TAK也有它的局限。首先它并非一个开源的编码格式,这在一定程度上阻碍了它的进一步推广。虽然TAK支持高达24bits的采样精度,但是它并不支持多声道,这意味着它不会被蓝光制片商使用。

  ALAC

  ALAC的全称为“Apple Lossless Audio Codec”,没错,这是苹果公司御用的无损音频压缩编码。ALAC的的编码解码速度一般,压缩率也不高,但是所支持的特性颇为先进。ALAC支持流式播放,支持多声道,也部分支持回放增益。

苹果御用格式ALAC
苹果御用格式ALAC

  虽然乍看上去,ALAC对比FLAC、TAK等并没有什么优势。但是,ALAC是苹果官方指定的无损压缩音频格式,又显得意义重大——要知道,世界上一大票人在用iPod、iPhone呢。

  ALAC在今年年初进行了开源,这意味这用户可以使用foobar等第三方工具装载插件后对ALAC进行编码。这样一来就终于能够摆脱该死的iTunes了,这对广大的苹果播放器用户也是一个福音。

  除此以外,无损压缩音频还有WMA Lossless、WavPack等,不过流行度都一般。

5常见音频API简介回顶部

常见音频API简介

  有了高质量的音频文件,那么是否就能得到高质量的数字音频输出呢?不一定。子弹再好也需要枪,音频的输出途经需要得到重视。

再好的车也要好路才能跑得快
再好的车也要好路才能跑得快

  在计算机系统中,如果需要输出音频,就要用特定的方法去驱动Codec、DAC等音频芯片。在调动音频芯片的过程中,需要用到一些特殊的应用程序编程接口,也就是音频API。使用音频API,音频软件如播放器等就可以直接针对API设计输出程序,而不必针对不同的芯片使用不同的指令。音频API可以理解为,声音在输出过程中需要走过的路。路的质量,影响到声音的送达。

  音频API属于声音的输出规范,而各个音频厂商都深谙“控制标准的人就控制了一切”这一套。于是,这些厂商们都针对其旗下的产品开发了属于自己的API。不过,这些API主要用途是实现不同的音效,如游戏中的3D环境音效等,而非播放音乐,所以如果安装了独立声卡,那么选择API就显得尤为重要。

  下面是一些常见的音频API。

  MME

  MME是最常见的Windows音频API,全称为MutiMedia Extensions,即多媒体扩展技术。它历史悠久,兼容性好,市面上基本所有设备都能良好支持。它属于高级的API,并不直接和硬件交流,需要通过层层接口才能访问音频硬件,这也为它带来了高延迟。虽说这种延迟在回放音频的时候并不会造成音质的劣化,但对音频的处理和录制却有着较大的负面影响。

  DirectX Sound

  微软的DirectX大家都一定很熟悉,玩游戏之前都需要先安装一下。实际上,DirectX也包含了音频的部分,主要为游戏提供音频接口,减少游戏中画音不同步的现象。DirectX Sound侧重于音频输出,能直接访问硬件,响应速度得到了极大的提升。

DirectX API包括音频部分
DirectX API包括音频部分

  微软Vista系统之后对DirectX Sound进行了大改,砍掉了DirectX Sound的3D部分,这一举动直接让EAX等依赖于DirectX Sound的3D环境音效欲哭无泪——大佬你动作之前先张声一下啊,这不是砸我饭碗么!

  WDM

  WDM是Windows Driver Module的缩写,拥有低延迟、支持多个音频流等特性。MME延迟高,而Direct Sound并非为专业音频设计,WDM的出现很好地弥补了这些缺点。WDM直接和音频芯片的驱动程序交流,减少了大量中间环节,把延迟降低到一个新的层次,目前不少专业音频软件都提供了WDM接口。

  UAA

  UAA是最新的Windows音频架构,在Vista推出之时面世。UAA全称为Universal Audio Architecture,即通用音频架构,其中用于管理音频对话的API为WASAPI(Windows Audio Session API)。WASAPI可以对每组音频对话单独处理,这显得意义重大。

微软在Vista后开始使用UAA音频架构
微软在Vista后开始使用UAA音频架构

  举个例子,使用WASAPI的时候,如果正在用44.1kHz的采样率播放音乐,但此时音频采样率为48kHz的QQ又响了,就不必以混响解决,不会产生采样率转换(SRC)劣化音质的情况。事实上,WASAPI这个音频API是很多音乐发烧友的标配。

  Kernel Streaming

  就和其名字一样,这个API可以使音频直接访问底层数据,绕过系统的各种接口。它能带给音频极低的延迟。不过Kernel Streaming也有其局限性,首先使用这个API会直接霸占音频硬件,你听歌的时候就没法听到QQ响;其次这个API没有音频输入功能,也没法使用麦克风。

  ASIO

  ASIO是由德国Steinberg公司提供的音频接口,主要应用于专业领域。它的特色在于延迟极地,Windows 自有的 MME 驱动程式其延迟时间为 200~500 毫秒,DirectSound 为 50~100 毫秒,使用ASIO却能把延迟降低至10毫秒以下,十分惊人。

为专业领域而生的ASIO
为专业领域而生的ASIO

  低延迟对声音录制和后期制作有着重大的意义,但是在声音回放上的效果却有争议。有的发烧友认为,ASIO的低延迟可以极大程度地减少音频Jitter(抖动,这个会在后面提到),从而提高音质;但有另一种说法称ASIO对软硬件的环境要求都比较苛刻,如果音频驱动编写水平一般,很容易产生爆音、声音生冷等问题。

  其他常见的音频API还有EAX、OpenAL等,但是这些API一般是在游戏等应用程序中的音效中使用,很少在聆听音乐的时候用到,就略过不提了。

6劣化数字音频的因素回顶部

劣化数字音频的因素:Jitter和SRC

  实际上,在数字音频输出的时候很容易受到一些消极因素影响,使得音频劣化,其中Jitter和SRC是两种比较常见的劣化因子。

  Jitter

  Jitter的意思是抖动,在数字音频系统中可以理解为数字音频信号传输所产生的时差。我们知道,在数字音频系统中,声音以“0101”的数字传输,并有多种手段使误码的可能性降到极地——基本可以看成不会误码。这意味着通过数字传输,音频信号不会有任何损耗,但是否能说数字音频系统能完美地输出音频呢?

Jitter在很多领域都很常见
Jitter在很多领域都很常见

  实际上,还会有其他因素左右着数字音频信号的传输质量,Jitter就是其中一种。在前文中提过,数字音频描绘的声波可以用纵横坐标轴上的采样点来表示,横坐标对应时间。在数字音频的传输过程中,固然我们可以保证数字音频信号没有损耗,但是却很难保证这些信号在预定的正确时间到达终点。由于声音是一种“流”,时间的误差会让声音产生畸变,从而劣化音频。

  产生Jittter的因素很多,抛去信号线、时钟芯片等硬件因素,系统中的驱动程序和音频API也会影响Jitter的多寡。前面提到不少发烧友都选择不适合回放音频的ASIO API来听音乐,为的就是减少Jitter。

  SRC

  SRC的全称为“Sample Rate Converter”,即采样率转换。采样率是数字音频一个十分重要的参数,而不同定位的音频则有着不同的采样率——如CD的采样率一般是44.1kHz,普通视频中的音轨采样率为48kHz,高清音频的采样率能达到192kHz以上。有时候由于种种原因,无法以原本的采样率播放音频,如44.1kHz的CD不得不使用48kHz输出,这个过程就产生了SRC。

SRC示意图
SRC示意图,可以看到SRC后的音频曲线和原样不同

  非整数倍的SRC过程会对声音质量产生极大的负面影响。把44.1kHz转到88.2kHz播放,这没什么;把88.2kHz转到44.1kHz也没什么大问题,总不会比44.1kHz差。但如果把44.1kHz转到48kHz,问题就来了。

  数字音频使用非连续的点来描绘声音曲线,如果是整数倍地转换,那么参考原样删减增加这些点变得很容易。但是如果是非整数倍地转换,事情就一下子变得难办起来了——整数倍转换容易保持曲线的原样,非整数倍由于SRC后的新采样点和原采样点不重合,所以会导致曲线畸变。非整数倍的SRC需要比较好的算法来保证音质,但好算法实在是凤毛麟角。

  SRC在音频回放的时候经常出现,如在最初AC'97的音频规范中,为了节约成本,就约定俗成采用48kHz输出,44.1kHz的CD会被SRC,这也造成了电脑音质不好的口碑。不过现在已经很少机器使用AC'97规范了,在新一代的HD Audio规范中考虑到了SRC的问题,音质已经得到了很大提升。

  Android的音频输出值得另外提出来说一下。在Android 2.2及之前的版本,Android继承了Linux的ALSA(Advanced Linux Sound Architecture)音频架构,Google在ALSA中增加了一个AudioFinger模块,其中包含了AudioResampler(声音重采样器)。这使得Android的音频输出固定在了44.1kHz的采样率上。虽然Android在后面的版本去掉了ALSA库,但是SRC的问题依然存在。

Android的音频系统存在SRC问题
Android的音频系统存在SRC问题

  用Android播放音乐,没问题,大家都是44.1kHz;但是如果用来看视频,很抱歉,44.1kHz和48kHz格格不入,声音的劣化无法避免。希望Google在将来能对Android的音频架构进一步改良,解决SRC的问题。

  结语

  数字音频涉及系统的环节很多,本文所提到的不过是作为整套音频系统基础的音源及其数字输出部分。也许有的朋友会说,我不过是想要随便听听,喇叭能出声就行,何必追求这么多?何况我又不是金耳朵。

  的确如此,很多人都对音频不够重视。即使去组装一台万元级别的电脑,恐怕也没什么人会把独立声卡考虑在内。但是,既然人们会花重金购买高端显卡以获取绚丽的光影,那么洗涤心灵的旋律也理应得到同样的重视。

  另外,并没有什么科学证据能证明“金耳朵”的存在。资深发烧友和普通人的最大差距不在于听力,而在于听音经验以及音频知识储备量。好的音频系统,带给人的感官提升是明显的——即使你没有听音经验,也能感受得到。

金耳朵意味着更好的听音经验知识而非听力
金耳朵意味着更好的听音经验知识而非听力

  音频系统的组建的确比较复杂,在硬件器材上还需要投入不少的金钱。但是调教好数字音源却不需要什么成本,就能带来音质的提升。如果不满于快餐一样的在线音乐,那就不妨按照本文所说的,尝试一下无损音频,并配置好音频API吧,祝大家听音愉快。

关注我们

最新资讯离线随时看 聊天吐槽赢奖品