365bet手机官网 热点资讯,篇篇都是10万+!

AMR文件格式分析[图]

08-01栏目:技术
TAG:amr格式

 

amr文件

最近在传输手机录音时,遇到了AMR编码的问题,开始以为可以任意截断amr文件,加个文件头就可以播放的,后来发现是有问题,这样得到的amr音频有些不能正常播放,后来参看amr格式后,才知道amr文件是一帧一帧的,如果是按照完整的帧前面添加文件头,就没问题了,下面是参考的一篇文章:

copyright www.jhua.org

原文地址:http://blog.csdn.net/dinggo/archive/2007/12/25/1966444.aspx

目录

1.概述

2.AMR编码方式

copyright jhua.org

3.AMR文件结构示范图 copyright www.jhua.org

4.AMR帧头格式分析 copyright www.jhua.org

5.异常帧分析 copyright www.jhua.org

6.AMR帧读取算法

7.参考资料

1.概述

现在很多智能手机都支持多媒体功能,特别是音频和视频播放功能,而AMR文件格式是手机端普遍支持的音频文件格式。 copyright jhua.org

AMR,全称是:adaptive Multi-Rate,自适应多速率,是一种音频编码文件格式,专用于有效地压缩语音频率。

www.jhua.org

AMR音频主要用于移动设备的音频压缩,压缩比非常高,但是音质比较差,主要用于语音类的音频压缩,不适合对音质要求较高的音乐类音频的压缩。 copyright www.jhua.org

www.jhua.org

下面是两个AMR示范文件,一个是新闻类,一个是歌曲,可以听出来,音乐类压缩成AMR格式后,音质大大降低。

www.jhua.org

编号 jhua.org

文件名

jhua.org

文件长度 www.jhua.org

时长

jhua.org

1

copyright www.jhua.org

h.amr(歌曲) jhua.org

409KB

www.jhua.org

04:21

www.jhua.org

2

zbc1217.amr www.jhua.org

242KB

www.jhua.org

02:36

copyright jhua.org

copyright jhua.org

jhua.org

2.AMR编码方式

AMR有多种编码方式,每种编码方式的采样频率不同:

copyright jhua.org

www.jhua.org

规格 copyright www.jhua.org

