【原创】讲讲WAV文件和APE、FLAC

论坛:江湖兵器作者:zihuatanejo发表时间:2011-03-02 13:47
     网上讨论这些问题的很少是专业出身,都是半路出家的爱好者居多,甚至连基本的数字采样概念都不知道,讨论这些问题的时候,叫人看了发笑,特别是一些香港论坛,讨论些玄之又玄的东西,没什么道理,都是商业炒作而已,很多是以讹传讹。前两天在一个论坛上(也是兵器里给的链接)看到,有位香港的爱好者,用弹簧沿地面把音响线架起来,说是能提高效果,差点笑出眼泪。

      笑过后细想一下,这也没什么,爱好者嘛,乐趣就在那里,鼓鼓捣捣就是玩,玩的就是弹簧,至于是不是变好,又有何妨呢,何况这样的苦心也是商家乐意宣传,乐意看到的,否则他们怎么卖脚钉、弹簧和黑金石呀。再说了,香港的那些商家很多是爱好者出身,他们自己天生就认为该那个样子,从来没怀疑过,这已经成一种文化了,同拜黄大仙是一样的。英国佬开汇丰银行,不也得跟着这种文化弄俩狮子摆门口吗,它要不这样做,香港人就认为他们不吉,就不去他们那里存钱。

      言归正传。我今天瞧楼下关于音乐文件的讨论,看靠边老师一脸诚恳,鸡排老师明知道某些说法有错误,但又说不清楚,觉得有必要掺和一下了。我就说说音频文件好了,先表明一下,我做电气工程,数字采样是我的本行。

      就从WAV文件说起吧,因为这是目前所有音频文件的基础。WAV有很多格式,先略去不谈。WAV文件里面就是数字音乐信号,也就是是被数字采样化的音乐信号。

      什么叫采样,简单点说,你看到一个信号,这个信号是时域连续的,就是说在任一个时刻,都有一个值来对应,这样的信号叫模拟信号。模拟信号有很多优点,但也有很多缺点,就是不好存储,容易受到干扰(至于为什么就不解释了,解释这个需要涉及大学里几乎所有电学课程),所以要把它数字化。所谓数字化,就是按照一定的时间间隔(一般是等时间间隔),把那些信号依次采集下来,形成一个序列,这就变成数字信号。这个过程叫PCM——脉冲数字编码过程,为什么这样叫呢,因为这样的采样,相当于在时间域内,把模拟信号与单位脉冲序列进行乘积,所以叫脉冲数字编码

      这里马上涉及到两个问题:1、采样时间间隔是多少?2、用什么单位来表示那一刻的数值?

       这就是采样速度和采样宽度问题,先谈采样速度。

       我们只谈声音采样。声音是一种振动,振动有不同的幅度和不同的频率。幅度就是动态范围,后面再谈。振动频率用赫兹来表示,每秒振动1次叫1赫兹,每秒2次就是2赫兹。我们人耳能听到的频率大约是从20赫兹到20千赫兹。为了要保证信号被可靠地无失真还原,就必须要保证一定的采样频率,这就是著名的香农采样定理。香农采样定理(可以严格地用数学证明)指出,如要保证某个频率的信号能不失真地被还原,采样频率至少是信号的2倍。如此说来,人耳能听到的最高频率是20千赫兹,为了保证所有人耳能听到的声音都不丢失,那么就至少需要40千赫兹的采样频率。实际过程中,使用的是44.1千赫兹的采样频率,略高于40千赫兹,这样做是为了给抗混叠滤波器(一种工程上的必要部件,说起来需要讲到讲到电学的研究生课程)预留了4.1千赫兹的频率带宽。

       接下来说采样宽度,这里只谈2进制的宽度问题,因为数字采样采用的都是2进制。

      现在,我们已经用44.1千赫兹的频率,把模拟信号一个点一个点地采集下来。采集的单位是固定的,在2进制里,就是“比特”(英文是bit)。一个8位的2进制(或叫一个“字节”,英文byte)能表达1-256个比特,一个16位的二进制数(叫两个“字节”或一个“字”,英文word,如此称呼只是一种习惯)能表达1-65536个比特。很显然,后者表达的范围更大一些,我们管它叫作“动态范围”更大,就是它能表达的幅度范围更大。动态范围用对数的20倍来表示的,单位是db。为什么用对数表示?这是因为用对数表示更适合人耳对声音强度的敏感度。为什么要20倍?这也只是习惯,因为20倍后比较符合人耳的量化特性。这已经成为标准,而且从此衍生为其他的工程标准。
 
      一个8位2进制数的最大值是256,最小值是1,它的动态范围就是20×log(256/1)= 48db
      一个16位2进制数的最大值是655366,最小值是1,它的动态范围就是20×log(65536/1)= 96db

       在声学意义上,这意味着一个8位的采样宽度,最大声音和最小声音可以相差48db;一个16位的采样宽度,可以相差96db。显然,后者比前者的范围更大,也就是说能表现更细微的东西。动态范围只是说明有这么大的动态空间可用,但并不一定全部被利用到。必须要把信号调整得适合这个动态空间,使最大声音和最小声音都落在这个范围内,这个动态范围才能被利用,所以录音工程师是需要很多经验的,他要调整麦克风和放大器,保证交响乐的最高潮最大声部分不超过范围(这一点非常重要,否则会产生削波失真,声音很难听),也要保证最细小的声音都不漏过。

      通常的音乐的动态范围在60db之内,所以96db的动态范围已经足够了。现在有很多文件提到了20位采样宽度,或者24位采样宽度,基本没有必要的。唱片公司的很多专业设备是24位的,那样做是为了在做声音处理时保留足够的动态空间,不至于在声音处理、转换时带来额外的失真。但对普通听者来说,完全没有必要。我看见很多有些爱好者把LP老唱片做成24位采样,这就有点玄了。LP唱片的动态范围只有40db,16位采样足够使用了,绝不会丢掉它的“LP味道”。24位也只是让心里好过点,遇到LP放交响乐,声音爆棚时,再宽的位数也改变不了它声音的浑浊感。

       附带说一句,网上对LP的炒作有点过份了。LP的价值在于它的怀旧味道,那种过去的古老声音能给人带来别样的感受,但要说LP的音质比CD好就实在过分了,明明是当年被淘汰的东西,怎么可能比CD更好呢,睁着眼睛说瞎话。这都是卖LP的人搞出的说法。

      CD的采样频率和宽度就是44.1千赫兹,16位,据此我们可以计算出一张CD可记录多长时间的音乐。普通CD是立体声的,有2个声道,每声道采样频率44.1千赫兹;16位宽度,合2字节。每秒钟两个声道产生176,400个字节的数据。每张CD的容量大约780,000,000字节,这样算来,一张CD能记录大约4421秒,合74分钟不到。

      这就是平时所说的CD,它已经成为一种事实上的工业标准。它里面存储的就是:PCM编码的,2个声道并且每声道16位的,44.1千赫兹采样的PCM编码声音数据。这样的数据如果被采集到电脑里(比如用著名的EAC软件),不加任何格式变化,就是所说的WAV文件。通常管这样的WAV文件叫原始文件。

      回放时,播放设备如CD机也好电脑也好,要做的就是把文件里的数据挨个拿出来,用44.1千赫兹的频率放到一个叫DAC的部件里去,使它还原出原来的模拟信号。这个DAC可以在声卡上,也可以是外部配置的,但起的作用是一样的,无非都是把数字信号再变回模拟信号。DAC出来的模拟信号经过传输放大等一系列动作,再经过喇叭放出来。

      也有的声卡会额外变成另一种格式的数字信号: SPDIF。这种转换实质把并行数据变成串行数据(并行、串行概念不多讲,要讲就得用通信学的课程了),是纯粹的数字变化,没有任何数据内容损失,这样做的目的是利于使用外部光纤或者同轴电缆来传输,等传输到远处的另一个设备后,再通过那里的DAC变回模拟信号,避免了直接传递模拟信号耳受到干扰。可以看出,决定变换后模拟信号好坏的关键部件是DAC,其他都不重要。

       搞清楚这些,你就会明白香港佬们用弹簧吧SPDIF线架起来有多可笑了。

       WAV格式的文件有一个问题,就是它比较臃肿,里面水分很大,所以在磁盘上存储时很占空间。有些人就开始打这个主意,发明了APE算法或者FLAC算法。这两个算法从数据存储格式下手,挤掉了WAV文件中的水分,压缩过程中也利用了一点声音的特点来进行(但很少)。它没有改变WAV文件中的每一个音频数字数据,所以在本质上,它保存的还是WAV里的数据,只起到了格式压缩功能。

       从这个角度讲,APE、FLAC压缩与RAR文件压缩没有大区别,可以试试看,把WAV文件用RAR压缩后,与APE和FLAC文件差不了多少。有些软件(比如Foobar),甚至可以直接播放RAR文件。

      因为APE,FLAC与WAV之间是可以无差别转换的,所以管APE、FLAC叫“无失真”压缩,这里的“失真”是相对于WAV格式的。所以说APE,FLAC等同于WAV文件,前两者只是改变了数据的存储方式。三种文件在本质上没有任何区别,软件在播放APE或FLAC时,只不过按照APE或FLAC的存储办法把数据拿出来放到DAC里去,没有任何损失,也绝不会带来音质的差别。

      另外,声音文件有一些固有的特点,人耳在听声音时,也会有一些特点,利用这些特点,可以对声音文件进行更深度的压缩,这样做通常会损失掉一些信息,典型如高频信息(12千赫兹或者16千赫兹)被去掉,从而大幅度降低文件尺度,这种方法叫有损压缩,比如MP3,ogg格式(ogg即可以做有损压缩,也可以做无损压缩)。这种有损压缩也是相对于WAV格式的。

      以上就是WAV、APE、FLAC的关系,希望我能讲清楚了。

1 / 0

zihuatanejo于2011-03-02 13:57编辑

发表回复
 
  • 标题
  • 作者
  • 时间
  • 长度
  • 点击
  • 评价
  •   拜读
  • sanerth 
  • 2011-03-03 00:26
  • 65
  • 580
  • 0/0
  •   提问
  • diwa 
  • 2011-03-02 16:49
  • 589
  • 1087
  • 0/0

京ICP备14028770号-1