精华内容
下载资源
问答
  • OGG音频格式分析

    千次阅读 2016-05-17 20:48:26
    OGG音频格式概述 Ogg是一个自由且开放标准的容器格式,由Xiph.Org 基金会所维护。Ogg格式并不受到软件专利的限制,并设计用于有效率地流媒体和处理高品质的数字多媒体。 “Ogg”意指一种文件格式,可以纳入各式各样...

    一. OGG音频格式概述

    Ogg是一个自由且开放标准的容器格式,由Xiph.Org基金会所维护。Ogg格式并不受到软件专利的限制,并设计用于有效率地流媒体和处理高品质的数字多媒体。

    Ogg”意指一种文件格式,可以纳入各式各样自由和开放源代码的编解码器,包含音效、视频、文字(像字幕)与元数据的处理。

    Ogg的多媒体框架下,Theora提供有损的图像层面,而通常用音乐导向的Vorbis编解码器作为音效层面。针对语音设计的压缩编解码器Speex和无损的音效压缩编解码器FLACOggPCM也可能作为音效层面使用。

    Ogg”这个词汇通常意指Ogg Vorbis此一音频文件格式,也就是将Vorbis编码的音效包含在Ogg的容器中所成的格式。在以往,.ogg此一扩展名曾经被用在任何Ogg支持格式下的内容;但在2007年,Xiph.Org基金会为了向后兼容的考量,提出请求,将.ogg只留给Vorbis格式来使用。Xiph.Org基金会决定创造一些新的扩展名和媒体格式来描述不同类型的内容,像是只包含音效所用的.oga、包含或不含声音的影片(涵盖Theora)所用的.ogv和程序所用的.ogx

    OGGVobis(oggVorbis)是一种新的音频压缩格式,类似于MP3等的音乐格式。OggVobis是完全免费、开放和没有专利限制的。OggVorbis文件的扩展名是.OGGOgg文件格式可以不断地进行大小和音质的改良,而不影响旧有的编码器或播放器。OGG Vorbis有一个特点是支持多声道。

    二. OGG音频格式剖析

    1.        OGG文件的组织形式

    OGG是以页(page)为单位将逻辑流组织链接起来,每个页都有pageheaderpagedata。如下图1所示:

    A*

    B*

    C*

    ..

    A#

     

    B#

    C#

    D*

     

     

    D#

    Bos   bos   bos              eos             eos    eos bos             eos

    1 OGG文件的组织形式

    上图中的文件链接了两个物理流,ABC三个逻辑流组成一个物理流,逻辑流D单独是一个物理流。一个物理流中的所有逻辑流的bos_page都必须在物理位置上相邻,如图1所示*A**B**C*三个bos_page的位置。   

    bosbeginning of stream;   

    eosend of stream

       

    2.        OGG page页结构

    每个页之间相互独立,都包含了各自应有的信息,页的大小是可变的,通常为4K8KB,最大值不能超过65307bytes27255255*255=65307)。页头部格式如图2

     

      0                  8                  16                 24               31

    OggS

    V

    Header_type

    Granule_position

     

     

    Serial_number

     

    Page_sequence

     

    CRC_checksum

     

    Num_segment

    Segment_table

    …………………………

    …………………………

    …………

    payload

    …………………………

    2 OGG页头部结构

    1)       页标识:ASCII字符,0x4f  'O'  0x67  'g'   0x67 'g'  0x53 'S'4个字节大小,它标识着一个页的开始。其作用是分离Ogg封装格式还原媒体编码时识别新页的作用。

    2)       版本id:一般当前版本默认为01个字节。

    3)       Header_type:标识当前的页的类型,1个字节,

    0x01:本页媒体编码数据与前一页属于同一个逻辑流的同一个packet,若此位没有设,表示本页是以一个新的packet开始的;

    0x02:表示该页为逻辑流的第一页,bos标识,如果此位未设置,那表示不是第一页;

    0x04:表示该页位逻辑流的最后一页,eos标识,如果此位未设置,那表示本页不是最后一页。

    4)       Granule_position:媒体编码相关的参数信息,8个字节,对于音频流来说,它存储着到本页为止逻辑流在PCM输出中采样码的数目,可以由它来算得时间戳。对于视频流来说,它存储着到本页为止视频帧编码的数目。若此值为-1,那表示截止到本页,逻辑流的packet未结束。(小端)

    5)       Serial_number:当前页中的流的id4个字节,它是区分本页所属逻辑流与其他逻辑流的序号,我们可以通过这个值来划分流。(小端)

    6)       Page_seguence:本页在逻辑流的序号,4个字节。OGG解码器能据此识别有无页丢失。

    7)       CRC_cbecksum:循环冗余校验码校验和,4个字节,包含页的32bit CRC校验和(包括头部零CRC校验和页数据校验),它的产生多项式为:0x04c11db7

    8)       Num _segments:给定本页在segment_table域中出现的segement个数,1个字节。其最大值为255.页最大物理尺寸为65307bytes,小于64KB

    9)       Segment_table:从字面看它就是一个表,表示着每个segment的长度,取值范围是0~255

    segment可以得到packet的值,每个packet的大小是以最后一个不等于255segment结束的,从页头中的segment_table可以得到每个packet长度,举例:如果一组segment依次顺序为FF 45 FF FF FF 40 FF 5 FF FF FF66,那么第一个packet的长度为255+69 = 324,第二个packet大小829,同理。

    页头基本上就是由上述的参数组成,由此我们可以得到页头的长度和整个页的长度:

    header_size  = 27+Num_segments;byte

    page_size = header_size +segment_table中每个segment的大小;

     

    3.        OGG封装处理过程(附)

    1)       音视频编码在提供给Ogg封装之前是以具有包边界的“Packets”形式呈现的,包边界依赖于具体的编码格式。如图3所示。   

    2)       将逻辑流的各个包进行分片segmentation,每片大小固定为255Byte,但包的最后一个segment通常小于255字节。因为packet的大小可以是任意长度,由具体的媒体编码器来决定。   

    3)       进行页封装,每页都被加上页头,每页的长度可不等,由具体情况而确定。页头部segment_table域告知了“lacing_value”值的大小,即页中最后一个segment的长度(可以为0,或小于255)。一次处理一个packet,此packet被封装成一个或多个page页(page的长度设定了上限,一般为4kB);下一个packet必须用新的page开始封装,由首部字段域header_type_flag的设置规定来表示。   

    多个已被页格式封装好的逻辑流(如语音、文本、图片、音频、视频等)按应用要求的时序关系合成物理流。

    Logical bitstream with packet boundaries
     -----------------------------------------------------------------
     > |      packet_1            | packet_2         | packet_3 | <
     -----------------------------------------------------------------

                                            |segmentation(logically only)
                        v

    packet_1 (5segments)          packet_2 (4segs)    p_3 (2 segs)
         ------------------------------ --------------------------------
     ..  |seg_1|seg_2|seg_3|seg_4|s_5 | |seg_1|seg_2|seg_3|| |seg_1|s_2 |..
         ------------------------------ --------------------------------

                                    | page encapsulation
                        v

    page_1 (packet_1 data)   page_2 (pket_1data)   page_3 (packet_2 data)
    ------------------------  ----------------  ------------------------
    |H|------------------- |  |H|----------- |  |H|------------------- |
    |D||seg_1|seg_2|seg_3| |  |D|seg_4|s_5 | |  |D||seg_1|seg_2|seg_3| | …
    |R|------------------- |  |R|----------- |  |R|------------------- |
    ------------------------  ----------------  ------------------------

    |
    pages of            |
    other    --------|  |
    logical         -------
    bitstreams      | MUX |
                   -------
                      |
                      v

    page_1 page_2          page_3
          ------  ------  ------- -----  -------
     …  ||   |  ||   | ||    |  ||  |  ||    |  …
          ------  ------  ------- -----  -------
                 physical Ogg bitstream

    图3 OGG封装流程示意图

    4.        OGG Vorbis比特流结构

    Vorbis比特流是以三个数据包头开始的。这些头数据包按顺序依次是:The identification headerThe comment header和设置数据包。这些都与解码Vorbis音频文件密切相关的。

    1)       数据包头结构

    每个数据包都是以同样的头结构开始的:

    u [packet_type] : 8 bit value

    u 0x76, 0x6f, 0x72, 0x62, 0x69, 0x73: the characters'v','o','r','b','i','s' as six octets

    2)       The identification header

    The identificationheader identifies the bitstream as Vorbis, Vorbis

    version, and the simpleaudio characteristics of the stream such as sample rate and number of channels.

    u [vorbis_version] = read 32 bits as unsigned integer

    u [audio_channels] = read 8 bit integer as unsigned必须大于0

    u [audio_sample_rate] = read 32 bits as unsigned integer必须大于0

    u [bitrate_maximum] = read 32 bits as signed integer

    u [bitrate_nominal] = read 32 bits as signed integer

    u [bitrate_minimum] = read 32 bits as signed integer

    u [blocksize_0] = 2 exponent (read 4 bits as unsigned integer)必须小于等于[blocksize_1]

    u [blocksize_1] = 2 exponent (read 4 bits as unsigned integer)

    u [framing_flag] = read one bit不能为0

     

    Thebitrate fields above are used only as hints. The nominal bitrate fieldespecially may be considerably of in purely VBR streams. The fields aremeaningful only when greater than zero.

    a)        All three fields set to thesame value implies a fixed rate, or tightly bounded, nearly fixed-ratebitstream

    b)       Only nominal set implies a VBRor ABR stream that averages the nominal bitrate

    c)        Maximum and or minimum setimplies a VBR bitstream that obeys the bitrate limits

    d)       None set indicates the encoderdoes not care to speculate.

    3)       The comment header

    Thecomment header includes user text comments (\tags") and a vendor stringfor the application/library that produced the bitstream.

    Thecomment header is logically a list of eight-bit-clean vectors; the number ofvectors is bounded to 232 .. 1 and the length of each vector is limited to 232.. 1 bytes. The vector length is encoded; the vector contents themselves arenot null terminated. In addition to the vector list, there is a single vectorfor vendor name (also 8 bit clean, length encoded in 32 bits). For example, the1.0 release of libvorbis set the vendor string to \Xiph.Org libVorbis I20020717".

    The vector lengths and number of vectors are stored lsbfirst, according to the bit packing conventions of the vorbis codec. However,since data in the comment header is octetaligned,they can simply be read asunaligned 32 bit little endian unsigned integers

     

     The comment vectors are structured similarlyto a UNIX environment variable. That is,comment fields consist of a field nameand a corresponding value and look like:

    1 comment[0]="ARTIST=me";

    2comment[1]="TITLE=the sound of Vorbis";

    The fieldname is case-insensitive and may consist of ASCII 0x20 through 0x7D, 0x3D ('=')excluded. ASCII 0x41 through 0x5A inclusive (characters A-Z) is to beconsidered equivalent to ASCII 0x61 through 0x7A inclusive (characters a-z).Thefield name is immediately followed by ASCII 0x3D ('=');

    thisequals sign is used to terminate the field name.0x3D is followed by 8 bit cleanUTF-8 encoded value of the field contents to the end of the field.Field namesBelow is a proposed, minimal list of standard field names with a description ofintended use. No single or group of field names is mandatory; a comment headermay contain one, all or none of the names in this list.

     

    u TITLE Track/Work name

    u VERSION The version field may be used to differentiate multipleversions of the same track title in a single collection. (e.g. remix info)

    u ALBUM The collection name to which this track belongs

    u TRACKNUMBER The track number of this piece if part of a specific largercollection or album

    u ARTIST The artist generally considered responsible for the work. Inpopular music this is usually the performing band or singer. For classicalmusic it would be the composer.For an audio book it would be the author of theoriginal text.

    u PERFORMER The artist(s) who performed the work. In classical musicthis would be the conductor, orchestra, soloists. In an audio book it would bethe actor who did the reading. In popular music this is typically the same asthe ARTIST and is omitted.

    u COPYRIGHT Copyright attribution.

    u LICENSE License information, eg, 'All Rights Reserved', 'Any UsePermitted'.

    u ORGANIZATION Name of the organization producing the track (i.e. the'record label')

    u DESCRIPTION A short text description of the contents

    u GENRE A short text indication of music genre

    u DATE Date the track was recorded

    u LOCATION Location where track was recorded

    u CONTACT Contact information for the creators or distributors of thetrack. This could be a URL, an email address, the physical address of the producinglabel.

    u ISRC International Standard Recording Code for the track; see theISRC intro page for more information on ISRC numbers.

     

    Hint: Field names are not required to beunique (occur once) within a comment header. As

    an example, assume a track was recorded bythree well know artists; the following is

    permissible, and encouraged:

    1 ARTIST=Dizzy Gillespie

    2 ARTIST=Sonny Rollins

    3 ARTIST=Sonny Stitt

    4)       Setup Header

    The setupheader includes extensive CODEC setup information as well as the complete VQand Hu man codebooks needed for decode.

    Thesetup header contains, in order, the lists of codebook configurations,time-domain transform configurations (placeholders in Vorbis I), floorconfigurations, residue configurations,channel mapping configurations and modeconfigurations. It finishes with a framing bit of '1'. 如下图:


    展开全文
  • 音频格式

    2006-12-29 16:44:00
    采样率: 数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音的,实现这个步骤使用的设备是模/数转换器(A/D)它以每秒上万次的速率声波进行采样,每一次采样都记录下了原始模拟声波在某一时刻...
    采样率:
      数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音的,实现这个步骤使用的设备是模/数转换器(A/D)它以每秒上万次的速率对声波进行采样,每一次采样都记录下了原始模拟声波在某一时刻的状态,称之为样本。
      将一串的样本连接起来,就可以描述一段声波了,把每一秒钟所采样的数目称为采样频率或采率,单位为HZ(赫兹)。采样频率越高所能描述的声波频率就越高。 对于每个采样系统均会分配一定存储位(bit数)来表达声波的声波振幅状态,称之为采样分辩率或采样精度,每增加一个bit,表达声波振幅的状态数就翻一翻,并且增加6db的动态范围态,即6db的动态范围,一个2bit的数码音频系统表达千种状态,即12db的动态范围,以此类推。如果继续增加bit数则采样精度就将以非常快的速度提高,可以计算出16bit能够表达65536种状态,对应,96db 而20bit可以表达1048576种状态,对应120db。24bit可以表达多达16777216种状态。对应144db的动态范围,采样精度越高,声波的还原就越细腻。(注:动态范围是指声音从最弱到最强的变化范围)人耳的听觉范围通常是20HZ~20KHZ。
      根据奈魁斯特(NYQUIST)采样定理,用两倍于一个正弦波的频繁率进行采样就能完全真实地还原该波形,因此一个数码录音波的休样频率直接关系到它的最高还原频率指标例如,用44.1KHZ的采样频率进行采样,则可还原最高为22.05KHZ的频率-----这个值略高于人耳的听觉极限,(注: 可录MD,例R900的取样频率为44.1KHZ并且有取样频率转换器,可将输入的32KHz/44.1KHZ/48KHZ转换为该机的标准取样频率44.1KHZ的还原频率足已记示和真实再现世界上所有人再能辩的声音了,所以CD音频的采样规格定义为16bit。44KHZ, 即使在最理想的环境下用现实生活中几乎不可能制造的高精密电子元器件真实地实现了16bit的录音,仍然会受到滤波和声特定位等问题的困扰,人们还是能察觉出一些微小的失真所以很多专业数码音频系统已经使用18bit甚至24bit 进行录音和回放了。

    现有的采样方式:
       MP3:MP3的全称应为MPEG1 Layer-3音频文件,MPEG(Moving Picture Experts Group)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG音频文件是MPEG1标准中的声音部分,也叫MPEG音频层,它根据压缩质量和编码复杂程度划分为三层,即Layer-1、Layer2、Layer3,且分别对应MP1、MP2、MP3这三种声音文件,并根据不同的用途,使用不同层次的编码。MPEG音频编码的层次越高,编码器越复杂,压缩率也越高,MP1和MP2的压缩率分别为4:1和6:1-8:1,而MP3的压缩率则高达10:1-12:1,也就是说,一分钟CD音质的音乐,未经压缩需要10MB的存储空间,而经过MP3压缩编码后只有1MB左右。不过MP3对音频信号采用的是有损压缩方式,为了降低声音失真度,MP3采取了“感官编码技术”,即编码时先对音频文件进行频谱分析,然后用过滤器滤掉噪音电平,接着通过量化的方式将剩下的每一位打散排列,最后形成具有较高压缩比的MP3文件,并使压缩后的文件在回放时能够达到比较接近原音源的声音效果。(另MP3PRO:mp3PRO编码器将音频的录音分成两个部分:mp3部分和PRO部分。mp3部分分析低频段(Low Frequency Band)信息,并将其编码成通常的mp3文件数据流。这就使得编码器能够集中编码更少的有用信息,获得更佳品质的编码效果。同时,这也保证了mp3PRO文件同老的mp3播放器的兼容性。PRO部分分析的则是高频段(High Frequency Band)信息,并将其编码成mp3数据流的一部分,而这些通常在老的mp3解码器里是被忽略的。新的mp3PRO解码器会有效地利用这部分数据流,将两段(高频段和低频段)合并起来产生完全的音频带,达到增强音质的效果。)
      
        WMA:WMA就是Windows Media Audio编码后的文件格式,由微软开发,WMA针对的不是单机市场,是网络!竞争对手就是网络媒体市场中著名的Real Networks。微软声称,在只有64kbps的码率情况下,WMA可以达到接近
    CD的音质。和以往的编码不同,WMA支持防复制功能,她支持通过Windows Media Rights Manager 加入保护,可以限制播放时间和播放次数甚至于播放的机器等等。WMA支持流技术,即一边读一边播放,因此WMA可以很轻松的实现在线广播,由于是微软的杰作,因此,微软在Windows中加入了对WMA的支持,WMA有着优秀的技术特征,在微软的大力推广下,这种格式被越来越多的人所接受。


       WAV:这是一种古老的音频文件格式,由微软开发。WAV是一种文件格式,符合 PIFF Resource Interchange File Format规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。很多朋友没有这个概念,我们拿AVI做个示范,因为AVI和WAV在文件结构上是非常相似的,不过AVI多了一个视频流而已。我们接触到的AVI有很多种,因此我们经常需要安装一些Decode才能观看一些AVI,我们接触到比较多的DivX就是一种视频编码,AVI可以采用DivX编码来压缩视频流,当然也可以使用其他的编码压缩。同样,WAV也可以使用多种音频编码来压缩其音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,和AVI一样,只要安装好了相应的Decode,就可以欣赏这些WAV了。在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如MP3转换成WMA。

       Ogg Vorbis :号称MP3杀手!Ogg Vorbis究竟什么来头呢?OGG是一个庞大的多媒体开发计划的项目名称,将涉及视频音频等方面的编码开发。整个OGG项目计划的目的就是向任何人提供完全免费多媒体编码方案!OGG的信念就是:OPEN!FREE!Vorbis这个词汇是特里•普拉特柴特的幻想小说《Small Gods》中的一个"花花公子"人物名。这个词汇成为了OGG项目中音频编码的正式命名。目前Vorbis已经开发成功,并且开发出了编码器。Ogg Vorbis是高质量的音频编码方案,官方数据显示:Ogg Vorbis可以在相对较低的数据速率下实现比MP3更好的音质!Ogg Vorbis这种编码也远比90年代开发成功的MP3先进,她可以支持多声道,这意味着什么?这意味着Ogg Vorbis在SACD、DTSCD、DVD AUDIO抓轨软件(目前这种软件还没有)的支持下,可以对所有的声道进行编码,而不是MP3只能编码2个声道。多声道音乐的兴起,给音乐欣赏带来了革命性的变化,尤其在欣赏交响时,会带来更多临场感。这场革命性的变化是MP3无法适应的。和MP3一样,Ogg Vorbis是一种灵活开放的音频编码,能够在编码方案已经固定下来后还能对音质进行明显的调节和新算法的改良。因此,它的声音质量将会越来越好,和MP3相似,Ogg Vorbis更像一个音频编码框架,可以不断导入新技术逐步完善。和MP3一样,OGG也支持VBR。


       RA:RA就是RealAudio格式,这是各位网虫接触得非常多的一种格式,大部分音乐网站的在线试听都是采用了RealAudio,这种格式完全针对的就是网络上的媒体市场,支持非常丰富的功能。最大的闪烁点就是这种格式可以根据听众的带宽来控制自己的码率,在保证流畅的前提下尽可能提高音质。RA可以支持多种音频编码,包括ATRAC3。和WMA一样,RA不但都支持边读边放,也同样支持使用特殊协议来隐匿文件的真实网络地址,从而实现只在线播放而不提供下载的欣赏方式。这对唱片公司和唱片销售公司很重要,在各方的大力推广下,RA和WMA是目前互联网上,用于在线试听最多的音频媒体格式。


       APE:APE是Monkey's Audio提供的一种无损压缩格式。Monkey's Audio提供了Winamp的插件支持,因此这就意味着压缩后的文件不再是单纯的压缩格式,而是和MP3一样可以播放的音频文件格式。这种格式的压缩比远低于其他格式,但能够做到真正无损,因此获得了不少发烧用户的青睐。在现有不少无损压缩方案种,APE是一种有着突出性能的格式,令人满意的压缩比以及飞快的压缩速度,成为了不少朋友私下交流发烧音乐的唯一选择。


       ACC:AAC(高级音频编码技术,Advanced Audio Coding)是杜比实验室为音乐社区提供的技术。AAC号称「最大能容纳48通道的音轨,采样率达96 KHz,并且在320Kbps的数据速率下能为5.1声道音乐节目提供相当于ITU-R广播的品质」。和MP3比起来,它的音质比较好,也能够节省大约30%的储存空间与带宽。它是遵循MPEG-2的规格所开发的技术。


       ATRAC 3/ATRAC 3 plus:ATRAC3(AdaptiveTransformAcousticCoding3)由日本索尼公司开发,是MD所采用的ATRAC的升级版,其压缩率(约为ATRAC的2倍)和音质均与MP3相当。压缩原理包括同时掩蔽、时效掩蔽和等响度曲线等,与MP3大致相同。ATRAC3的版权保护功能采用的是OpenMG。目前,对应ATRAC3的便携式播放机主要是索尼公司自己的产品。不过,该公司已于2000年2月与富士通、日立、NEC、Rohm、三洋和TI等半导体制造商签署了制造并销售ATRAC3用LSI的专利许可协议。
     
    展开全文
  • AMR音频格式分析

    2018-11-15 20:56:25
    AMR音频格式分析 2016年10月19日 19:58:24 -鸣人- 阅读数:5058 标签: amr audio 更多 个人分类: audio语音 一. AMR音频格式概述 AMR,全称是:Adaptive Multi-Rate,自适应多速率,是一种音频编码文件...

    AMR音频格式分析

    2016年10月19日 19:58:24 -鸣人- 阅读数:5058 标签: amr audio 更多

    个人分类: audio语音

    一.  AMR音频格式概述

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

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

    1.1   AMR分类

    1.        AMR:

    又称为AMR-NB,相对于下面的WB而言,

    语音带宽范围:300-3400Hz,

    8KHz抽样

     

    2.       AMR-WB:

    AMR WideBand,

            语音带宽范围: 50-7000Hz

            16KHz抽样

     

    “AMR-WB”全称为“Adaptive Multi-rate - Wideband”,即“自适应多速率宽带编码”,采样频率为16kHz,是一种同时被国际标准化组织ITU-T和3GPP采用的宽带语音编码标准,也称 为G722.2标准。AMR-WB提供语音带宽范围达到50~7000Hz,用户可主观感受到话音比以前更加自然、舒适和易于分辨。

    与之作比较,现在GSM用的EFR(Enhenced Full Rate,增强型全速率编码)采样频率为8kHz,语音带宽为200~3400Hz。

    AMR-WB应用于窄带GSM(全速信道16k,GMSK)的优势在于其可采用从6.6kb/s, 8.85kb/s和12.65kb/s三种编码,当网络繁忙时C/I恶化,编码器可以自动调整编码模式,从而增强QoS。在这种应用中,AMR-WB抗扰 度优于AMR-NB。

    AMR-WB应用于EDGE、3G可充分体现其优势。足够的传输带宽保证AMR-WB可采用从6.6kb/s到23.85kb/s共九种编码,语音质量超越PSTN固定电话。

    1.2   AMR编码方式

    1. AMR-NB编码方式

    AMR 一共有16种编码方式, 0-7对应8种不同的编码方式, 8-15 用于噪音或者保留用:

    Frame Type

    Mode Indication

    Mode Request

    Frame content (AMR mode, comfort noise, or other)

    0

    0

    0

    AMR 4,75 kbit/s

    1

    1

    1

    AMR 5,15 kbit/s

    2

    2

    2

    AMR 5,90 kbit/s

    3

    3

    3

    AMR 6,70 kbit/s (PDC-EFR)

    4

    4

    4

    AMR 7,40 kbit/s (TDMA-EFR)

    5

    5

    5

    AMR 7,95 kbit/s

    6

    6

    6

    AMR 10,2 kbit/s

    7

    7

    7

    AMR 12,2 kbit/s (GSM-EFR)

    8

    -

    -

    AMR SID

    9

    -

    -

    GSM-EFR SID

    10

    -

    -

    TDMA-EFR SID

    11

    -

    -

    PDC-EFR SID

    12-14

    -

    -

    For future use

    15

    -

    -

    No Data (No transmission/No reception)

    2. AMR-WB编码方式

    Frame Type Index

    Mode Indication

    Mode Request

    Frame content (AMR-WB mode, comfort noise, or other)

    0

    0

    0

    AMR-WB 6.60 kbit/s

    1

    1

    1

    AMR-WB 8.85 kbit/s

    2

    2

    2

    AMR-WB 12.65 kbit/s

    3

    3

    3

    AMR-WB 14.25 kbit/s

    4

    4

    4

    AMR-WB 15.85 kbit/s

    5

    5

    5

    AMR-WB 18.25 kbit/s

    6

    6

    6

    AMR-WB 19.85 kbit/s

    7

    7

    7

    AMR-WB 23.05 kbit/s

    8

    8

    8

    AMR-WB 23.85 kbit/s

    9

    -

    -

    AMR-WB SID (Comfort Noise Frame)

    10-13

    -

    -

    For future use

    14

    -

    -

    speech lost

    15

    -

    -

    No Data (No transmission/No reception)

     

    说明:

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

     

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

    16kbps=电话音质

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

    40kbps=美国制式中波广播

    56kbps=话音

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

    112kbps=FM调频立体声广播

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

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

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

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

     

    l  音频数据帧大小的计算:

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

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

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

    取整要四舍五入。

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

    二.  AMR音频格式剖析

    AMR文件格式如下所示:

    Header(文件头)

    Speech frame 1(语音帧1)

    Speech fram n(语音帧n)

    它包含一个文件头,然后就是一帧一帧的AMR数据了。

    具体如下:

     

    AMR音频格式分析 - ryanlunar - ryanlunar

     

    2.1 AMR文件头

    AMR 文件支持单声道和多声道。单声道和多声道的文件头是不同的。单声道(AMR-NB)只包含一个Magic number;多声道(AMR-WB)包含Magic number和一个32位的Chanel description field,多声道情况下的32位通道描述字符,前28位都是保留字符,必须设置成0,最后4位说明使用的声道个数。多声道文件头长度比单声道文件头长度大4个字节。

    1.     单声道:

     AMR-NB文件头: "#!AMR\n" (or 0x2321414d520a in hexadecimal)(引号内的部分)

     AMR-WB 文件头:"#!AMR-WB\n" (or 0x2321414d522d57420a in hexadecimal).(引号内)

    2.     多声道:

    多声道的文件头包含一个magic number和32bit channle description域。

    Magic number

    Chan-desc field

    AMR-NB 的magic number:"#!AMR_MC1.0\n"

    (or 0x2321414d525F4D43312E300a in hexadecimal).

    AMR-WB的magic number:"#!AMR-WB_MC1.0\n"

    (or 0x2321414d522d57425F4D43312E300a in hexadecimal).

    32bit的channel description域的定义如下:

     

    AMR音频格式分析 - ryanlunar - ryanlunar

     

    其中 reserved bits必须为0, CHAN:表示当前文件中含有几个声道。

    展开全文
  • 音频格式详解:WAV

    千次阅读 2015-07-13 17:44:39
    (1)音频格式:典型WAV 封装格式是每个音频文件必不可少的组成部分之一,它给我们提供了以下参考信息。音频文件类型、编解码方法、单双声道、采样深度、采样率、量化位数、音频文件大小、长度。下面首先来分析一下...

    (1)音频格式:典型WAV

    封装格式是每个音频文件必不可少的组成部分之一,它给我们提供了以下参考信息。音频文件类型、编解码方法、单双声道、采样深度、采样率、量化位数、音频文件大小、长度。下面首先来分析一下经典的wav音频的封装格式。个人精力有限不可能把每种音视频格式都一一解析,所以这里分别挑选了音频:Wav,视频Mp4两种多媒体文件格式介绍:

    下面我们对每一个字段进行详细的分析。

    整个音频文件包括三个主要部分:

    (1)    文件头描述字段

    (2)    数据头字段

    (3)    数据字段

    (1)    文件头描述字段:

    1.1 Chunk ID:“RIFF”标志位。占用4个字节。数据类型char,偏移地址0x00。存储方式:大端模式

    我们任意打开一个wav音频文件:


    利用十六进制到ASCII转换工具:

    刚好是RIFF

    1.2 Chunk Size:文件大小 。占用4个字节。数据类型long int,偏移地址0x04。存储方式:小端模式

    首先要把大小端调整一下:

    0035E024. 将其转换为十进制:3530788

    总文件大小=3530788+4(RIFF4个字节)+4(Chunk Size) 4个字节。

    总文件大小=3530796 Byte

    我们对比一下:

    1.3 Format:文件标志位。占用4个字节。数据类型char,偏移地址0x08。存储方式:大端模式。

    对应的英文字母:WAVE

    (2)数据头字段

    2.1 Subchunk1 ID:“FMT”标志位。占用4个字节。数据类型char,偏移地址0x0c。存储方式:大端模式。

    2.2Subchunk1 Size:过渡字节。占用4个字节。数据类型int,偏移地址0x10。存储方式:小端模式。

    2.3Audio Format:声音格式。占用2个字节。数据类型int,偏移地址0x14。存储方式:小端模式.


    01表示pcm格式。当然,模拟信号转化为数字信号可以有不同的格式。比如常用的PCM、ACM、LAW

    2.4Num Channels:声道个数。占用2个字节。数据类型int,偏移地址0x16。存储方式:小端模式。02 00 。对应的2个通道

    2.5 Sample Rate:采样率。占用4个字节。数据类型int,偏移地址0x18。存储方式:小端模式.

    0000AC44-》44100 采样速率。

    2.6 Byte Rate:音频传输速率。占用4个字节。数据类型long int,偏移地址0x1c。存储方式:小端模式

    音频传输速率:176000  176KB

    其实这个根据上面的参数是能计算出来的。

     音频传输速率(每秒传输的字节数)=采样率(每秒采样个数)*通道个数*每个采样点的字节数(每个采样点16位,占2个字节)

    这个参数什么作用呢?它直接决定播放这种音频文件需要多大的带宽。

    带宽:带宽指单位时间能通过链路的数据量。通常以bps来表示

    所以,如果播放这个音频,大约需要 1.375M 带宽以上,才能直播音频。否则只能缓冲来播放了。实际上一般不用WAV,都用AAC等压缩率高的音频文件格式。

    2.7 Block Align:数据块调整。占用2个字节。数据类型int,偏移地址0x20。存储方式:小端模式

    2.8 Bits perSample:每个样本中数据位数。占用2个字节。数据类型int,偏移地址0x22。存储方式:小端模式

    10 00这个是啥意思呢?通俗理解就是每个采样点所占的位数。这里是十六。说明44100的采样点,每个点是16个bit的。

    (3)数据字段

    3.1 Subchunk2 ID:“data”标识符。占用4个字节。数据类型char,偏移地址0x24。存储方式:大端模式

    3.1 Subchunk2 Size:音频文件长度。占用4个字节。数据类型long int,偏移地址0x28。存储方式:小端模式

    一个是文件长度,一个是音频数据长度。二者偏移地址分别是0x04 0x28 。刚好相差0x24个字节。

    3.3 Date:为音频数据。长度等信息由具体音频文件决定。

    这里可以把一些音频加密等信息放在这里。或者把音频加密的一些key放在音频文件头部。


    展开全文
  • AAC音频格式分析与解码

    千次阅读 2016-07-23 16:17:34
    一直在做一个语音项目,到了测试阶段,近来不是很忙,想把之前做的内容整理一下。...AAC音频格式分析 AAC音频格式有ADIF和ADTS: ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的
  • Matlab音频格式转换

    千次阅读 2020-05-07 10:46:28
    所需前置知识 读音频 audioread 语法:   [y,Fs] = audioread(filename);   从名为 filename 的文件读取数据,并返回样本...   读取文件所选范围的音频样本,其中 samples 是 [start,finish] 格式的向量。 ...
  • iPhone 音频格式

    2014-07-08 18:17:02
    在做iphone开发之前,我(ray)声音格式了解的相当少。我知道一些“wav”和“mp3”声音格式的差异,但是我肯定不能准确地告诉你“AAC”、“CAF”是什么格式的声音文件,同时也不知道在MAC上最好
  • AAC音频格式分析

    2020-05-23 21:19:21
    T、Sony等公司共同开发,目的是取代MP3格式。2000年,MPEG-4标准出台,AAC重新集成了其它技术(PS,SBR),为区别于传统的MPEG-2 AAC,故含有SBR或PS特性的AAC又称为MPEG-4 AAC。 AAC是新一代的音频有损压缩技术,...
  • 音频格式、编解码

    千次阅读 2013-01-17 09:58:56
    1.音乐格式分类 音乐格式五花八门,多如牛毛,但不外乎分为两大类: 一类为:音乐指令文件(如MIDI),一般由...从播放形式上,声音文件还可以分为“音频流”和“非音频流”,前者能够一边下载一边收听,比如“.W
  • 本文主要介绍了Python编程,用sndhdr模块识别音频格式的相关内容,具体如下。 sndhdr模块 功能描述:sndhdr模块提供检测音频类型的接口。 唯一一个API sndhdr模块提供了sndhdr.what(filename)和sndhdr.whathdr...
  • 音频格式PCM数据简介

    千次阅读 2014-12-19 16:59:49
    1. 音频简介    经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等.  44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声);  22050...
  • 音频格式介绍和说明

    2020-06-28 15:23:45
    零、音频压缩的原理 音频文件压缩的原理很简单:因为有冗余信息,因此可以压缩。 主要有两种方式实现: 频谱掩蔽效应: 人耳所能察觉的声音信号的频率范围为20Hz~20KHz,在这个频率范围以外的音频信号属于冗余...
  • 常见音频格式大盘点分析

    千次阅读 2018-03-18 14:29:32
    常见音频格式大盘点分析取样率指的是每一秒钟取样的数目,其单位为赫兹(Hz),通常CD的采样率为44.1 kHz;DAT (Digital Audio Tape) 的采样率为32,44.1 和 48 kHz,其他常见的采样率还有22.05 和 11.025 kHz等。...
  • AAC 音频格式分析.

    千次阅读 2014-10-22 10:19:42
    AAC ADTS格式分析  2013-07-24 17:36:28| 分类: 音频|举报|字号 订阅 http://wiki.multimedia.cx/index.php?title=Understanding_AAC ...OUTLI
  • 问题描述:Android 可以将录制的arm格式转换成wav格式吗?
  • ACC(Advanced Audio Coding,高级音频编码)是杜比实验室为音乐社区提供的技术。,出现于1997年,基于MPEG-2的音频编码技术。2000年,MPEG-4标准出现后,AAC重新集成了其特性,加入了SBR技术和PS技术,为了区别于...
  • wav音频文件格式

    千次阅读 2019-07-14 20:14:49
    在做音频信号采集或音频信号分析时会经常遇到wav格式的文件,本章将介绍wav文件的格式。wav是基于资源交换文件格式(RIFF(Resource Interchange File Format))的应用之一。RIFF是一种带标签的文件结构,其可以...
  • 音频格式与编码的理解

    千次阅读 2013-10-06 10:12:51
    原文链接地址:http://www.raywenderlich.com/204/audio-101-for-iphone-developers-file-and-data-formats ... 在做iphone开发之前,我(ray)声音格式了解的相当少。我知道一些“wav”和“mp3”声音
  • 常见音频编码格式解析

    千次阅读 2019-11-15 10:11:46
    常见音频编码格式解析 常见音频编码格式解析 MP3编码格式 1MP3概述 2MPEG音频压缩基础 3MPEG Layer3编解码的...
  • 音频定义  1.Audio,指人说话的声音常指300Hz-3400Hz的频带。  2.指存储声音内容的文件。  3.在某些方面能指作为波滤的振动。  音频是个专业术语,人类能够听到的所有声音都称之为音频,它可能包括噪音等。...
  • 数字音源,也就是数字音频格式,最早指的是CD,CD经过压缩之后,又衍生出多种适于在随身听上播放的格式,这些压缩过的格式,我们可以分为两大类:有损压缩的和无损压缩的。这里所说的压缩,是指把PCM编码的或者是WA
  • Theater Systems(数字影院系统),是一种有损多声道家庭影院音频格式,但它用了很高的码率进行编码,通常为768-1536kbps,能够营造出比AC3更好的影院效果。 AC3, 全称为Audio Coding version 3,是Dolby实验室...
  • rtp视频、音频格式解析 一、rtp承载h264解析 rtp承载h264的解析当前实现了两种方式:StapA和FuA NALU头由一个字节组成,它的语法如下: * F: 1个比特. forbidden_zero_bit. 在 H.264 规范规定了这一位必须...
  • MX Player不支持此音频格式(EAC3)

    千次阅读 2021-07-01 09:58:15
    文章目录 问题描述 解决方案 遇到的坑 参考文献 问题描述 MX Player不支持此音频格式(EAC3),MX Player 从 1.69 开始因为授权问题移除了 AC3/DTS 支持 可以使用本人的版本(o98w) 解决方案 查看 MX Player 版本:...
  • 在日常生活,MP3格式使用的非常频繁。 那么到底什么是MP3呢 下面是百度百科的解释 MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III),简称为MP3。...
  • 音频文件格式

    千次阅读 2012-11-23 23:43:50
    一般获取音频数据的方法是:采用固定的时间间隔,对音频电压采样(量化),并将结果以某种分辨率(例如:CDDA每个采样为16比特或2字节)存储。采样的时间间隔可以有不同的标准,如CDDA采用每秒44100次;DVD采用每秒...
  • MP3技术白皮书-音频格式全解析

    千次阅读 2010-10-16 16:37:00
    采样率:  数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音的,实现这个步骤使用的设备是模/数转换器(A/D)它以每秒上万次的速率声波进行采样,每一次采样都记录下了原始模拟...
  • 基于Docker的实用程序,可将音频文件(mp3,m4a,wma)转换为所需的Hörbert音频格式描述 音频播放器需要特定的WAV格式(32khz,16bit,Mono)和文件名(0.WAV,1.WAV等)才能在该设备上播放音频文件。 这个基于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,583
精华内容 23,033
关键字:

对音频格式的描述中