ImageVerifierCode 换一换
格式:DOCX , 页数:67 ,大小:46.06KB ,
资源ID:9880170      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9880170.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(音频压缩算法.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

音频压缩算法.docx

1、音频压缩算法第7章凌阳音频压缩算法261第7章凌阳音频压缩算法7.1背景介绍7.1.1音频的概述(特点,分类)我们所说的音频是指频率在20Hz20kHz的声音信号,分为:波形声音,语音和音乐三种,其中波形声音就是自然界中所有的声音,是声音数字化的基础.语音也可以表示为波形声音,但波形声音表示不出语言,语音学的内涵.语音是对讲话声音的一次抽象.是语言的载体,是人类社会特有的一种信息系统,是社会交际工具的符号.音乐与语音相比更规范一些,是符号化了的声音.但音乐不能对所有的声音进行符号化.乐谱是符号化声音的符号组,表示比单个符号更复杂的声音信息内容.7.1.2数字音频的采样和量化将模拟的(连续的)声

2、音波形数字元化(离散化),以便利数字计算机进行处理的过程,主要包括采样和量化两个方面.数字音频的质量取决于:采样频率和量化位数这两个重要参数.此外,声道的数目,相应的音频设备也是影响音频质量的原因.7.1.3音频格式的介绍音频文件通常分为两类:声音文件和MIDI文件(1)声音文件:指的是通过声音录入设备录制的原始声音,直接记录了真实声音的二进制采样数据,通常文件较大;(2)MIDI文件:它是一种音乐演奏指令序列,相当于乐谱,可以利用声音输出设备或与计算机相连的电子乐器进行演奏,由于不包含声音数据,其文件尺寸较小.1)声音文件的格式WAVE文件*.WAVWAVE文件使用三个参数来表示声音,它们是

3、:采样位数,采样频率和声道数.在计算机中采样位数一般有8位和16位两种,而采样频率一般有11025Hz(11KHz),22050Hz(22KHz),44100Hz(44KHz)三种.我们以单声道为例,则一般WAVE文件的比特率可达到88K704Kbps.具体介绍如下:(1)WAVE格式是Microsoft公司开发的一种声音文件格式,它符合RIFF(ResourceInterchangeFileFormat)文件规范;第7章凌阳音频压缩算法262(2)用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持.(3)WAVE格式支持MSADPCM,CCITTALaw,C

4、CITTLaw和其它压缩算法,支持多种音频位数,采样频率和声道,是PC机上最为流行的声音文件格式.(4)但其文件尺寸较大,多用于存储简短的声音片段.AIFF文件AIF/AIFF(1)AIFF是音频交换文件格式(AudioInterchangeFileFormat)的英文缩写,是苹果计算机公司开发的一种声音文件格式;(2)被Macintosh平台及其应用程序所支持,NetscapeNavigator浏览器中的LiveAudio也支持AIFF格式,SGI及其它专业音频软件包同样支持这种格式.(3)AIFF支持ACE2,ACE8,MAC3和MAC6压缩,支持16位44.1Kz立体声.Audio文件*

