一、声音的三大特征
声音(sound)是由物体振动产生的声波。是通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。最初发出振动(震动)的物体叫声源。声音以波的形式振动(震动)传播。声音是声波通过任何物质传播形成的运动。
1.音调:
音调的高低主要由声波频率决定。人的听觉频率范围是20Hz~20kHz,其中1kHz~4kHz赫兹是人耳最敏感的区域。
2.音响:
音响是由声音强度决定的一种听觉特性。声音强度大,音响就大,声音强度小,音响就小。人所能感觉到的音响范围在0~130分贝,当音响超过130分贝,人耳就会产生痛觉。研究者大多数用纯音来测查音响的感知觉。30岁的成年男子能知觉到音响只有4分贝的6 000赫兹纯音。在同是6 000赫兹的声波频率下,65岁的老年人要把声音强度提高到40分贝才能知觉到同样的声响。
3.音色
波形决定了声音的音色。声音因不同物体材料的特性而具有不同特性,音色本身是一种抽象的东西,但波形是把这个抽象直观的表现。音色不同,波形则不同。每一种声音都有各自的基本波形,称为基波。不同声音的基波中混入的谐波有多有少,导致音质变化多端,也就是音色的不同。基波中混入的谐波越多,也就是泛音越多,听起来就更悦耳。
二、分贝的定义
1.分贝是什么:
分贝dB定义为两个数值的对数比率,这两个数值分别是测量值和参考值(也称为基准值)。存在两种定义情况。
一种为功率之比:
一种为幅值之比:
2.声学中的分贝:
因为人耳的特性,我们对声音的大小感知呈对数关系。所以我们通常用分贝描述声音大小,分贝(decibel)是量度两个相同单位之数量比例的单位,主要用于度量声音强度,常用dB表示。在声学领域,dB经常用作为表征声压级SPL(Sound Pressure Level)的大小。声压的单位是帕斯卡,Pa,声压的参考值是20μPa,这个值表示人耳在1000Hz处的平均可听阈值,或者是人耳在1000Hz处可被感知的平均最小声压波动值。
因此使用声压计算分贝时使用下述版本的公式:
其中的pref是标准参考声压值20微帕。
人耳可听的声压幅值波动范围为2×10^-5Pa~20Pa,用幅值dB表示对应的分贝数为0~120dB。
三、数字信号
1.声音转换为数字信号的过程
1.1声源:
物体通过震动发出声音
1.2麦克风录入:
通过声波带动麦克风内的振膜一起震动来采集音频信号,振膜在震动时会有幅度,我们将振膜的震动过程记录下来,就可以还原声波的形状,以此将声波描述成模拟信号。
1.3采集:
对模拟信号进行量化采集的操作
1.4模数转换器ADC:
将模拟信号转换成为数字信号
1.5输出:
将数字信号存储为pcm无损音频数据裸流
1.6音频存储:
将pcm文件编码成wav,aac,mp3等音频格式进行传输及存储
2.音频的基本属性
2.1采样频率:
每秒钟取得声音样本的次数
奈奎斯特定理:在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>2fmax),采样之后的数字信号完整地保留了原始信号中的信息。
人耳可听的声音20Hz~20kHz,所以CD品质的采样率为44.1kHz就可以完整的保留人耳所能听到的声音,其中1kHz~4kHz赫兹是人耳最敏感的区域,MP3品质为8kHz,就已经可以基本满足收听音乐的需求了
2.2采样位数:
一个采样点所占据的位(bit)数
*1 字节(也就是8bit) 仅仅能记录 256 个数
*2 字节(也就是16bit) 能够细到 65536 个数, 这已是 CD 标准了;
*4 字节(也就是32bit) 能把振幅细分到 4294967296 个等级
一个采样点描述的是当前采集时间的能量(震动幅度),一个采样点所占的位数越多,描述声音的精确度越高,声压级为20μPa~20Pa,等级比为10^6, 4字节等级为4294 * 10^6,远远高于声压级的等计量,所以无需使用这么细致的深度来进行描述,使用2字节就可以满足需求。
2.3通道数:
记录声音的通道数量
*单声道通过一个麦克风收集声音
*立体声需要通过多个麦克风一起收集声音
2.4比特率:
每秒的数据传输速率(kbps)
比特率 = 采样频率 * 采样位数 * 通道数
3.数据存储格式
3.1pcm格式
3.1.1pcm是什么
PCM(Pulse Code Modulation)也被称为脉冲编码调制。PCM音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。
3.1.2pcm的数据格式
3.1.3pcm的特点
PCM音频数据是未经压缩的音频采样数据裸流,是无法直接通过播放器进行播放的,因为pcm中只存储了音频采样数据裸流,采样频率、位深度、通道数等信息都没有进行存储,所以播放器不知道以什么方式来播放pcm数据。因此我们需要将pcm存储为wav格式或编码成其他音频格式进行存储及播放
3.2wav格式
3.2.1wav是什么
WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持。WAVE文件通常只是一个具有单个“WAVE”块的RIFF文件,该块由两个子块(”fmt”子数据块和”data”子数据块)
3.2.2wav的数据格式
wav的实质就是在pcm文件的前面加了一个文件头,让播放器知道该以何种方式来进行播放
四、pcm音频的音量分析
1.获取pcm数据片段buff
2.分析buff数据的大小端
3.分析buff数据的符号(有符号/无符号)
4.根据位深度(8/16位)来获取每个采样点的数据
5.计算采样点的平均value
6.数字信号的分贝计算,需要使用dbFS公式,位深度计算出来的最大值(16位有符号32767,无符号65535)为分母(Pref),采样点value为分子(Prms)通过公式计算分贝。
这样计算出来的数字为负值,0为最大值。16位有符号为-93~0,16位无符号位-90~0.
7.分贝换算,通过dbFS公式计算出来的分贝为负数范围,但数字为线性关系,我们需要将结果等比映射到0~120db即为我们最终的结果