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帧读取算法

由于可能存在异常帧,所以不一定全部的语音帧大小一致,对于跟正常帧大小不一致的,或者帧头跟正常帧头不一致的,就不交给解码器,直接抛弃该坏帧.以下是算法描写叙述流程图.

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2UxMjNfemhvdXdlaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

版权声明:本文博主原创文章,博客,未经同意不得转载。

AMR音频文件格式分析的更多相关文章

  1. AMR音频编码器概述及文件格式分析

    全称Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的. 一.分类 1. AMR: ...

  2. wav音频文件格式解析【个人笔记】(自用)

    1. WAV格式 wav是微软开发的一种音频文件格式,注意,wav文件格式是无损音频文件格式,相对于其他音频格式文件数据是没有经过压缩的,通常文件也相对比较大些.. 支持多种音频数字,取样频率和声道, ...

  3. MP4文件格式分析及分割实现(附源码)

    MP4文件格式分析                   MP4(MPEG-4 Part 14)是一种常见的多媒体容器格式,它是在“ISO/IEC 14496-14”标准文件中定义的,属于MPEG-4的 ...

  4. RIFF和WAVE音频文件格式

    RIFF file format RIFF全称为资源互换文件格式(Resources Interchange File Format),是Windows下大部分多媒体文件遵循的一种文件结构.RIFF文 ...

  5. 多媒体(2):WAVE文件格式分析

    目录 多媒体(1):MCI接口编程 多媒体(2):WAVE文件格式分析 多媒体(3):基于WindowsAPI的视频捕捉卡操作 多媒体(4):JPEG图像压缩编码 多媒体(2):WAVE文件格式分析

  6. 实践2.4 ELF文件格式分析

    实践2.4 ELF文件格式分析 1.ELF文件头 查看/usr/include/elf.h文件: #define EI_NIDENT (16) typedef struct { unsigned ch ...

  7. wav文件格式分析详解

    wav文件格式分析详解 文章转载自:http://blog.csdn.net/BlueSoal/article/details/932395 一.综述    WAVE文件作为多媒体中使用的声波文件格式 ...

  8. Audio-支持多个音频文件格式

    通过使用 audio 元素或对象支持多个音频格式,你可以将更多的听众从多个浏览器吸引到你的网页上. 使用源元素指定多个音频格式 在将 HTML5 audio 元素添加到代码时,可以指定一条在浏览器不支 ...

  9. PE文件格式分析

    PE文件格式分析 PE 的意思是 Portable Executable(可移植的执行体).它是 Win32环境自身所带的执行文件格式.它的一些特性继承自Unix的Coff(common object ...

随机推荐

  1. Android程序猿学习路径

    而一些工作,而不仅仅是通信毕业生,很多学生没有工作或熟练Android工作人员指导的情况下,,如何学习Android而提高Android更多关注的水平. 享: 1.Android知识 1.1.站点资源 ...

  2. Sails.js中文文档

    Sails.js中文文档   http://sailsdoc.swift.ren/ Sails.js是一个Web框架,可以于轻松构建自定义,企业级Node.js Apps.它在设计上类似于像Ruby ...

  3. 对XSD schema文件中elementFormDefault属性的理解

    Schema中的elementFormDefault elementFormDefault取值:qualified 或者 unqualified 在http://www.velocityreviews ...

  4. Twitter实时搜索系统EarlyBird

    twitter要存档tweet采用lucene做全量指数,新发型是实时索引推文.检索实时(10在几秒钟内指数).实时索引和检索系统,称为EarlyBird. 感觉写更清晰,简洁,这个信息是真实的,只有 ...

  5. ASP.NET MVC 5 入门摘要

    翻译和编辑的第一阶段后,.我们已经发出12片ASP.NET MVC 5入门文章. 他们中的大多数来自翻译ASP.NET MVC 5 官方教程,因为本系列文章言简意赅,篇幅适中,从一个web站点演示样例 ...

  6. Oracle游标(光标)

     watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFuZ2xpdXFpbmc=/font/5a6L5L2T/fontsize/400/fill/I0J ...

  7. ServletWeb缓存解决问题

    (1)为什么我们要防止这个问题的浏览器页面缓存: 所以在不须要缓存的页面中须要实现不缓存页面. 代码例如以下: package com.lc.HttpTest; import java.io.IOEx ...

  8. Freedur为什么免费?

    难道没有人看到他们官方网站权? Freedur倒闭了...... 一个中国人.Chris Lee,作为Freedur的会计师.窃取了公司的银行帐号.并将Freedur的官方站点指向自己的空间. 而且声 ...

  9. VS2010使整个过程说明了安装包

    该项目的第一个版本出来,要成为一个包,很长一段时间没做了一些被遗忘,上差了差资料,写了一个,总结下,可能还不是非常完好,仅作參考. 1.首先在打开 VS2010    >新建>项目 2.创 ...

  10. GDI+ 两个汇总 : 为什么CImage类别是根据GDI+的?

    在很多资料上都说CImage类是基于GDI+的,可是为什么是基于GDI+的呢? 由于使用这个类时,并没有增加#include <gdiplus.h> .也没有在程序開始和结束时分别写GDI ...