1.amr codec种类
amr一般是指amr-nb,即8kHz采样,有8种比特率的编解码算法。另外有amr-wb,即16kHz采样,9种比特率的编码算法。由于amr-wb采样率高,所以复杂度大概是amr的两倍。amr和amr-wb都属于speech codec,对audio的编码效果并不好,为了提高对audio的编码效果,出现了amr-wb+。amr-wb+可以支持更高的采样率,对speech和audio采用不同的编码算法,对speech采用ACELP编码,对audio采用变换编码。amr-wb+在低比特率上对audio的编码效果与he aac+相当。amr-wb+包含amr-wb,但复杂度更高。
2.amr-nb
The AMR codec is a multi-mode codec that supports 8 narrow band speech encoding modes with bit rates between 4.75 and 12.2 kbps. The sampling frequency used in AMR is 8000 Hz and the speech encoding is performed on 20 ms speech frames. Therefore, each encoded AMR speech frame represents 160 samples of the original speech.
amr-nb支持8种比特率,分别是4.75, 5.15, 5.9, 6.7, 7.4, 7.95, 10.2, 12.2kbps。
amr-nb的采样率为8000Hz,即每秒采样8000次,也就是采样8000个samples。每一帧的间隔是20ms,所以1秒采样50帧数据。所以每一帧数据包含8000 / 50 = 160个samples。
3.amr-wb
Similar to AMR, the AMR-WB codec is also a multi-mode speech codec. AMR-WB supports 9 wide band speech coding modes with respective bit rates ranging from 6.6 to 23.85 kbps. The sampling frequency used in AMR-WB is 16000 Hz and the speech processing is performed on 20 ms frames. This means that each AMR-WB encoded frame represents 320 speech samples.
AMR-WB支持9种比特率,分别是6.6, 8.85, 12.65, 14.25, 15.85, 18.25, 19.85, 23.05, 23.85kbps。
amr-nb的采样率为16000Hz,即每秒采样16000次,也就是采样16000个samples。每一帧的间隔是20ms,所以1秒采样50帧数据。所以每一帧数据包含16000 / 50 = 320个samples。
音频数据帧大小的计算:amr 一帧对应20ms,那么一秒有50帧的音频数据.由于比特率不同,每帧的数据大小也不同.如果比特率是12.2kbs.那么每秒采样的音频数据位数为:12200 / 50 = 244bit = 30.5byte,取整为31字节.取整要四舍五入,再加上一个字节的帧头,这样数据帧的大小为32字节.
录制5s 的amr音频大约需要 32 x 50 x 5 = 8KB (一帧32字节,一秒50帧)