-
- 一 、声音的采集
-
- 1.1声音的物理性质
- 1.2声音的采集
- 二 、数字音频
-
- 2.1数字音频的量化
- 2.2数字音频的存储(编码封装)
- 2.3 wav文件格式
- 2.4 数字音频内存中存储
本文记录音频相关的基础知识, 包括音频数据的格式,即在计算机中如何通过参数去量化采集后的音频数据。
一 、声音的采集
1.1声音的物理性质
声音是一种由物体振动引发的物理现象,比如人讲话时声带的振动,拉二胡时弦的振动等。物体的振动引起周围介质(空气)的振动,并以波的形式向四周传播,当被人耳所接收时就听到了声音,所以声音是听觉对声波的感知。确定声波这一物理性质后,自然会引出两个概念:周期(频率)和振幅。
振幅反映从波形波峰到波谷的压力变化,以及波所携带的能量的多少。主观感受是音量的大小,高振幅波形的声音较大,低振幅波形的声音较安静。
频率反映的是1秒内的周期数,即单位时间内的振动次数。主观感受是声音的音调,频率越高,音调越高。声音按照频率可做如下等级划分:
次声 0~20Hz
人耳能听见的声音 20Hz~20KHz
超声 20KHz~1GHz
特超声 1GHz~10THz
1.2声音的采集
&esmp;根据前文声音的物理性质,只要将振动信号记录下来就可以实现声音的记录。计算机并不使用波形来记录声音,而是使用一串离散的数字来表示频率和振幅。通过麦克风采集声音的流程如下图所示:
&esmp;首先,声波通过空气传播到麦克风的振膜,振膜振动产生相应的模拟信号;然后,通过数模转换器将模拟信号转换为数字信号;最后通过PCM脉冲编码调制对连续变化的模拟信号进行采样、量化、编码转换成离散的数字信号。这就实现了计算机对声音的采集。在音频素材中有一种PCM的文件保存的就是这种转换后的原始音频数据。
二 、数字音频
2.1数字音频的量化
数字音频信号可以通过采样位深、采样率和通道数三个基本参数来表示。
位深:每一个采样的sample的每个通道音频数据通过多少个bit来表示,目前使用的位深有8bit,16bit,24bit,32bit四种, 其中16bit最常用。位深是对声波振动幅度表达的精确程度。8位可以量化出256个值,16位时可以量化出65536个值, 所以位深越大采样带来的失真就越小, 但同时音频数量就越大。
采样率:每秒钟采样的点 sample 数。比如48KHz,就是一秒钟内采集48000个音频sample。根据奈奎斯特采样定理,在A/D转换过程中采样频率必须是被采样信号最高频率的2倍及以上才能完整的保留被采样信号的信息。前面提到人耳可听到的频率范围为 20Hz-20KHz,所以采样频率通常为44.1KHz及其以上, 这样就能保证20KHz的原始声音信号被数字化后音频质量不会降低。
通道数:指同一时间采集或者播放的总音频信号个数。由于存储或者采集设备能力的限制,音频信号通常为单声道的,比如耳机播放的双声道立体声,左右两边就是不同的音频信号。
帧:每次编码时所需的采样点个数。比如MP3编码通常是1152个采样点作为一个编码单元,而AAC编码通常是1024个采样点作为一个编码单元。
帧长:可以指每帧音频的持续播放时间,比如MP3编码的48KHz音频帧长为 1152/48 = 24ms。某些场合帧长指音频压缩后每帧的数据大小。
2.2数字音频的存储(编码封装)
&esmp;根据前面的介绍, 一个 PCM 音频文件的存储大小就是采样位深、采样率、通道数和持续时间的累乘:
存储空间(bit) = 采样位深(bit) × 采样率(Hz) × 通道数(n) × 时长(s)
例如双声道数字音频若采样频率为48KHz,每个采样点按16bit量化,那么其码率为:
48kHz * 16bit * 2 = 1.536Mbit/s
因此数字音频信号如果不经过压缩直接进行传送或者存储,将会占用非常大的网络带宽或者存储空间。
&esmp;音频的编码封装分为有损和无损两种。有损的音频封装格式主要是通过压缩算法把文件大小尽可能减少,但是在解压缩的时候却无法完全还原音频编码前的数据,比如MP3(10:1)和AAC 编码封装格式就属于这一类。无损音频封装则采用可完美还原的压缩算法, 但是压缩比通常不如有损编码的方式,下图列出了有损和无损两种音频编码封装常见的格式:
2.3 wav文件格式
&esmp;&esmp; wav使用无损压缩的方式存储音频数据,先存储音频数据的参数信息(采样率,通道数等)再保存 pcm 音频数据, , 细节如下:
2.4 数字音频内存中存储
多通道音频的存储分为交错模式(Packed)和平面模式(Planar)两种, 这里类似视频YUV像素格式中的YUV420和YUV420p。Packed模式为多个通道音频数据相互交错存储, Planar为每个通道的音频数据连续存储 。两种格式的存储方式如下图所示: