音频处理过程之音频采集
音频处理过程之音频采集
音频采集是音频处理过程中的关键环节,它涉及将模拟声音信号转换为数字信号。这一过程主要包括采样、量化和编码三个步骤。本文将详细解释这些步骤的工作原理及其重要性。
采样
模拟信号的波形可以看作一个无限连续的点组成,受采集设备、存储空间的影响,无法完整的复刻出模拟信号。需要对模拟信号进行采样,就是在时间轴上的抽样;采样率就是每秒采集的样本数量;从理论上来说采样率越高就越能保存最真实的声音。随之带来的数据量就越大。根据奈奎斯特-香农采样定理,只有当采样率高于声音信号最高频率的2倍时,才能把采集的声音信号唯一地还原成原来的声音;因此要按比声音最高频率高2倍以上的频率对声音进行采样。
量化
抽样值在一定的取值范围内,可有无限多个值。用数字是无法表示的。所以我们要对其进行“四舍五入”的操作取整。将其表示为有限个值。我们用来量化的单位就是位宽,例如8bit、16bit等,16bit表示的范围是[-32768,32767],共有2^16=625536个可能取值,所以最终模拟的音频信号在幅度上也分为了65536层;位宽表示使用多少个二进制位来存储一个采样点的样本值;位深度越高,表示的振幅越精确;数据量就会越大。采样率、位宽还是要根据实际场景来选择,并不是追求越高越好。
编码
量化后的抽样信号在一定的取值范围内仅有有限个可取的样值,且信号正、负幅度分布的对称性使正、负样值的个数相等,正、负向的量化级对称分布。若将有限个 量化样值的绝对值从小到大依次排列,并对应地依次赋予一个十进制数字代码(例如,赋予样值0的十进制数字代码为0),在码前以“+”、“-”号为前缀,来 区分样值的正、负,则量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。简单高效的数据系统是二进制码系统,因此,应将十 进制数字代码变换成二进制编码。根据十进制数字代码的总个数,可以确定所需二进制编码的位数,即字长。这种把量化的抽样信号变换成给定字长的二进制码流的 过程称为编码。
码率计算
码率是衡量音频数据传输或存储速率的重要指标,其计算公式为:
码率 = 采样率 * 位宽 * 声道数
这个公式表明,码率与采样率、量化位宽和声道数成正比。在实际应用中,需要根据具体场景和需求来平衡这些参数,以达到最佳的音质和数据量的折衷。
参考文献
- 《一次搞懂 Android 音频开发》