音频基础教材_第1页
音频基础教材_第2页
音频基础教材_第3页
音频基础教材_第4页
音频基础教材_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录

-:音频入门.....................................................................1

(-)声音三要素.............................................................1

1.音调(音频)..........................................................1

2.音量(振幅)..........................................................1

3.音色(谐波)..........................................................2

(-)模数转换...............................................................2

(三)音频原始数据...........................................................2

(四)音频帧大小的计算(采样率和时间间隔的区别)...........................3

(五)PCM存储格式..........................................................3

(六)WAVheader......................................................................................................................4

二:音频处理流程.................................................................5

(-)直播客户端的处理流程..................................................5

1.音视频采集:.........................................................5

2.音视频编码:..........................................................5

3.音视频传输:..........................................................6

4.音视频解码:..........................................................6

5.音视频渲染:..........................................................6

(-)音频数据的流转(格式的转换)..........................................6

三:音频采集.....................................................................6

(-)各平台音频采集方式.....................................................6

l.Android端音频采集:..................................................6

2.ios端音频采集:.......................................................7

(-)FFMpeg采集音频方式(集成上面所有平台)..............................7

L通过命令方式(不同平台可能不同)......................................7

2.通过API方式.........................................................8

(三)FFmpeg编程采集音频..................................................8

1.打开输入设备..........................................................8

2.从音频设备中读取音频数据.............................................9

3.录制成为音频文件....................................................11

四:音频压缩....................................................................12

(-)音频有损压缩技术(消除冗余信息)....................................12

(-)音频无损压缩技术.....................................................13

(三)音频编码过程..........................................................13

(四)常见的音频编码器.....................................................13

五:AAC编码....................................................................14

(-)AAC编码器介绍.......................................................14

(-)ADTS格式.............................................................15

l.adts_fixed_header();.........................................................................................................16

2.adts_variable_header();...............................................................................................17

3.代码实现头部的添加:................................................17

4.AAC首部分析:......................................................18

5.命令行提取AAC文件..................................................19

六:音频重采样..................................................................19

(-)什么是音频重采样.....................................................19

1.为什么需要重采样2.如何知道是否需要进行重采样?....................................19

3.重采样的步骤4.重采样相关API.........................................................................20

(-)编程实现音频重采样....................................................20

1.音频处理基本概念及音频重采样.......................................20

2.代码实现.............................................................21

七:创建AAC编码器.............................................................24

(——)FFmpeg编石马过程......................................................25

L创建并打开编码器......................................................25

2.获取输入输出数据......................................................25

(-)FFmpeg代码实现(重采样+编码为AAC)..........................................................25

音频入门

一:音频入门

(-)声音三要素

声音三要素

♦音调:就是音频,男生♦女生一儿童

♦音量:振动的幅度

♦音色:它与材质有很大关系,本质是谐波

2,音量(振幅)

音频入门

量化基本概念码率计算

♦要声一个PCM解澹的码塞是一件很轻松的事情,

♦采样大小:T采样用多少bit存放.常用的是16bit采样率X采择大小X声道数

♦采样率:采样频率8k、16k.32k、44.1K、48k跳:采牌吐IKHz.

秘大小为16bit,

双声道的PCM编码的WAVX件,

♦声道数:单声道、双声道、多声道em率为44.1K*16*2=1411.2Kb/s

采样率48000,位深度16tit通道数2

知道这三个参数,那么基本我们就知道了

设备1秒内可以采集到多少音频数据是:

48000*16*2=1536000位

48000*16*2/8=192000字节.

也就是我的设备在一秒内可以采集192000

这么大的码流显然无法在我们的网络中传输!!!(不能带宽全给音视频传输吧),所以要进行

音频数据压缩!!!

(四)音频帧大小的计算(采样率和时间间隔的区另IJ)

采样率是指在1秒中的采样次数,而时间间隔是指每采取一帧音频数据所要时间间隔!!!

假设音频采样率=8000,采样通道二2,位深度二16,采样间隔=20ms

首先我们计算一秒钟总的数据量,采样间隔采用20ms的话,说明每秒钟需采集50次,这

个计算大家应该都懂,那么总的数据量计算为

一秒钟总的数据量=8000*2*16/8=32000

所以每帧音频数据大小二32000/50=640

每个通道样本数二640/2=320

解析:#defineMAX_AUDIO_FRAME_SIZE192000

是指双通道下,采用48k采样率.位深为16位,采样时间为1s

48000x2x16/8=192000字节

