在一切开始之前有个问题要问大家:为什么要对一个文件进行压缩呢?茫然的你决定暂时不管这个问题去下载点东西,打开了“网抑云”之后你在每日推荐里找到了几首喜欢的歌,心潮澎湃的你觉得遇到了真爱,于是立刻点击了下载想把这几首歌占为己有。在下载选项里你发现有最高音质、极高音质、一般音质几种选项。你觉得听歌肯定要照顾自己的耳朵,于是选了最高音质,结果“网抑云”喊你冲会员,于是你一气之下... 选了极高音质。
回想刚刚的问题,你突然觉得极高音质是不是就是最高音质进行了一些压缩呢?因为极高音质的文件大小比最高音质要小一些。答案当然是肯定的。虽然极高音质的音质不如最高音质来的 nice,但是更小的文件占用的磁盘空间更小,也更方便数据的传输,因此压缩技术对音频十分重要。当然,压缩技术也可以诱使人氪金...
扯远了,那现在我们来了解一下音频中的压缩思路吧。首先,我们看一看文件大小的公式:
文件大小=时长(duration)*采样率(samplingrate)*位深度(bitdepth)*通道数(numberofchannels)
由于一个音频的时长是无法改变的,所以我们只能从降低采样率 / 降低位深度 / 减少通道数入手。
先来看看采样率。采样率越高,一段音频的品质就越好。常用的采样率如图所示:
可以看到最低的采样率是 11025Hz,用于语音和调幅广播。可以看到,调频(FM)广播的采样率是调幅的两倍,这也是为什么我们平常在私家车上收听广播一般选择 FM xxx 而不是 AM xxx 的原因,因为 FM 的音质更好。感兴趣的话可以下次坐车时听听两种广播,进行一下对比。
音频压缩的另一种思路是降低位深度。常用的位深度有 8 位和 16 位,将一个大小为 10MB 左右的 16 位音频文件压缩到 8 位,其文件大小能减小 5MB 左右。一般来说,普通的语音(对音质没有太高要求)的位深度为 8 位,而对于对音质要求较高的音乐来说,位深度通常为 16 位,毕竟没人愿意听全是噪音的歌曲。
那什么是通道数呢?一般来说,立体声是一种声音复制(sound reproduction)的方法,一般来说至少有两个音频通道,这样就能造成“我听到了从两个方向传来的声音耶!”的感觉,使音频立体化,更贴近自然音频。对于一个有两个音频通道的立体声而言,只要减少一个通道,音频文件的大小就会减半。然而,这种操作会对声音造成损害,因此只适合适用于短促的音效或语音中,并不适合使用于音乐中。
此外,音频文件不适于无损压缩,因为具有相同值的连续音频样本并不常见。常用的音频压缩方式是有损压缩,譬如 mp3。但 mp3 提供了一个良好的压缩率,同时保持音频的质量。
作者:时光
审核:白烟