1. 音频处理流程
如上图,音频从共享端经过采集、编码压缩 传输到观看端进行解码、渲染完成整个流程.
其中iOS端采集, 可以使用AVFoundation框架, 也可以使用更底层的AudioUnit.
编码压缩 包括有损编码和无损编码.
2. 音频数据各阶段的形态
使用以下两张流程图来进一步说明每一个阶段
3. 声音相关的基础概念
注: Hz - 赫兹, 一秒内振动次数(20Hz : 一秒内振动20次)
声音三要素: 音调、音量、音色.
音调: 音频的快慢(尖锐/低沉)
音量: 振动的幅度
音色: 谐波
4. PCM / WAV
PCM : 音频的纯原始数据, 没有任何格式 .
WAV : 多媒体文件格式, 可以存储PCM原始数据, 也可以存储压缩数据, 但大多数情况下是存储原始数据, 即在PCM原始数据上套一个存储着一些参数(采样大小、采样率、声道数)的header, 以便于播放器正确的播放音频数据.
5. 量化的基本概念
采样大小(位深) : 一个采样用多大的bit存放, 8位或者16位位深, 常用的是16bit(2个字节). 位深越高描述的峰值越大, 峰值越大, 声音波形的强度描述的更清楚.
采样率: 采样频率8k、16k、32k、44.1k、48k, 采样率越高, 数字信号越接近模拟信号(越保真), 否则一些敏感的信息可能被忽略掉, 电话的采样率一般是8k.
声道数: 单声道、双声道、多声道.
6. 码率的计算
PCM音频流码率计算方式: 采样率 * 采样大小 * 声道数
例如: 一个采样率44.1KHz, 采样大小16bit, 双声道的PCM编码的WAV文件,
它的码率为: 44.1k * 16 * 2 = 1411.2 Kb/s