1、研究音频的本质,详解各个音频格式的区别总共分为 6 个部分,分别是 wav 格式的介绍,有损格式的介绍,无损压缩格式的介绍,各音频格式的频谱分析,以及基于分析在音频文件选择上做的推荐,后添加有损压缩格式的比较。1.wav 音频格式的三大参数,及各参数对于音频文件的含义wav 文件有 4 个参数,分别是采样频率,声道数,量化位数,以及码率共 4 个而这 4 个参数里最好理解的就是声道数,所以不对此参数进行介绍那么我将要介绍的参数就是采样频率 F,量化位数 B,和码率 R采样频率在三个参数里面最重要的是采样频率,后面两个参数都是基于在传输存储过程中根据要求而得到的,唯独采样频率,它是把模拟世界的信
2、号带到数字世界的桥梁。在讲采样频率前,我们可以先回忆一下我们初中时学抛物线时的情景。在初中时,老师教我们画抛物线时,是用什么方法画的?如果大家回想起来的话,就应该记得,是 5 点法。是的,用 5 个点就可以近似的把抛物线给画出来。音频信号是啥呢?其实是余弦波,只是这个余弦波的频率和幅值都是随时间的变量而已。我们要对这个音频信号进行记录,不可能把每一时刻的值都记录,但是,我们可以参考画抛物线的方法,用尽量少的点去精确的描绘这个音频信号。而采样频率,它干的就是这个活,也就是一秒内我们要记录这个音频信号多少个点,就能近似精确的表达这个音频信号。在信号处理,有这么一个定理,叫奈奎斯特定理。这个定理怎么
3、得来,你们不用知道,这个是信号处理专业的人才需要知道。我们只需了解的是,这个定理它告诉我们,如果我们要精确的记录一个信号,我们的采样频率必须大于等于音频信号的最大频率的两倍,记住,是最大频率。 也就是F=2*fmax。而在 wav 格式里,F=44.1kHz。我们知道,人耳的听音频率范围是 20-20kHz,也就是说,如果我们要精确记录这个音频信号,采样频率最低起码是 40kHz。这就是为啥是 44.1kHz 而不是其他的频率 。量化位数虽然有了采样频率,我们可以精确记录音频信号,然而,这些记录过的音频信号是模拟量,对于计算机而言,是无法处理的。讲到这里,我们会出现一个新的概念,模拟量和数字量
4、。模拟量和数字量是有区别的,我简单的介绍一下。例如 0-1 这个范围。一个线段内我们可以任意的取一个点,这个点的值可以确定,这个点的取值范围可以确定,唯独这个点的可取值的个数无法确定,这就是模拟量。一个可能取值个数无法确定的量,计算机是无法处理的。而数字量则是其余一样,第三点不一样,可取值的个数是可以确定的,这样,计算机可以处理了。0-1 这个范围,根据精度要求,我们可以确定需要取值的个数。而量化位数,这是干这活,确定音频信号的一个记录点,它的取值的可能个数。我们知道,wav 的量化位数 B 是 16,这个是一个 2 进制的位数。他告诉我们,一个记录点可以取值的个数是 2 的 16 次方,也就
5、是 65536。(0-1-平分 65536 次,我想,这个精度也是够了。) 码率现在,采样频率和量化精度都讲了,轮到码率。码率是怎么得来的?非常简单,就是采样频率 X 量化位数 X 声道数,也就是R=F*B*2。R=44.1kHz*16b*2=1411.2kbps=1411kbps。码率 1411 就是这么得来的,虽然码率是通过计算得到,但是,他却有一个确切的含义,就是一秒内它能存储的信息量,记住是信息量。讲到这里,大家可能会联想到,MP3 的 320kbps,aac 的 512kbps,无损压缩格式的700+kbps。然后有人疑惑,是不是,码率越大就越好?对于有损格式而言,那么,码率越大是越
6、好然而,这里有一个前提,被转换的歌必须是从正版 cd 刻录下来的无损格式,并且转换是同一种有损格式,例如都是 MP3。不然,你用一个 128kbs 的 MP3 的歌转成 320kbps 码率的 MP3,音质是不会有改善的。对于无损压缩格式而言,码率的大小比较将没有意义。码率的大小只是告诉你,他的压缩算法是否足够好而已。码率的意义也就这样,他不能告诉你,这些保存的信息是好是坏,他只能告诉你,他存了这么多信息而已。是的,他其实是一个仓库,他不管仓库里放的啥,他只管放满没。好了,到此,wav 格式的三大参数都讲完了,也许会有很多人疑惑,为啥先讲 wav 这个这么古董的格式,而不是 MP3 啊 aac
7、 啦这些有损格式,或者 flac、ape 这些无损压缩格式。理由很简单,因为 wav 是最接近模拟量的数字量,是最原始的数据,后面的格式都是基于 wav 根据自己的特色进行处理而已。而且,上面讲到的三个参数,后面的格式依然用到。自然,先把 wav 这个老大先介绍咯。 2.有损格式的压缩原理在这部分里以及后面的无损格式压缩原理,不专门对某个格式讲行介绍,而是介绍,这些格式是基于什么理念得到。当我们了解 wav 格式三大参数的含义后,可能有人会疑惑,既然 wav 是最接近模拟量的数字格式,为啥还整来后面的有损格式和无损格式呢,直接 wav 多好啊。是的,直接 wav 很好,然而,他的码率太大了。1
8、411kbps,啥概念,就是说一个 10秒的音频,居然要用到 3.36MB 去存储!、在过去存储技术不发达的年代,这个量太大了,让人无法接收。因此,必须压缩,必须把没用或者不重要的信息给去掉减少存储量。因此,有损格式诞生了。 那么,有损格式又是基于什么原理得到的,接下来就是我将要讲的内容。对于一个音频信号而言,他是一个时间相关的信号,也就是说,前后两个记录点,他们有时间上的顺序。然而,对于计算机而言,处理与时间相关的信息,这个不是强项。因此,必须对这个两个记录点的信息进行变换,变换成对时间顺序无关,彼此是独立的一个信息。在这里,感谢早期那些数字信号处理的科学家,他们提供了这么个方法,就是快速傅
9、里叶变换,简称 FFT。我们不需知道 FFT 是怎么来的,我们只需知道,一个信号经过 FFT 变换后,这个信号变成与频率相关的信息,而频率相关的信息,是可以被计算机处理。我们可以回想一下,音频信号是一个个余弦波,处理一个余弦波无非是处理频率、幅值,初相角。初相角我们不管,幅值和频率这个在经过 FFT 变换之后,就可以处理了。经过 FFT 变换之后,如果用图来表示,就是频谱图。频谱图:这个频谱图的横坐标就是频率,纵坐标是对应频率的增益,或者理解成强度也行。对于人耳而言,我们接受的音频信号大部分都集中在中低频部分,高频部分我们相对不是那么敏感。既然这样,我们就可以把不敏感的高频部分,直接去掉,这样
10、,就减少了信息量,这是方法之一。还有另一个,对于音频信号而言,相邻的几个记录点,他们的取值范围是非常接近的。既然非常接近,我们可以用一个平均值,以及取这个平均值的点的个数来记录。举个例子,有 5 个记录点,0.45 0.446 0.461 0.45 0.447,我们可以用 0.45(5)来记录。这样,记录的信息量同样少了,其实还有其他压缩方法,但是,大概的意思是和上面两种方法差不多,就不介绍了。 通过各种手法,我们把不需要的信息去掉,把不重要的信息用近似值代替,从而达到有损压缩。、同样用码率这个参数做对比。同样一个 10 秒音频,经过有损压缩后,其码率值为 320kbp,则大小才 787KB!
11、为 wav 格式的五分之一!用尽量少的数据,存储尽量多有用的信息,有损格式做到了!这也是为啥有损格式流行起来的原因。 3.无损压缩格式的压缩原理随着存储技术的发展,我们可以存储的信息量变得越来越大,存储 wav 格式变得“毫无压力”了。既然毫无压力,为啥要推出无损压缩格式?理由很简单,既然我 40MB 可以存储 2 首无损压缩格式,为啥我还存储 1 首 wav 格式,这不是跟自己过不去嘛。所以,无损压缩格式发展起来了。无损压缩格式和有损格式有个共同点,就是压缩。不同点是,无损。那么,要怎么才能做到无损压缩呢,我们可以参考有损压缩的第二个方法。举个例子,同样是 5 个记录点, 0.4 0.4 0
12、.5 0.5 0.3,如果要无损压缩,我们只需这样记录 0.4( 2),0.5 (2),0.3(1)。这样,我们只需用三个记录点,就能记录原来需要 5 个记录点,同样压缩了。而且,做到无损压缩。这是其中一种思路,但是,他告诉我们,无损压缩对于信息处理而言,是可以做到的。要完整记录一个音频,不需用到 wav 格式,无损压缩就行了。同样用码率这个参数做比较,一个 10 秒音频,经过无损压缩后,码率值为 727kbps,大小为 1.73MB。大概为 wav 的一半。大容量播放器支持无损压缩格式,小容量播放器则玩转有损格式,各有各的位置,技术发展确实是一件好事啊。经常见到有人问 wav、flac 和
13、ape 是不是有区别,那么我就在这里做个总结。经过上面的算法原理介绍,我们可以了解到,如果单纯从文件本身,wav 和其他所有无损压缩格式在保存的信息上是无区别的。经常会看到有人问无损格式相关的两个问题:无损压缩格式之间有没有区别和无损压缩格式与 wav 有没有区别。第一个问题,我现在就可以回答,有。但,区别不是在信息记录的完整程,而是其压缩算法以及算法所采用的格式的区别。这也是为啥,同一首歌,ape 格式比 flac 小,因为算法不同。至于音质表现将会和第二个问题一起,在第五部分讲到4.音频文件频谱分析这一部分是对不同的音频格式以及同一音频格式不同的码率进行分析。专门为那些选择哪种音频格式而烦
14、恼的人提供参考的。待分析的音频格式有 MP3,aac 三种格式,无损格式作为参考格式。由于用 fb 转换,MP3 格式只有 vbr 模式和最高的 cbr320。所以,可能与大家熟悉的码率有所不同。不过,我用括号标明了其对应的码率值,是个大概值,不一定准,不过可以参考。MP3 的码率有 VBR 的 V5(130kbps )V2(190kbps)V0(245kbps)和 CBR 的320kbps。为了对应 MP3 的 VBR 模式,aac 同样采用 VBR 模式aac 的码率有,q04(125kbps )q05(175kbps )q06(225kbps)q08(325kbps)q10(400bps
15、)之所以这么选择,是因为大家习惯的码率值有 128kbps 196kbps 256kbps 和 320kbps。在选择 MP3 的转换模式时其参考码率尽量靠近习惯码率值。因为 aac 在编码上比 MP3 优秀得多,所以 aac 的转换模式是转换后的文件体积大小尽量接近 MP3 大小。至于来个 q10 模式,则是与无损压缩格式做对比的。先来张各音频格式与对应码率的文件体积对比图事先说明,该音频文件截取的是 eason 的十年(40s-60s)这段范围,用的是网上下载的无损,截取软件用 goldwave。先来个体积分析。显然,这里体积最小的是 V5MP3(130kbps ),对应是的 q04aac
16、(125kbps)。第二档次是 V2MP3(192kbps)对应 q05aac(175kbps )。第三档次是 V0MP3(245kbps)对应 q08aac(225kbps)。第四档次是 cbrMP3(320kbps)与对应的 q08aac(325kbps)。最后是 q10aac(400kbps )与对应的 flac。假设原盘是正版的,则其对应的音质档次是低级、初级、中级、高级、以及最高。先上最高级别的声谱图无损声谱图q10aac 声谱图先说明一下,横坐标是时间,纵坐标是频率,点的白色度程度是对应时间与频率的声音强度。所以叫声谱图。通过对比,我们发现,q10aac 在声音的频率再现范围与无损
17、无差别,干到 22kHz 无压力。但是声音的频率再现强度则有缺陷,在一些时间段的频率声音强度缺失下图q10aac 缺陷红色圈住部分则是缺失的部分。可以看出,q10aac 在细节部分依然无法完美记录(毕竟是有损),但是,从整体而言,其保留的信息已经非常接近无损。(个人认为,作为高保真的格式,高码率 aac 是合格的。)然后是高级档次的声谱对比图q08aac320MP3通过对比,我们可以发现,320MP3 的声谱就是一刀切,把高于 20kHz 的频率都去掉,而 q08aac 则是干到 22khz 无鸭梨,在细节上,两者都差不多,我就不上图了,所以,这回合 aac 赢了。中级档次声谱对比图q06aa
18、cv0mp3到了中级档次,MP3 格式在频谱再现范围达到 19kHz,而 aac 则是 18kHz。在声音细节方面,两者基本差不多,这回合,是 MP3 格式胜了。初级档次声谱图q05aacv2mp3在初级档次,MP3 格式的频率平均在 16kHz,不少能上到 18kHz,而 aac 格式,同样如此。但是,在细节呈现方面,aac 超过 16kHz 的声音比 MP3 多得多。而低于 16kHz 部分,两者差不多。所以说,这回合 aac 赢了。低级档次q04aacv5mp3在低级档次,MP3 是一刀切的到 16kHz,而 aac 则是平均 16kHz 下不少能干到17kHz。低于 16kHz 部分,
19、aac 记录的反而没有 MP3 完整。个人认为,这回合打和。通过这次对比,我们可以发现 MP3 与 aac 在有损压缩的理念区别,MP3 是在他能记录的频率范围内,尽量保留。而 aac 则是牺牲低频部分细节去换取高频部分的保留,在低码率下,谁好谁不好看个人选择。到了高码率下,aac 则明显优于 MP3,无论在低频部分还是高频部分,aac 都能尽量保留,而 MP3 则对高频部分依然无能为力。5.音频格式选择的个人推荐在第三部分,我曾经提了两个问题,无损压缩格式之间的音质区别以及 wav 与无损压缩格式的区别,在这里我将解答在第四部分,我们通过声谱图对比了解到有损音频格式的优缺点,为下面的有损格式
20、选择做下铺垫不过,在对第三部分的解答和做格式推荐前,我想先介绍一下音频在播放时的流程图wav 格式:wav 数据流DAC滤波电路放大电路输出有损格式:有损数据流解码DAC滤波电路放大电路输出无损压缩格式:无损压缩数据流解压缩DAC滤波电路放大电路输出说明:DAC 的作用是把数字信号变成模拟信号,滤波电路是把无用的频率成分去掉,放大电路这是对模拟信号进行放大,以便于输出通过播放流程图,我们可以看到,wav 格式的播放是最简单的,而有损格式和无损压缩格式都多了一个步骤。在信号处理里面,有这么一句话“误差无处不在”。这一句话的含义是,每多一步的处理,误差产生的可能性会越大以及误差的积累可能会越多。对
21、于有损格式而言,在格式上本来对于无损格式唯一的优点就是压缩率足够大,而这个压缩率是以牺牲音质为前提,音质不如无损,正常。那些提问“ape 和 flac 是否有区别,wav 是不是比无损压缩格式更好”的人,我现在一一做出解答在回答前,我们先对比无损压缩格式和 wav 的播放流程,可以看到,无损压缩格式比wav 多了一个“解压缩”这个步骤。对于不同的无损压缩格式而言,解压缩的算法也是不同的。那些说 wav 比无损压缩格式好的人,他们的看法有合理之处。为啥我会这么说,不是说无损压缩嘛,既然无损,就应该无区别。是的,在文件的信息完整度上而言,没错,wav 和其他无损压缩格式都没有任何区别!有区别不是在
22、文件本身,而是播放过程!因为无损压缩格式在播放的过程中走的步骤比 wav 格式多了一个!那就是解压缩!假设我们可以保证后面的 DAC、滤波电路、放大电路两者是一样的,然而,多了解压缩的这个步骤,则可能对音质产生影响。为啥我要这么说,解压缩可能会对音质产生影响。产生影响的原理我不清楚,不过,可以参照之前说的,误差无处不在。意味着,解压缩这个步骤,其产生的误差有可能对整体的音质造成影响。至于这个影响是否能忽略,就看生产商的功力了。同样,那些无损压缩格式在最终的音质区别看的也不是格式本身,而是这个“解压缩”做的是否足够好,好到忽视误差的影响。有了上面播放的流程的介绍,还有第四部分的声谱分析,我们就可
23、以根据使用的环境,进行格式推荐。不在乎音频文件体积大小的,追求音质的,首选当然是无损格式。如果你的前端能支持无损压缩格式,而你的播放系统能听出 wav 和无损压缩格式的差距(就是说解压缩的误差你能听出来),上 wav。不然,上无损压缩格式。在乎音频文件体积大小的,又追求音质的,上高码率 aac。不过,这里有个前提,你的播放系统得能听出高码率 aac 与 320MP3 的区别,不然,还是乖乖的上 MP3,别折腾。不在意音质的,上 MP3 就行了。这里都有一个大前提,这些音频文件都是由真无损转的,而不是假无损转的。不然,换个大仓库,里面存的东西依然垃圾。后记:总算把这篇音频格式研究文搞定,不过,得
24、感谢学院里的老师,听歌去了6.有损压缩格式的比较AAC、mp3、wma、ogg 格式比较AAC 实际上是高级音频编码的缩写,目前已经有不少的 MP3、mp4 支持这一种格式。AAC 是由 Fraunhofer IIS-A、杜比和 AT&T 共同开发的一种音频格式,它是 MPEG-2 规范的一部分。AAC 所采用的运算法则与 MP3 的运算法则有所不同,AAC 通过结合其他的功能 来提高编码效率。AAC 的音频算法在压缩能力上远远超过了以前的一些压缩算法(比如 MP3等)。它还同时支持多达 48 个音轨、15 个低频音轨、更多种采样率和比特率、多种语言的兼容能力、更高的解码效率。总之,AAC 可
25、以在比 MP3 文件缩小 30%的前提下提供更好的音质。AAC(高级音频编码技术 Advanced Audio Coding),出现于 1997 年,是基于MPEG-2 的音频编码技术。由 Fraunhofer IIS、杜比、苹果、 AT&T、索尼等公司共同开发,以取代 mp3 格式。2000 年,MPEG-4 标准出台,AAC 从新整合了其特性,故现又称 MPEG-4 AAC,即 m4a。 作为一种高压缩比的音频压缩算法,AAC 通常压缩比为 18:1,也有资料说为20:1,远胜 mp3,而音质由于采用多声道,和使用低复杂性的描述方式,使其比几乎所有的传统编码方式在同规格的情况下更胜一筹。不
26、过直到 2006 年,使用这一格式储存音频的并不多,可以播放该格式的 mp3 播放器更是少之又少,目前所知仅有苹果 iPod,而手机支持 AAC 的相对要多一些,此外电脑上很多音频播放软件都支持 AAC 格式。aac 与 mp3 对比:AAC 是在 MP3 基础上开发出来的,所以两者的编码系统有一些相同之处。但是对比一下两者的编码流程图,你会发现 AAC 的编码工序更为复杂。 (1)AAC 和 MP3 的关键性不同:滤波器组(Filter bank):时域噪音修整(Temporal Noise Shaping,TNS):这项神奇的技术可以通过在频率域上的预测,来修整时域上的量化噪音的分布。在一
27、些特殊的语音和剧烈变化信号的量化上,TNS 技术对音质的提高贡献巨大!预测(Prediction):对音频信号进行预测可以减少重复冗余信号的处理,提高效率。量化(Quantization):AAC 的量化过程是使用两个巢状循环进行反复运算。通过对量化分析的良好控制,比特率能够被更高效地利用。比特流格式(Bitstream format):在 AAC 中,信息的传输都要经过熵编码,以保证冗余尽可能少。此外 AAC 拥有一个弹性的比特流结构,使得编码效率进一步提高。长时期预测(Long Term Prediction,LTP):这是一个 MPEG4 AAC 中才有的工具,它用来减少连续两个编码音框
28、之间的信号冗余,对于处理低码率的语音非常有效。知觉噪音代替(Perceptual Noise Substitution,PNS):这也是 MPEG4 AAC 中才有的工具,当编码器发现类似噪音的信号时,并不对其进行量化,而是作个标记就忽略过去,当解码时再还原出来,这样就提高了效率。(2)AAC 的特点:提升的压缩率:可以以更小的文件大小获得更高的音质;支持多声道:可提供最多 48 个全音域声道;更高的解析度:最高支持 96KHz 的采样频率;提升的解码效率:解码播放所占的资源更少;关于 MP3:MP3 本来就是丢高频,损细节的压缩方法.尤其是音场,由于是 JOINT STEREO,明显被压窄了
29、.后来的 MP3 PRO 就是专门解决高频的,不过没流行起来MP3 实在太流行,加上很多人的耳朵并不像我们这么挑剔,不像 WMA 存在版权问题,于是 MP3 就活到了今天,任你什么 MP4,OGG,VQF,WMA 等等都拿它没办法.关于 wma:WMA 的全称是 Windows Media Audio,它是微软公司推出的与 MP3 格式齐名的一种新的音频格式。由于 WMA 在压缩比和音质方面都超过了 MP3,更是远胜于 RA(Real Audio),即使在较低的采样频率下也能产生较好的音质。一般使用 Windows Media Audio 编码格式的文件以 WMA 作为扩展名,一些使用 Win
30、dows Media Audio 编码格式编码其所有内容的纯音频 ASF 文件也使用 WMA 作为扩展名。WMA 在技术上远比 MP3 先进,96KBPS 就比 128KBPS 的 MP3 强,支持数字签名防盗版,支持楼主说的 TAG 等,最新的 WMA 甚至还支持 5.1。在 64kbps 的数据速率时,在 13000-20000Hz 频率段就能保留了大部分信息。 但 64kbps 的 WMA 的低频表现实在有点令人失望,听上去比较硬,如同加入了哇声效果一般,感觉非常不好,当然比同比特 64K 的 mp3 要好感觉声音更集中。听觉上64WMA 的表现基本接近 128kbps mp3 的音质水
31、平,但没有达到。96K 的 wma 略好于 128K 的mp3,WMA 在高于 128 以上的各种比特率表现相差不大,高频和泛音都很丰富,一般人听不出 WMA128Kbps 以上的音质和音色的差异,总体感觉 WMA 的声音偏硬,适合流行摇滚,如果是古典或者纯人声的话,感觉有点生硬,在低于 128K 时,WMA 对于 MP3 拥有绝对优势!128 以上的 WMA 相比 MP3 会有薄的感觉。 在 128kbps 及以下码流的试听中 WMA 完全超过了 MP3 格式,低码流之王不是浪得虚名的。但是当码流上升到 128kbp 以后,WMA 的音质却并没有如 MP3 一样随着码流的提高而大大提升。 这
32、里再附上 ogg 格式(全称应该是 OGG Vobis)说明:由于 ogg Vorbis 使用了与 MP3 相比完全不同的数学原理,因此在压缩音乐时受到的挑战也不同。在当前的聆听测试中,同样位速率编码的 ogg Vorbis 和 MP3 文件具有同等的声音质量,但是文件体积要确实小点。以上可以看得出 aac 格式相对于 mp3 和 wma 而言,对音乐的表现力更好。对音质要求较高的人还是选择 AAC 的好,(将无损格式直接转高保真 aac 格式(这里算是有损压缩了),再将此 aac 格式音乐转成无损格式,用 aucdtect.exe 却仍检出为 CDDA 100%,可见 aac 格式与无损已经
33、是非常非常非常的接近了 (其实看频谱就能看得出孰优孰劣)总结:想要好的音质,又不想占用太大的空间,AAC 是最为理想的格式了(当然你的播放器得支持该格式了)。如果你需要的波特比很低,推荐用 MP3 PRO 或者 WMA(在 64K 比率下 MP3 PRO 要比 WMA 好得多),而如果是高质量的 MP3 就无所谓了,但还是推荐 MP3,因为它毕竟是相当开放的格式,不象 WMA 一样由 microsoft 一家垄断,只能用 WMP 来播放。就冲这一点我就用 MP3 了。还有不知大家有没发觉用 WMP 播放 MP3 的时候会有染色的情况,我想这也可能是低质 WMA 让人觉得音质比较好的原因之一吧,因为毕竟评测的时候 WMA 只能用他自己的播放器播放,经过专业人员的分析和实验(点击此处查看相关资料) ,flac 的解码速度为三者之最!且利用解码芯片或 cpu 是最少的。由此可以知道,如果要做最省电的 mp3 播放器,flac 是不二选择!而且可以不必花太多的钱在解码芯片的性能上(相对其他两个而言) 。(wav(源文件)100%(一般情况下,数字比较粗略,但是绝非做假)Ape 普通模式 66%Falc 7068%Wma lossless 71%68% Wma(普通)7%10%Mp3 (CBR 192kps)1215%Mp3 (CBR 320kps)21%23%)