5、.Audio(1)Audio文件是SunMicrosystems公司推出的一种经过压缩的数字声音格式,是Internet中常用的声音文件格式;(2)NetscapeNavigator浏览器中的LiveAudio也支持Audio格式的声音文件.MPEG文件*.MP1/*.MP2/*.MP3(1)MPEG是运动图像专家组(MovingPictureExpertsGroup)的英文缩写,代表MPEG标准中的音频部分,即MPEG音频层(MPEGAudioLayer);(2)MPEG音频文件的压缩是一种有损压缩,根据压缩质量和编码复杂程度的不同可分为三层(MPEGAudioLayer1/2/3),分别对

6、应MP1,MP2和MP3这三种声音文件;(3)MPEG音频编码具有很高的压缩率,MP1和MP2的压缩率分别为4:1和6:18:1,而MP3的压缩率则高达10:112:1,也就是说一分钟CD音质的音乐,未经压缩需要10MB存储空间,而经过MP3压缩编码后只有1MB左右,同时其音质基本保持不失真,因此,目前使用最多的是MP3文件格式.RealAudio文件*.RA/*.RM/*.RAM(1)RealAudio文件是RealNerworks公司开发的一种新型流式音频(StreamingAudio)文件格式;(2)它包含在RealMedia中,主要用于在低速的广域网上实时传输音频信息;(3)网络连接速

7、率不同,客户端所获得的声音质量也不尽相同:对于28.8Kbps的连接,可以达到广播级的声音质量;如果拥有ISDN或更快的线路连接,则可获得CD音质的声音.2)MIDI文件*.MID/*.RMI(1)MIDI是乐器数字接口(MusicalInstrumentDigitalInterface)的英文缩写,是数字音乐/电子合成乐器的统一国际标准;(2)它定义了计算机音乐程序,合成器及其它电子设备交换音乐信号的方式,还规第7章凌阳音频压缩算法263定了不同厂家的电子乐器与计算机连接的电缆和硬件及设备间数据传输的协议,可用于为不同乐器创建数字声音,可以模拟大提琴,小提琴,钢琴等常见乐器;(3)在MIDI

8、文件中,只包含产生某种声音的指令,这些指令包括使用什么MIDI设备的音色,声音的强弱,声音持续多长时间等,计算机将这些指令发送给声卡,声卡按照指令将声音合成出来,MIDI在重放时可以有不同的效果,这取决于音乐合成器的质量;(4)相对于保存真实采样资料的声音文件,MIDI文件显得更加紧凑,其文件尺寸通常比声音文件小得多.7.1.4语音压缩编码基础语音压缩编码中的数据量是指:数据量=(采样频率量化位数)/8(字节数)声道数目.压缩编码的目的:通过对资料的压缩,达到高效率存储和转换资料的结果,即在保证一定声音质量的条件下,以最小的资料率来表达和传送声音信息.压缩编码的必要性:实际应用中,未经压缩编码

9、的音频资料量很大,进行传输或存储是不现实的.所以要通过对信号趋势的预测和冗余信息处理,进行资料的压缩,这样就可以使我们用较少的资源建立更多的信息.举个例子,没有压缩过的CD品质的资料,一分钟的内容需要11MB的内存容量来存储.如果将原始资料进行压缩处理,在确保声音品质不失真的前提下,将数据压缩一半,5.5MB就可以完全还原效果.而在实际操作中,可以依需要来选择合适的算法.常见的几种音频压缩编码:1)波形编码:将时间域信号直接变换为数字代码,力图使重建语音波形保持原语音信号的波形形状.波形编码的基本原理是在时间轴上对模拟语音按一定的速率抽样,然后将幅度样本分层量化,并用代码表示.译码是其反过程,

10、将收到的数字序列经过译码和滤波恢复成模拟信号.如:脉冲编码调制(PulseCodeModulation,PCM),差分脉冲编码调制(DPCM),增量调制(DM)以及它们的各种改进型,如自适应差分脉冲编码调制(ADPCM),自适应增量调制(ADM),自适应传输编码(AdaptiveTransferCoding,ATC)和子带编码(SBC)等都属于波形编码技术.波形编码特点:高话音质量,高码率,适于高保真音乐及语音.2)参数编码:参数编码又称为声源编码,是将信源信号在频率域或其它正交变换域提取特征参数,并将其变换成数字代码进行传输.译码为其反过程,将收到的数字序列经变换恢复特征参量,再根据特征参量

11、重建语音信号.具体说,参数编码是通过对语音信号特征参数的提取和编码,力图使重建语音信号具有尽可能高的准确性,但重建信号的波形同原语音信号的波形可能会有相当大的差别.第7章凌阳音频压缩算法264如:线性预测编码(LPC)及其它各种改进型都属于参数编码.该编码比特率可压缩到2Kbit/s-4.8Kbit/s,甚至更低,但语音质量只能达到中等,特别是自然度较低.参数编码特点:压缩比大,计算量大,音质不高,廉价!3)混合编码:混合编码使用参数编码技术和波形编码技术,计算机的发展为语音编码技术的研究提供了强有力的工具,大规模,超大规模集成电路的出现,则为语音编码的实现提供了基础.80年代以来,语音编码技

12、术有了实质性的进展,产生了新一代的编码算法,这就是混合编码.它将波形编码和参数编码组合起来,克服了原有波形编码和参数编码的弱点,结合各自的长处,力图保持波形编码的高质量和参数编码的低速率.如:多脉冲激励线性预测编码(MPLPC),规划脉冲激励线性预测编码(KPELPC),码本激励线性预测编码(CELP)等都是属于混合编码技术.其数据率和音质介于参数和波形编码之间.总之,音频压缩技术之趋势有两个:1)降低资料率,提高压缩比,用于廉价,低保真场合(如:电话).2)追求高保真度,复杂的压缩技术(如:CD).语音合成,辨识技术的介绍:按照实现的功能来分,语音合成可分两个档次:(1)有限词汇的计算机语音

13、输出(2)基于语音合成技术的文字语音转换(TTS:Text-to-Speech)按照人类语言功能的不同层次,语音合成可分为三个层次:(1)从文字到语音的合成(Text-to-Speech)(2)从概念到语音的合成(Concept-to-Speech)(3)从意向到语音的合成(Intention-to-Speech)图7.1是文本到语音的转换过程:文本处理语音合成韵律处理语音数据库词典及语言规范合成语音输出文本输入图7.1从文本到语音转换过程示意语音辨识:语音辨识技术有三大研究范围:口音独立,连续语音及可辨认字词数量.口音独立:1)早期只能辨认特定的使用者即特定语者(SpeakerDepende

14、nt,SD)模式,使用者可针对特定语者辨认词汇(可由使用者自行定义,如人名声控拨号),作简单快速的训第7章凌阳音频压缩算法265练纪录使用者的声音特性来加以辨认.随着技术的成熟,进入语音适应阶段SA(speakeradaptation),使用者只要对于语音辨识核心,经过一段时间的口音训练后,即可拥有不错的辨识率.2)非特定语者模式(SpeakerIndependent,SI),使用者无需训练即可使用,并进行辨认.任何人皆可随时使用此技术,不限定语者即男性,女性,小孩,老人皆可.连续语音:1)单字音辨认:为了确保每个字音可以正确地切割出来,必须一个字一个字分开来念,非常不自然,与我们平常说话的连

15、续方式,还是有点不同.2)整个句子辨识:只要按照你正常说话的速度,直接将要表达的说出来,中间并不需要停顿,这种方式是最直接最自然的,难度也最高,现阶段连续语音的辨识率及正确率,虽然效果还不错但仍需再提高.然而,中文字有太多的同音字,因此目前所有的中文语音辨识系统,几乎都是以词为依据,来判断正确的同音字.可辨认词汇数量:内建的词汇数据库的多寡,也直接影响其辨识能力.因此就语音辨识的词汇数量来说亦可分为三种:1)小词汇量(10-100)2)中词汇量(100-1000)3)无限词汇量(即听写机)图7.2是简化的语音识别原理图,其中实线部分成为训练模块,虚线部分为识别模块.复杂声学,言语条件下的语音输

16、入语音模型声学模式训练语音匹配语音模式训练语音处理识别结果,理解结果语言模型图7.2语音识别原理简图第7章凌阳音频压缩算法2667.2凌阳音频简介7.2.1凌阳音频压缩算法的编码标准表7.1是不同音频质量等级的编码技术标准(频响):表7.1信号类型频率范围(Hz)采样率(kHz)量化精度(位)电话话音200340088宽带音频(AM质量)5070001616调频广播(FM质量)2015k37.816高质量音频(CD质量)2020k44.116凌阳音频压缩算法处理的语音信号的范围是200Hz-3.4KHz的电话话音.7.2.2压缩分类压缩分无损压缩和有损压缩.无损压缩一般指:磁盘文件,压缩比低:

17、2:14:1.而有损压缩则是指:音/视频文件,压缩比可高达100:1.凌阳音频压缩算法根据不同的压缩比分为以下几种(具体可参见语音压缩工具一节内容):SACM-A2000:压缩比为8:1,8:1.25,8:1.5SACM-S480:压缩比为80:3,80:4.5SACM-S240:压缩比为80:1.5按音质排序:A2000S480S2407.2.3凌阳常用的音频形式和压缩算法1)波形编码:sub-band即SACM-A2000特点:高质量,高码率,适于高保真语音/音乐.2)参数编码:声码器(vocoder)模型表达,抽取参数与激励信号进行编码.如:SACM-S240.特点:压缩比大,计算量大,

18、音质不高,廉价!3)混合编码:CELP即SACM-S480特点:综合参数和波形编码之优点.除此之外,还具有FM音乐合成方式即SACM-MS01.第7章凌阳音频压缩算法2677.2.4分别介绍凌阳语音的播放,录制,合成和辨识凌阳的SPCE061A是16位单片机,具有DSP功能,有很强的信息处理能力,最高时钟频率可达到49MHz,具备运算速度高的优势等等,这些都无疑为语音的播放,录放,合成及辨识提供了条件.凌阳压缩算法中SACM_A2000,SACM_S480,SACM_S240主要是用来放音,可用于语音提示,而DVR则用来录放音.对于音乐合成MS01,该算法较繁琐,而且需要具备音乐理论,配器法及

19、和声学知识,所以对于特别爱好者可以到我们的网站去了解相关内容,这里只给出它的API函数介绍及程序代码的范例,仅供参考.对于语音辨识主要有以下两种:1)特定发音人识别SD(SpeakerDependent):是指语音样板由单个人训练,也只能识别训练人的语音命令,而他人的命令识别率较低或几乎不能识别.2)非特定发音人识别SI(SpeakerIndependent):是指语音样板由不同年龄,不同性别,不同口音的人进行训练,可以识别一群人的命令.语音识别电路基本结构如图7.3所示:滤除噪音预加重滤波器组PARCOR系数线性预测系数过零次数能量相关函数等模式匹配词典语音分析语音识别结果输出图7.3语音识

20、别电路结构具体应用及程序代码可参考7.3.47.3常用的应用程序接口API的功能介绍及应用7.3.1概述表7.2所列出的是凌阳音频的几种算法:表7.2SACM-lib库中模块及其算法类型模块名称(Model-Index)语音压缩编码率类型资料采样率SACM_A200016Kbit/s,20Kbit/s,24Kbit/s16KHzSACM_S480/S7204.8Kbit/s,7.2Kbit/s16KHz第7章凌阳音频压缩算法268SACM_S2402.4Kbit/s24KHzSACM_MS01音乐合成(16Kbits/s,20Kbits/s,24Kbits/s)16KHzSACM_DVR(A2

21、000)16Kbit/s的资料率,8K的采样率,用于ADC通道录音功能16KHz语音和音乐与我们的生活有着非常密切的关系,而单片机对语音的控制如录放音,合成及辨识也广泛应用在现实生活中.我们知道对于语音处理大致可以分为A/D,编码处理,存储,解码处理以及D/A等见图7.4所示.然而,通过前面介绍我们知道麦克风输入所生成的WAVE文件,其占用的存储空间很大,对于单片机来说想要存储大量的信息显然是不可能的,而凌阳的SPCE061A提出了解决的方法,即SACM-LIB,该库将A/D,编码,解码,存储及D/A作成相应的模块,对于每个模块都有其应用程序接口API,所以您只需了解每个模块所要实现的功能及其

22、参数的内容,然后调用该API函数即可实现该功能,例如在程序中插入语音提示,或连续播放一段语音或音乐,也可以根据自己需要的空间或使用范围选择适合自己的算法如表7.2所示.麦克风A/D转换存储喇叭编解码处理D/A转换图7.4单片机对语音处理过程以下就不同的算法具体介绍各自的API函数的格式,功能,参数,返回值,备注及应用范例.7.3.2SACM_A2000该压缩算法压缩比较小(8:1)所以具有高质量,高码率的特点适用于高保真音乐和语音.其相关API函数如下所示:voidSACM_A2000_Initial(intInit_Index)/初始化voidSACM_A2000_ServiceLoop(v

23、oid)/获取语音资料,填入译码队列voidSACM_A2000_Play(intSpeech_Index,intChannel,intRamp_Set)/播放voidSACM_A2000_Stop(void)/停止播放voidSACM_A2000_Pause(void)/暂停播放voidSACM_A2000_Resume(void)/暂停后恢复voidSACM_A2000_Volume(Volume_Index)/音量控制unsignedintSACM_A2000_Status(void)/获取模块状态第7章凌阳音频压缩算法269voidSACM_A2000_InitDecode(intCh

24、annel)/译码初始化voidSACM_A2000_Decode(void)/译码voidSACM_A2000_FillQueue(unsignedintencoded-data)/填充队列unsignedintSACM_A2000_TestQueue(void)/测试队列CallF_FIQ_Service_SACM_A2000/中断服务函数下面对各个函数进行具体介绍:1)【API格式】C:voidSACM_A2000_Initial(intInit_Index)ASM:R1=Init_IndexCallF_SACM_A2000_Initial【功能说明】SACM_A2000语音播放之前的初

25、始化.【参数】Init_Index=0表示手动方式;Init_Index=1则表示自动方式.【返回值】无【备注】该函数用于对定时器,中断和DAC等的初始化.2)【API格式】C:voidSACM_A2000_ServiceLoop(void)ASM:CallF_SACM_A2000_ServiceLoop【功能说明】从资源中获取SACM_A2000语音资料,并将其填入译码队列中.【参数】无.【返回值】无.3)【API格式】C:voidSACM_A2000_Play(intSpeech_Index,intChannel,intRamp_Set);ASM:R1=Speech_IndexR2=Cha

26、nnelR3=Ramp_SetCallSACM_A2000_Play【功能说明】播放资源中SACM_A2000语音或乐曲.【参数】Speech_Index:表示语音索引号.Channel:1.通过DAC1通道播放;2.通过DAC2通道播放;3.通过DAC1和DAC2双通道播放.Ramp_Set:0.禁止音量增/减调节;1.仅允许音量增调节;2.仅允许音量减调节;3.允许音量增/减调节.【返回值】无.【备注】SACM_A2000的数据率有16Kbps20Kbps24Kbps三种,可在同一模块的几种算法中自动选择一种.第7章凌阳音频压缩算法270Speech_Index是定义在resource.i

27、nc文件中资源表(T_SACM_A2000_SpeechTable)的偏移地址.中断服务子程序F_FIQ_Service_SACM_A2000必须安置在TMA_FIQ中断向量上(参见第五章中断系统内容).函数允许TimerA以所选的的数据采样率(计数溢出)中断.程序7-1以自动方式播放一段SACM_A2000语音,并自动结束.(见光盘)SACM_A2000自动方式主程序流程图:SACM_A2000放音的初始化SACM_A2000压缩播放获取语音数据并解码等待中断播放图7.5A2000自动方式主程序流程前台程序:#defineSpeech_10#defineDAC11#defineDAC22#d

28、efineRamp_UpDn_Off0#defineRamp_Up_On1#defineRamp_Dn_On2#defineRamp_UpDn_On3Main()SACM_A2000_Initial(1);SACM_A2000_Play(Speech_1,DAC1+DAC2,Ramp_UpDn_On);/放音while(SACM_A2000_Status()&0x01)SACM_A2000_ServiceLoop();背景程序:.TEXT第7章凌阳音频压缩算法271.INCLUDEhardware.inc.INCLUDEA2000.inc.INCLUDEResource.inc/=/函数:FI

29、Q()/语法:voidFIQ(void)/描述:FIQ中服务断函数/参数:无/返回:无/=.PUBLIC_FIQ;_FIQ:PUSHR1,R4TOsp;/入栈保护R1=0x2000;TESTR1,P_INT_Ctrl;/是否为定时器A中断JNZL_FIQ_TimerA;R1=0x0800;TESTR1,P_INT_Ctrl;/是否为定时器B中断JNZL_FIQ_TimerB;L_FIQ_PWM:R1=C_FIQ_PWM;P_INT_Clear=R1;/清中断POPR1,R4fromsp;/恢复现场RETI;L_FIQ_TimerA:/定时器A中断处理P_INT_Clear=R1;/清中断CALLF_FIQ_Service_SACM_A2000;/调用A2000中断服务函数POPR1,R4FROMsp;/恢复现场RETI;L_FIQ_TimerB:/定时器B中断处理P_INT_Clear=R1;/清中断POPR1,R4FROMsp;/恢复现场RETI;/中断返回/*/注:播放语音文件中数据,当出现FFFFFFH数据时便停止播放.4)【API格式】C:voidSACM_A2000_Stop(void);ASM:CallF_SACM_A2000_Stop【功能说明】停止播放S

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2