首页 > 代码库 > AMR音频文件格式分析
AMR音频文件格式分析
AMR音频文件格式分析
1 概述
现在很多智能手机都支持多媒体功能,特别是音频和视频播放功能,而AMR文件格式是手机端普遍支持的音频文件格式.AMR,全称是:Adaptive Multi-Rate,自适应多速率,是一种音频编码文件格式,专用于有效地压缩语音频率.AMR音频主要用于移动设备的音频压缩,压缩比非常高,但是音质比较差,主要用于语音类的音频压缩,不适合对音质要求较高的音乐类音频的压缩.
2 AMR编码方式
AMR 一共有16种编码方式. 0-7对应8种不同的编码方式,每种编码方式的采样频率不同; 8-15 用于噪音或者保留用.说明:
- 比特率是指将数字声音由模拟格式转化成数字格式的采样率,采样率越高,还原后的音质就越好.
- 比特率值与现实音频对照:
- 16kbps=电话音质
- 24kbps=增加电话音质,短波广播,长波广播,欧洲制式中波广播
- 40kbps=美国制式中波广播
- 56kbps=话音
- 64kbps=增加话音(手机铃声最佳比特率设定值,手机单声道MP3播放器最佳设定值)
- 112kbps=FM调频立体声广播
- 128kbps=磁带(手机立体声MP3播放器最佳设定值,低档MP3播放器最佳设定值)
- 160kbps=HIFI高保真(中高档MP3播放器最佳设定值)
- 192kbps=CD(高档MP3播放器最佳设定值)
- 256kbps=Studio音乐工作室(音乐发烧友适用)
- 音频数据帧大小的计算:amr 一帧对应20ms,那么一秒有50帧的音频数据.由于比特率不同,每帧的数据大小也不同.如果比特率是12.2kbs.那么每秒采样的音频数据位数为:12200 / 50 = 244bit = 30.5byte,取整为31字节.取整要四舍五入,再加上一个字节的帧头,这样数据帧的大小为32字节.
3 AMR文件结构示范图
下面我们来看一个实际的AMR文件(http://download.csdn.net/detail/ce123/6701049):
从图中可以看出,所有AMR文件头标志是6个字节(最后一个字节是换行符"/n").帧头为0x2C,后面就紧跟的是音频帧.这个文件是每帧21字节.
4 AMR帧头格式分析
AMR语音帧格式为帧头和语音数据组成.
AMR语音帧头占1个字节,如下图所示:
其中:
P = 0;
FT:Frame Type,对应不同编码模式.(参见“2 AMR编码方式”中表格中的说明)
Q:帧质量指示器,0表示为坏帧.
后面的P补0.
5 AMR帧读取算法
因为可能存在异常帧,所以不一定所有的语音帧大小一致,对于跟正常帧大小不一致的,或者帧头跟正常帧头不一致的,就不交给解码器,直接抛弃该坏帧.下面是算法描述流程图.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。