音频¶
声音三要素¶
- 音调(音频) 小孩>女孩>男孩
- 音量:声音震动幅度
- 音色:谐波
人类的听觉范围:20Hz 到20KHz。
音频编码会把超过人类听觉范围的声音过滤掉。
PCM(脉冲编码调制)¶
模拟信号转换数字信号得到的数据就是PCM数据
这个过程:
- 数据采样
- 量化
- 编码
音频压缩原理¶
消除冗余数据(有损编码)¶
采集过程会采集各种频率声音,可以丢弃人耳无法听到的那一部分声音数据,减少数据的存储。
哈夫曼无损编码¶
除了人耳部分听不到声音压缩之外,其它的声音都原样保留,压缩后的数据能够完全复原。(短码高频,长码低频)。
音频冗余信息¶
压缩主要办法:去除采集的音频冗余信息。人耳听觉范围以外的数据,被遮蔽的音频信号。
遮蔽效应:一个较弱的声音的听觉会被另一个较强的声音影响。
信号:时域冗余,频域冗余
1、频域遮蔽效应¶
- 低声波和超声波遮蔽。
- 频率接近的声音,小声音被大声音遮蔽。
2、时域遮蔽效应¶
同一个时间范围,小声音被大声音遮蔽。
音频格式¶
音频不压缩也可以播放
AAC音频格式有ADIF头(存储磁盘)和ADTS头(用于网络)
将PCM转码成AAC音频流¶
- 设置编码器codec(苹果封装好的),并开始录制
- 手机PCM数据,传给转码器
- 编码完成后回调callback,写入文件
AudioToolBox¶
在AAC编码场景下,源格式就是采集的PCM数据,目的格式就是AAC。
PCM可以直接播放,如果不做网络传输/存储的话,可以直接使用。
AudioConverterRef编码解码关键