(五)PCM存储格式

PCM存储格式大体分为两种Planner和Packed

我们以双声道为例,L表示左声道,R表示右声道,如下为两种格式的存储方式:

Planner

LLLLLLLL-RRRRRRRR-

Packed

LRLRLRLRLR...

FFMpeg中对音频Format定义如下:

enumAVSampleFormat{

AV_SAMPLE_FMT_NONE=-1,

AV_SAMPLE.FMT.U8,///<unsigned8bits

AV_SAMPLE_FMT_S16.///<signed16bits

AV_SAMPLE_FMT_S32.///<signed32bits

AVSAMPLEFMTFLT.///<float

音频入门

AV.SAMPLE_FMT.DBL.///<double

AV_SAMPLE_FMT_U8P.///<unsigned8bits,planar

AV_SAMPLE_FMT_S16P.///<signed16bits,planar

AV_SAMPLE_FMT_S32P.///<signed32bits,planar

AVSAMPLE_FMT_FLTP,///<float,planar

AV_SAMPLE_FMT_DBLP,///<double,planar

AV_SAMPLE_FMT_S64.///<signed64bits

AV_SAMPLE_FMT_S64P.///<signed64bits,planar

AV.SAMPIF_FMT_NB///<NumherofsamplefnrmarsDCMOTUSFiflinkingdynamically

):

我们这里以WASAPI为例,在windows中WASAPI捕获的数据格式总是FLT,即浮点

Packed格式,而新版的FFMpeg中仅仅支持FLTP格式压缩(应该是需要自行编译FFMpeg

库并附加其他压缩库,如有错请指正),目前网络中的大部分博客均是老版FFMpeg所以还

都在使用其他格式。因比我们需要对PCM数据进行重新采样。

(六)WAVheader

在查看音频数据压缩方式前,先了解WAVheader的数据结构:

加区块右目翱克£克与

TheCanonicalWAVEfileformat£l£tlMX

G0tAJOWMMWd—'VF.尹

44Z*5»昵虹小l小6(刻―rtl屿糠BL;建:Mtt刊L

8Faz”网由X*53fiW4i5M5JlftfiAMVF.it轴附•殁也氐-个wmi瘴于俺掰想银.TwrEn^的UHE.

TheFmrgrco«r^hnii

124SaOuWQ*Xftl«5iKWafiWOe'Q刃谓俶二汇CWW""

164MGirkB”干区窕大加小GQ不,干alX«J?.=PCWii5

201ZMfElta■由小£»*第触M旃幽讹,由收殖金1.3EX*根则工

22NinOwvfti^lfea:小网R却.五nMe方2.

dexrtxitwtoned2Van

tre»nlrtOT«tonf»N4StnMUwSW:小»4?a«Sr'i38S4p*3tB%441W

204(M»EHe的堵却小Wi:8)te«.SU***,^5:

»2BaU^Sm?小H«fiV-twrtWfcb?6?2C-*?xIt

D«'dMi-驾2IdEEs(士方MT小到林明翊祓.W-8.12.16.礼32

间需转.荏蚣,谏同,碇

BOMrWKtdlM3522id

txrehtmirrdX4SiWuta)i?Xft2lF5i大4Sa6W*17«lT£<?-dK»-.

C9WstMr»sanJ

04SO3sM注第对')小JCEHX81纵心日(和曲rHWhUQSCH驻f"•我

&nNCtu小5»«!

WAV例子:

音频入门

因为是4字节对齐,所以每个sample大小4字节;而之所以是4字节,取决于blockAlign字

段二(幅度大小x通道数);

二:音频处理流程

音频处理流程

♦15播客户端的处理澹程

♦音频故据的硒专

