跳转至

音频

声音三要素

  1. 音调(音频) 小孩>女孩>男孩
  2. 音量:声音震动幅度
  3. 音色:谐波

人类的听觉范围:20Hz 到20KHz。

音频编码会把超过人类听觉范围的声音过滤掉。

PCM(脉冲编码调制)

模拟信号转换数字信号得到的数据就是PCM数据

这个过程:

  1. 数据采样
  2. 量化
  3. 编码

音频压缩原理

消除冗余数据(有损编码)

采集过程会采集各种频率声音,可以丢弃人耳无法听到的那一部分声音数据,减少数据的存储。

哈夫曼无损编码

除了人耳部分听不到声音压缩之外,其它的声音都原样保留,压缩后的数据能够完全复原。(短码高频,长码低频)。

音频冗余信息

压缩主要办法:去除采集的音频冗余信息。人耳听觉范围以外的数据,被遮蔽的音频信号。

遮蔽效应:一个较弱的声音的听觉会被另一个较强的声音影响。

信号:时域冗余,频域冗余

1、频域遮蔽效应

  1. 低声波和超声波遮蔽。
  2. 频率接近的声音,小声音被大声音遮蔽。

2、时域遮蔽效应

同一个时间范围,小声音被大声音遮蔽。

音频格式

音频不压缩也可以播放

AAC音频格式有ADIF头(存储磁盘)和ADTS头(用于网络)

将PCM转码成AAC音频流

  1. 设置编码器codec(苹果封装好的),并开始录制
  2. 手机PCM数据,传给转码器
  3. 编码完成后回调callback,写入文件

AudioToolBox

在AAC编码场景下,源格式就是采集的PCM数据,目的格式就是AAC。

PCM可以直接播放,如果不做网络传输/存储的话,可以直接使用。

AudioConverterRef编码解码关键