各音频格式的频谱图比较

记得早些时候写过一篇音频格式的频谱图分析比较,可惜原稿已经遗失。频谱图分析的意义在于可以直观的比较音频格式在某一比特率的质量损失,平时转音频格式时可以作为一个相对的量化标准。最近正好想比较一下Apple AAC与Nero AAC编码器编码质量的差别,顺便就连MP3一道做了。放在这里,为对关心音频技术的同学留一些参考。

关于频谱图分析的原理和可行性可以查看各自音频格式的Wiki[1][2]:

http://zh.wikipedia.org/zh/MP3
http://zh.wikipedia.org/zh-cn/AAC

一般的有损音频编码主要是基于滤频的。人耳只能听到20-20kHz频率的声音,理论上把这个范围之外的频率成分全部滤除对人的听感没有影响。事实上一般人对16kHz以上已经不敏感,所以滤频到16kHz左右已经完全可以满足日常需求。又根据奈奎斯特采样定理,两倍于信号带宽的采样率可以重建原信号[3],一般CD的采样率均为44.1kHz,因此理论上基于CD无损的最高带限为22.05kHz。

由于不同音频格式的压缩方案不同,故在同一比特率上的实际质量也是不同的。虽然字面上比特率只决定文件大小,其它一概不决定。但一般说来,同一音频格式的编码比特率越高质量越高,在同等比特率上AAC的质量要好于MP3,像WAV,APE,FLAC这种无损则除外。

本文采用的编码器版本为:
MP3 — lame MP3 Encoder 3.98.2
Apple AAC — iTunes 9.2.1.4 for Windows
Nero AAC — Nero AAC Encoder 1.5.1.0

播放器:
Foobar2000 v1.0.1
转Apple AAC的Shell采用iTunesEncode.exe中间程序

频谱图分析软件:
Adobe SoundBooth CS5

音频理论上应该用试音碟,不过数字音乐只要也无所谓。挑了一个最近听的OST:My Song(Yui Ver.),专辑是Girls Dead Monster的Keep the Beats。从民谣吉他到摇滚,起伏很大。以下的分析可只看带限频率,即最高的频率。

首先是无损的WAV,频谱很饱满:
wav

MP3 CBR格式,分128,192,320kbps三种。
320kbps正好压在20kHz上,在lame里320kbps参数是insane:
mp3 cbr 320

192kbps的大部分压在16kHz上:
mp3 cbr 192

128kbps压在16kHz上,之上全部阻断:
mp3 cbr 128

MP3 VBR格式,可变比特率,效果较CBR好,目前较为流行。
V0,平均245kbps。压在19kHz上:
mp3 vbr v0

V2,常用的参数,平均190kbps,压在18kHz多一点:
mp3 vbr v2

V5,比较用的参数,平均130kbps,压在16kHz:
mp3 vbr v5

Apple AAC,即iTunes的编码器,后缀名为.m4a。
VBR和CBR在(平均)256kbps的表现几乎与无损无异,VBR 256kbps是默认的iTunes Plus格式,是iTunes Store的标准格式:
VBR 256k:
m4a vbr 256

CBR 256k:
m4a cbr 256

VBR和CBR在(平均)192kbps都压在19kHz上,有传言iTunes AAC编码器在VBR和CBR编码方式完全一致,看来并不是空穴来风:
VBR 192k:
m4a vbr 192

CBR 192k:
m4a cbr 192

CBR的128kbps在17kHz左右,比MP3要优越一些:
m4a cbr 128

接下来是Nero AAC编码器,网上的传言是Nero AAC的编码质量不及iTunes,不知道是否这样。后缀名在以前的老版本是aac,新版本是m4a。以下都是VBR。
首先是取参数Q0.79,平均320kbps,几乎无损:
aac vbr q.79

取Q0.66,平均255kbps,结果大部分压在18kbps上,比较失望:
aac vbr q.66

取Q0.53,平均190kbps,仍然压在18kbps上,只是上面的成分更少:
aac vbr q.53

取Q0.40,平均125kbps,压在17kbps上:
aac vbr q.40

总结一下,

新版的lame压缩质量比想象的要好,V5和CBR 128都能到16kbps左右,说明lame对低比特率作了一些改进。V2的表现依旧很好,完全可以满足听歌的需要,当然,收藏还是要insane。

iTunes Plus的效果近乎无损,即使收藏也是没有必要上320了,作为iTunes Store的标准是很让人放心的。一般不推荐其它的压缩比特率了,iPod Shuffle用的CBR 128可以在拷歌时自动转出来,17kHz左右也是比较满意的。

Nero编码器在高比特率上和Apple果然是有一定差距的,低比特率上相仿,比较让人失望。但从文件大小上看,同比特率的Nero AAC文件总比Apple AAC小10%左右(VBR256:9185k/10117k,VBR192:6938k/7537k),推测来说,这个差距并不能掩盖Nero编码器的不足。建议尽量使用iTunes,当然Nero的编码器免费且易获得,则另当别论了。

[1] MP3, 维基百科, http://zh.wikipedia.org/zh/MP3
[2] Advanced Audio Coding(AAC), 维基百科, http://zh.wikipedia.org/zh-cn/AAC
[3] 奈奎斯特采样定理, 维基百科, http://zh.wikipedia.org/zh-cn/%E9%87%87%E6%A0%B7%E5%AE%9A%E7%90%86

鱼尾Swing

国内某理工学校电子类专业85后。热爱PS,热爱WEB,对各种技术都好奇。平时看看动画,听听音乐,做爱做的事。作为工坊的工头,负责工坊的维护,操劳各种苦力工作。

More Posts - Website

Follow Me:
Twitter

2 Responses

  • 通过频谱比较音质就是完全错误的……

    • 通常意义上用频谱比较音质确实是错误的,比较不同的歌曲不能采用此方法。
      关键在于掌握各种压缩格式的原理可以得到是基于人体心理声学模型,也就是基于离散傅里叶变换的滤频(请参见参考文献)。因此,不考虑音源本身的因素时,该处的“音质”实际上是定义为“压缩质量”,比较同一首歌曲的压缩质量可以等价于比较其频谱。

Leave a Reply