比特率(kbps

jhua.org

音频帧大小(字节)

jhua.org

帧头(字节)

copyright www.jhua.org

FT copyright jhua.org

0 jhua.org

AMR 4.75

13

www.jhua.org

04 00000100

copyright www.jhua.org

0000

www.jhua.org

1

AMR 5.15

copyright jhua.org

jhua.org

14

www.jhua.org

0C00001100

copyright www.jhua.org

0001

jhua.org

2

jhua.org

AMR 5.9

jhua.org

copyright jhua.org

16

14 00010100 www.jhua.org

0010

copyright www.jhua.org

3

copyright www.jhua.org

AMR 6.7 copyright www.jhua.org

18 copyright www.jhua.org

1C00011100

copyright www.jhua.org

0011 jhua.org

4

AMR 7.4 copyright www.jhua.org

20

24 00100100 www.jhua.org

0100

copyright jhua.org

5

AMR 7.95

copyright jhua.org

21

copyright jhua.org

2C00101100 copyright jhua.org

0101

copyright www.jhua.org

6 copyright jhua.org

AMR 10.2

copyright www.jhua.org

www.jhua.org

27

jhua.org

34 00110100 copyright www.jhua.org

0110

7 copyright jhua.org

AMR 12.2

www.jhua.org

copyright jhua.org

32

3C00111100 copyright jhua.org

0111 copyright jhua.org

www.jhua.org

说明:

copyright jhua.org

l比特率是指将数字声音由模拟格式转化成数字格式的采样率,采样率越高,还原后的音质就越好。

copyright www.jhua.org

copyright jhua.org

l比特率值与现实音频对照:

16kbps=电话音质 www.jhua.org

24kbps=增加电话音质、短波广播、长波广播、欧洲制式中波广播 copyright jhua.org

40kbps=美国制式中波广播 copyright www.jhua.org

56kbps=话音 copyright www.jhua.org

64kbps=增加话音(手机铃声最佳比特率设定值、手机单声道MP3播放器最佳设定值)

copyright www.jhua.org

112kbps=FM调频立体声广播 copyright www.jhua.org

128kbps=磁带(手机立体声MP3播放器最佳设定值、低档MP3播放器最佳设定值)

160kbps=HIFI高保真(中高档MP3播放器最佳设定值)

192kbps=CD(高档MP3播放器最佳设定值)

www.jhua.org

256kbps=Studio音乐工作室(音乐发烧友适用)

jhua.org

jhua.org

l音频数据帧大小的计算: copyright jhua.org

amr一帧对应20ms,那么一秒有50帧的音频数据。由于比特率不同,每帧的数据大小也不同。 copyright jhua.org

如果比特率是12.2kbs,那么每秒采样的音频数据位数为:

jhua.org

12200 / 50 = 244bit = 30.5byte,取整为31字节。 jhua.org

取整要四舍五入。

再加上一个字节的帧头,这样数据帧的大小为32字节。 www.jhua.org

3.AMR文件结构示范图

下面是一个AMR文件示范:

jhua.org

jhua.org

copyright jhua.org

jhua.org

jhua.org

从图中可以看出,所有AMR文件头标志是6个字节。(最后一个字节是换行符“\n”)

jhua.org

后面就紧跟的是音频帧。这个文件是每帧32字节。 jhua.org

copyright jhua.org

文件头

copyright jhua.org

语音帧1 copyright jhua.org

语音帧2

jhua.org

jhua.org

jhua.org

4.AMR帧头格式分析

AMR语音帧格式为帧头和语音数据组成。 copyright www.jhua.org

帧头

www.jhua.org

语音数据

jhua.org

www.jhua.org

AMR语音帧头占1个字节,如下图所示:

copyright jhua.org

0

www.jhua.org

1 www.jhua.org

2 www.jhua.org

3 copyright jhua.org

4

jhua.org

5 www.jhua.org

6 www.jhua.org

7 www.jhua.org

P

copyright jhua.org

FT jhua.org

Q jhua.org

P copyright www.jhua.org

P jhua.org

0

jhua.org

www.jhua.org

jhua.org

copyright jhua.org

copyright jhua.org

0

jhua.org

0

www.jhua.org

0

copyright www.jhua.org

其中:

jhua.org

P = 0;

www.jhua.org

FT:Frame Type,对应不同编码模式。(参见“2. AMR编码方式”中表格中的说明)

Q:帧质量指示器,0:表示为坏帧。

jhua.org

后面的P补0。 copyright jhua.org

www.jhua.org

5.异常帧分析

下图是一个出现异常帧的示例:(zbc1217.amr) copyright www.jhua.org

jhua.org

copyright jhua.org

从上图可以看见,本amr音频帧头都是0x3C,但是在0x000091e6处,帧头字节为0x44。与0x3C不一致。而在0x00009243处,才恢复到0x3C。 www.jhua.org

对异常帧的简单处理办法是,遇到异常帧就跳过异常帧。后面的读帧算法有描述。

www.jhua.org

jhua.org

6.AMR帧读取算法

因为可能存在异常帧,所以不一定所有的语音帧大小一致,对于跟正常帧大小不一致的,或者帧头跟正常帧头不一致的,就不交给解码器,直接抛弃该坏帧。

jhua.org

读取帧的算法,用C语言来编写,readAMRFrame.c,java可以用类似的方法。

copyright www.jhua.org

下面是算法描述流程图。

www.jhua.org

www.jhua.org

copyright www.jhua.org

jhua.org

copyright jhua.org

7.参考资料

lrfc3267 www.jhua.org

http://www.rfc-editor.org/rfc/rfc3267.txt

copyright www.jhua.org

http://ietfreport.isoc.org/rfc/pdf/rfc3267.pdf

www.jhua.org

l3GPP TS 26.104 V 6.1.0 (2004-03)

www.jhua.org

http://www.3gpp.org/ftp/Specs/html-info/26104-CRs.htm

jhua.org

l jhua.org

http://blog.sina.com.cn/s/blog_6276232c0100qm0z.html

copyright jhua.org

copyright www.jhua.org

相关阅读

支付宝9.0产品分析报告 copyright jhua.org

这份产品分析报告本来是我最近在网申支付宝时写的分析报告,结果在简历评估阶段就被退回来了,回复曰:此地僧多肉少,请转投其他部门。我

团购网groupon模式有钱赚无竞争 运营模式分析 copyright jhua.org

团购网groupon模式有钱赚无竞争,不知道这个标题会不会惹得大家再次一窝蜂的涌进groupon模式的团购网站,曾经看过不完全统计,说目前国

copyright jhua.org

数据分析逻辑:流量转化漏斗模型详解

copyright www.jhua.org

数据分析能够帮助我们更好地进行运营决策,数据分析能够很好的为转化用户提供参考与数据支撑。商业领域的数据分析,就是为了给商业行 jhua.org

SRS 代码分析【mpeg-ts解析】

SRS 代码分析【mpeg-ts解析】1.SrsTsContext的decode接口定义如下:int SrsTsContext::decode(SrsBuffer* stream, ISrsTsHandler*

www.jhua.org

这可能是最全最深度的分析了:杜蕾斯营销策略分析 jhua.org

杜蕾斯的营销名声可谓人尽皆知,本文将全方位多角度,以独特的洞察视角,揭开杜蕾斯的神秘面纱,带给你精妙绝伦的分析~全文从简介、网络

copyright www.jhua.org

阅读量:100000+
上一篇:mac下的流氓mackee
推荐量:6872
下一篇:键盘按键显示软件

'); })();