(H直播客户端的处理流程

我们讲解的音视频都是基于娱乐直播进行讲解的,所以我们必须对整个流程非常清楚。

如下图,是一个基本的直播客户端的处理流程图:

直播客户端处理流程

直播客户端分为几个模块,我们需要对每个模块做的事情非常清楚。总的来说我们直播客户

端分为两个端:共享端和观看端。

共享端包含:音视频采集,音视频编码两个模块

观看端包含:音视频解码,音视频渲染两个模块。

1.音视频采集:

音频采集一般我们只需要简单调用一下api就能实现,每个操作系统都提供了相对应的api.

只是对于不同的平台各不相同。

如Android端有audioRecord,mediaRecord等,我们什么时候使用audioRecord,什么时候

使用MediaRecord,这个我们需要非常清楚它的应用场景。

同样在IOS端有苹果提供的AVFoundation框架提供了很多音视频采集的方法,具中有很常

用的底层方法AudioUnito

2.音视频编码:

我们采集到音视频之后并不能直接传输,因为这个数据太大了,超出了我们网路的设备的负

载。

如果我们直接传输这么大量的数据,很容易出现各种问题,因此我们必须对这些数据进行压

缩后再进行传输,这个压缩的过程就是对音视频的编码处理。

音频入门

编码后的数据就是非常小的数据了。

对于编码这块的知识也非常多,我们后续也会详细讲解.

编码分为有损编码和无损编码。我们什么时候用有损编码,什么时候使用无损编码?有损

编码去掉的是哪些数据?这些原理我们都需要很清楚明白。

3.音视频传输:

编码时候,我们就需要把数据传输到对端,这个传输的过程也是非常复杂的,需要对网络知

识有个较好的理解。后续我也讲到这些。

4.音视频解码:

对端收到传输的数据后,需要对编码的数据进行解码,把压缩的数据还原后才能进行播放渲

染。解码这块是跟编码相对应的,用什么方式编码,就需要用对应的方式解码。

5.音视频渲染:

解码获取得到原始数据之后,音频交给扬声器播放(实际是交给驱动,驱动交给驱动硬件模

块进行处理),视频交给渲染器进行渲染。

(-)音频数据的流转(格式的转换)

音频数据流我们需要知道我们采集数据后,采集的是什

么数据,是PCM数据(模拟数据转数字信号,数

PCM]aac/mp3[mp4/flv

字信号就是PCM)O然后经过编码之后,编码出

的是什么格式的数据(aac/mp3)。这都是我们需

PCM][aac/mp3mp4/flv要理解的。

对于录制的视频,我们最后将音视频保存入

容器中;对于直播来说,我们并不需要最后一步,不需要将他存入容器中!!!

如下图是音频数据流的流转过程:

三:音频采集

(-)各平台音频采集方式

l.Android端音频采集:

/u010029439/article/details/85056757

音频入门

android平台上的音频采集一般就两种方式:

(1)使用MediaRecorde「进行音频采集。

MediaRecorder是基于AudioRecorder的API(最终还是会创建AudioRecord用来

与AudioFlinger进行交互),它可以直接将采集到的音频数据转化为执行的编码格式,并保

存"

这种方案相较于调用系统内置的用用程序,便于开发者在UI界面上布局,而且系统封

装的很好,便于使用,唯一的缺点是使用它录下来的音频是经过编码的,没有办法的得到原

始的音频。

同时MediaRecorder即可用于音频的捕获也可以用于视频的捕获相当的强大。实际开

发中没有特殊需求的话,用的是比较多的!

(2)使用AudioRecord进行音频采集。

AudioRecord是一个比较偏底层的API,它可以获取到一帧帧PCM数据,之后可以对

这些数据进行处理。

AudioRecord这种方式采集最为灵活,使开发者最大限度的处理采集的音频,同时它捕

获到的音频是原始音频PCM格式的!

像做变声处理的需要就必须要用它收集音频。

在实际开发中,它也是最常用来采集音频的手段。如直播技术采用的就是

AudioRecorder采集音频数据。

2.ios端音频采集:

https:〃/u13505575/2057075

3.Windows音频采集:

https:〃/machh/article/details/83546258

(-)FFMp6g采集音频方式(集成上面所有平台)

L通过命令方式(不同平台可能不同)

https:〃blogs.eom/ssyfj/p/14576359.html

先查看可用设备:

ld@ld-Lenovo-Productaplay-I

1****ListofPLAYBACKHardwareDevices****

card0:PCH[HDAIntelPCH],device0:ALC662rev3Analog[ALC662rev3Analog]

Subdevtces:1/1

Subdevtce#0:subdevtce#0

card1:NVidia[HDANVidia],devtce3:HDMI0[HDMI6]

Subdevtces:1/1

Subdevice#0:subdevice#0

card1:NVidia[HDANVidia],device7:HDMI1[HDMI1]

Subdevices:1/1

Subdevtce#0:subdevtce#0

其中card中:PCH与NVidia是声卡类型,可以通过查看cat/proc/asound/cards文件查看

所有在主机中注册的声卡列表:

音频入门

ld01d-Lenovo-Product:~/ryu/ryu/app$cat/proc/asound/cards

0[PCH]:HDA-Intel-HDAIntelPCH

HDAIntelPCHat0xf713O000irq31

1[NVidia]:HDA-Intel-HDANVidia

HDANVidiaatOxf7080000irq17

其中device设备中:

HDMI:是高清多媒体接口(HighDefinitionMultimediaInterface,HDMI)是一种全数字化

视频和声音发送接口,可以发送未压缩的音频及视频信号。

alc662是声卡:声卡(SoundCard)也叫音频卡(港台称之为声效卡),是计算机多媒体系统

中最基本的组成部分,是实现声波/数字信号相互转换的一种硬件。声卡的基本功能是把来

自话筒、磁带、光盘的原始声音信号加以转换,输出到耳机、扬声器、扩音机、录音机等声

响设备,或通过音乐设备数字接口(MIDI)发出合成乐器的声音

所以:想要录取声音,我们必须选取card。其他的device与subdevice可以任意

选取对应设备获取输入:

ffmpeg-falsa-ihw:0alseout.wav

49l4-le»ovo*Pro4uct:"/FFRpe9/crvO$alsaovt.iMV

•IMOVC.WW

2.通过API方式:

如下(三)

(三)FFmpeg编程采集音频

FFmpeg采集音猱流程

打开林入设目般露包抬出文件

L打开输入设备

采集音频的步骤

♦注册设保

♦设置采集avfoundation/dshow/alsa

♦打开醐设备

/include<libavutil/log.h>

音频入门

#include<libavcodec/avcodec.h>

#include<Iibavdevice/avdevice.h>

#include<libavformat/avformat.h>

intmain(intargc.char*argv)

(

char*devicename="hw:3";

charerrors[1024];

intrpr:

av_register_allO;

av_log_set_level(AV_LOG_DEBUG);

〃注册所有的设备,包括我们需要的音频设备

avdevice_register_all():

〃获取输入(采集)格式

AVInputFormat«iformat=av_find_input_format("alsa");

〃打开输入设备

AVFormatContext*fmt_ctx=NULL;

AVDictionary*options=NULL;

ret=avformat_openjnput(&fmt_ctx,devicename,iformat,&options);

if(ret<0){

av_strerror(ret,errors1024):

avJog(NULL,AV_LOG_ERROR,"Failedtoopenaudiodevice,[56d]fe\n",ret,errors);

}

av,iog(NULL,Av_LCK5JN►o,successtoopenaudiodevices)

return0;

}

gcc-oodOlOpenDevicec-I/usr/local/ffmpeg/include/-L/usr/local/ffmpeg/lib/-lavutil-

lavformat-lavcodec-lavdevice

ld@ld-Lenovo-Product:-/FFmpeg/develop/charpter_0/audio$./od

Successtoopenaudiodevice

2.从音频设备中读取音频数据

include<libavutil/log.h>

#include<libavcodec/avcodec.h>

#include<libavdevice/avdevice.h>

Winclude<libavformat/avforrrat.h>

inimaln(lniargc,char*argv)

音频入门

char*devicename="hw.T;

charerrors[1024];

intret,count=0;

AVFormatContext*fmt_ctx=NULL;

AVDictionary*options=NULL;

AVInputFormat«iformat=NULL;

AVPackPtpackpr:〃包结构

av_register_allO;

av_log_set_level(AV_LOG_DEBUG);

〃注册所有的设备,包括我们需要的音频设备

avdevice_registerall();

〃获取输入(采集)格式

iformat=av_find_input_formatC'alsa"):

〃打开输入设备

ret=avformat_open_input(&fmt_ctx,devicename,iformat,&options);

if(ret<0){

av_strerror(ret,errors1024);

av_log(NULL.AV_LOG_ERROR,"Failedtoopenaudiodevice.pW]fe\n".ret.errors):

)

av_log(NUH,AV_lOG」NF。,"Successtoopenaudiodevice\n");

〃开始从设备中读取数据

wmle((ret=av_read_trame(tm(_ctx,<s£paeke。)==u&&count++<bUUH

avlog(NULL,AV_LOGINFO,"Packetsize:16d(Mp).cout:?(>d\n",packet,si2e.packet.data.count);

〃释放空间

av_packet_unref(&packet);

)

〃关闭设备、稗放上下文空间

avformatclosejnput(&fnt_ctx);

return0;

)

gcc-ogap02GetAucioPacket.c-I/usr/local/ffmpeg/include/-L/usr/local/ffmpeg/lib/-

lavutil-lavformat-lavcodec-lavdevice

Idgld-Lenovo-Product:-/FFr)peg/develop/charpter_0/audto$./gap

Successtoopenaudiodevice

Packetsize:2048(0x96lc4e)(cout:1

Packetsize:2O48(0x961c46),cout:2

Packetstze:2048(6x961c4e),cout:3

Packetsize:2048(0x961049),cout:4

iPacketsize:2048(ex961c49),cout:5

〔Packetstze:2e48(ex961c49),cout:6

音频入门

包的大小同码率/8二字节数

3,录制成为音频文件

创建文件-->将音频数据写入到文件中-->关闭文件

#include<stdio.h>

#include<libavutil/log.h>

#include<libavcodec/avcodec.h>

#include<libavdevice/avdevice.h>

//include<libavformat/avformat.h>

intmain(intargc.char*argv)

(

char*devicename="hw.O";

charerrors[1024];

intret,count=0,len;

FILE*fp=NULL:

AVFormatContext*fmt_ctx=NULL:

AVDictionary*options=NULL;

AVInputFormat*iformat=NULL;

AVPacketpacket;〃包结构

av_register_allO;

av_log_set_level(AV_LOG_DEBUG);

〃注册所有如设缶.包括我们需要的音频设备

avdevice_register_all();

〃获取输入(采集)格式

iformat=av_find_input_forma(("alsa");

〃打开输入设备

ret=avformat_openjnput(&fmt_ctx,devicename.iformat.&options);

if(ret<0){

ov_Gtrcrror(rct.crrorG1024);

3v_log(NULL,AV_LOG_ERROR,"Failedtoopenaudiodevice,[%d]te\n".ret.errors);

)

av」og(NULLAV_LOG」NFO,"Successtoopenaudiodevice\n");

〃打开文件

fp=fopen("./audio.pcm""wb");

if(fp==NULLX

av_log(NULL,AV_LOG_ERROR,"Failedtoopenoutfile,p4d]Hs\n",ret,errors);

gotoran:

音频入门

)

〃开始从设备中读取数据

while((ret=av_readJrame(fmt_ctx1&packet))==0&&count++<500X

avlog(NULL.AVLOGINFO,"Packetsize:H<J(Hp).cout:?6d\n".packet.size.packet.data.count):

len=fwnte(packet.data.packet.size,l,fp);

fflush(fp);

if(len!=packet.size){

av_lno(NUIIAV_1OG_WARNING,"Warnino.Packetsize:Sdrntpqualwrifpnsi7R:%d\n".len.packetsi7A).

}else{

av_log(NULL.AV_LOG_INFO.-SuccesswritePackettofile");

)

〃释放空间

avpacket_unref(&packet);

)

fail:

if(fp)

fclose(fp);

〃关闭设备、稗放上下文空间

avformaLcloseinput(&fnt_ctx);

return0;

}

gcc-owad03WriteAudioData.c-I/usr/local/ffmpeg/include/-L/usr/local/ffmpeg/lib/-

lavutil-lavformat-lavcodec-lavdevice

注意:播放时需要指定格式,通过查看配置文件获取采样率等信息

sudogedit/etc/pulse/daemon.conf

;default-sample-format=sl6le

;default-sample-rate=44100

;alternate-sanple-rate=48060

;default-sample-channels=2

;default-channel-map«front-left,front-right

ffplay-ar44100-ac2-fsl6leaudio.pcm

Ui:音频压缩

(-)音频有损压缩技术(消除冗余信息)

音频冗余信息

注意:频域遮蔽效应和时域遮蔽效应的纵轴都是声

音频压缩技术是在保证信号在听觉方面不产生失氏的前提下,音强度;

对音爆她:信号进行尽可能大的压缩.

频域遮蔽的横轴是频率,是指在频率相近的声音,

压缩的主要方法《去除采集到的音蹂冗余信息.所谓冗余信息

包括人耳听觉的圉外的音频信号以及被搦破掉的音频信号.在一定的范围内(遮蔽门槛下的声音),声音强度大

信号的遮蔽可以分为频域遮蔽和时域遮蔽'

的会遮蔽声音强度小的声音。

音频入门

时域遮蔽的横轴是时间,是指在时间相近的声音,声音强度大的会遮蔽声音强度小的声音,

而且在发声前的部分较弱的声音(前遮蔽)和发声后的部分较弱的声音都会被屏蔽掉(后遮

蔽)。

频域遮蔽效应

时域遮蔽效应

(二)音频无损压缩技术

哈夫曼编码

算术编码

香农编码

(三)音频编码过程

原始数据--->传入给两个模块进行处理将两种数据(真正需要编码的数据)汇总,进行

量化,编码-------->形成比特流

1.时域转频域变换(将一段长时间的数据,转换为多种频段的数据,从而获取我任需要

的频段数据)

2.心理声学模型(前面的有损压缩过程)

(四)常见的音频编码器

♦常见的音频编码器包括OPUS、AAC.Vorbis.

Speex、iLBC、AMR、G.711等

♦网上评测结果:OPUS>AAC>Vorbis

其中最常见的是OPUS和AAC:延迟小,压缩率高

实时互动系统可以用。pus(在线教育、会议),其中WebRTC默认使用OPUS

泛娱乐化直播一般使用AAC(最广泛),opus一般不支持,推广上有些困难

两个系统融合,需要将opus与AAC互转

speex:回音消除,降噪模块等可实现。

G.711:有些会与固话相联系,固话用的就是G.711,或者G722(声音损失严重,但是

音频入门

可以在窄宽带下传输)

音频编码器性能质量对比:

音频编码器性能对比

横轴:比特率越大(质量越好),但是传输速度可能

较低;所以对于实时性要求高的,如OPus,在窄带

时,会降低质量,从而提高传输速度

纵轴:带宽质量(窄带、宽带、全带),硬件设施有

音频编码码率对比:(结合上面性能图)

音频编码码率

纵轴是延迟(0-200ms),横轴是码率。延迟越低,

Bitrate(kbps/channeQ

40BO.码率越小:

OpusOpus延迟较低,所以在20ms内,码率从0~20kb/s

D

c・

USpoox(NB.WB)AACLD

y而在码率较小时(0-20kb/s),AAC延迟则较大,在

《m40・V22.1C

M

>80G.729.1200ms附近,所以AAC不适用于实时性直播,适合

AMR-WB>于有一定延迟的直播。如果使用AAC于实时通信,

那么可以选择AAC-LD低延迟类型。

Vortis,AAC,UP3

•narrowtMMMl0wideband•>wideband

五:AAC编码

(-)AAC编码器介绍

AAC介绍

MP3相对来说存储的压缩比较低,压缩后的文件还是

AAC(AdvancedAudioCoding)由FraunhoferUS、4比我

验室.AI&I,Sony等公司共同开发,目的是取代MP3格式比较大。而AAC压缩率高,压缩后文件较小,并且保

最开始是基于MR3J的合解码技术.准出现后,

AAC重新侬了.JQA了年术.真性能好,还原数据后,与原始数据相似性高.

目前常用的规格有AACLC.AACHEVI.AACHEV2AAC常川规格中:AACHEVI使用较少,因为被V2

取代。通过下面AAC规格可以了解:

AACLC最基础

AACHEVI=AACLC+SBR

AACHEV2=AACHEVI+PS

音频入门

AAC规格AACLC:码流越大(AACLC,128k),存储信息量越大,

音质越好,保真性高。码流越小,压缩比越高,去除的冗

□AACLC

口senISp*:tr«l

LJK(earmtrtcSm>)余信息多,会对重要的数据造成一定的损失。

AACHE:按频谱分别保存;低频(基频)保存主要成分,

高频(谐频)和音色有很大关系,将高频单独放大去保证

音质。实现进一步压缩,

AACHEV2:参数化,俣存差异,进一步减少码流大小

♦AACLC:(LowComplexity)3ftSft格,码演128k.80i».

♦AACHE:等于AACLC♦SBR(SptctnlBandReplication).只

德心网相sw锚曲分保存.如成分.点喉中晚钝大埠码

保存音质.码流在64kfi右.

♦AACHEV2:等于AACLC♦SBR♦PS(Param♦tricStereo).其核

心思相是双声遒中的声舍存在臬种相似性.只高存储一个声道的全部信

息,然后,花很少的我用性整描述另f声道和它不同的地方.

对于AAC格式:ADTS相对于ADIF而言,虽AAC格式

然每一帧前面都有heade^信息,但是却可以ADIF(AudioDataInterchangeFormat)

实现随时拖动播放,不必每次从头播放。这种格式的特征是可以确定的找到这个音频数据的开始,只矫从头

开始版码,不能在吉领数空流中间开始.这种棺式常用在磁盘文件

ADTS(AudioDataTransportStream)

这南8式的特征是每f都有f同步字,所以可以在音频流的土

何位.开始解码.它类1以于数据流格式.

补充:音频一帧数据计算---假设音频采样率=8000,采样通道=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论