编码后的音频,解析->解码->渲染
数据采集(采样率:G711A(8-bit A-Law Compressed)默认8k)PCM数据—>编码—>解码(.wav文件)
1 采样率
每秒钟取得声音样本的次数。(8K,16K)(目前G711,G726只支持8K,G722只支持16K)
采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多。由于人耳的分辨率很有限,太高的频率并不能分辨出来。每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示,采样率是指将模拟信号转换成数字信号时的采样频率,也就是单位时间内采样多少点,采样频率越高声音的还原就越真实越自然。
2 比特率(码率) (G711只支持64K,G722只支持16K,G726只支持16K)
每秒传送的比特数(bit per second)。(比特率表示经过编码(压缩)后的音视频数据每秒钟需要用多少个比特来表示)
比特率越高;音频、视频的质量就越好;但编码后的文件就越大。
通道:单双通道 左右耳
3 采样精度(样位) (目前编码只支持单通道,16位)
8位,16位还是32位
4 MP3音频压缩
音频压缩包含编码和解码两个部分(先将原始声音数据分成固定的分块,然后作顺向MDCT变换,MDCT本身并不进行数据压缩,只是将一组时域数据转换成频域数据,以得知时域变化情况,顺向MDCT将每块的值转换为512个MDCT系数。量化使数据得到压缩,在对量化后的变换样值进行比特分配时要考虑使整个量化块最小,这就成为有损压缩了)
编码:是将【WAV文件中的数据】转换成【高压缩率的位流形式】。(通过混合滤波器组将原始声音变换到频率域,利用心理声学模型,估算刚好能被察觉到的噪声水平,再经过量化,转换成Huffman编码,形成MP3位流)。编码实质是减少音频中的冗余。
解码:是【接受位流】并将其重建到【WAV文件中】。(解码器要简单得多,它的任务是从编码后的谱线成分中,经过反量化和逆变换,提取出声音信号)
MP3: 是一种高效的计算机音频编码方案,它以较大的压缩比将音频文件转换成较小的扩展名为.mp3的文件,基本保持源文件的音质,MP3是ISO/MPEG标准的一部分。
5 PCM数据
- pcm是裸数据,不带有任何编码格式的,
- pcm数据既是编码前的数据格式,也是解码后的数据格式
一帧PCM是由2048次采样组成。未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。PCM中的声音数据没有被压缩,如果是单声道的文件,采样数据按时间的先后,
{AAC和ARM都是对PCM进行编码,你可以理解为压缩,因为PCM是最原始采集到的数字信号,是无损的,体积很大不利于网络传输。G711也是对PCM的编码,你可以理解为和AAC一样}
6 每帧播放时间大小:
音频每帧播的秒数=每帧大小(样本个数)*1000/(采样率*位数/8*通道)
例如:
audio media Info: nSise:2048,nSampleRate:48K,channel:1,bitsPerSample:16,码率:128K
2048*1000/(48000*2)=21ms
7 编码后的音频大小
实际码率=采样率*位数=48K*16=768K(8000个采样点) 。码率单位:bps(bit/s)
编码压缩率是=768K/128K=6(实际的真实压缩比算不出来,是变化的)
一帧AAC编码数据大小:2048/6=341(大约是768)
8 音量
对一帧数据,计算所有采样点的平方和,然后求平均,再取对数,就是该帧语音信号的能量,表示的就是音量的大小。