搜索
您的当前位置:首页正文

WAV语音文件格式的分析与处理

来源:易榕旅网
第12卷第2期北京电子科技学院学报2004年6月v01.12No~!竺!翌型21星曼墅!驾县!!塑璺!竺墨!!呈翌竺塑璺:!皇!塑里!竺墅!里!皇坐竺!竺:型兰.WAV语音文件格式的分析与处理张敬怀1,马道钧2(1.北京电子科技学院实验中心,北京:lo0070)(2.北京电子科技学院计算机科学与技术系,北京:100070)摘要:wAv语音文件是windows声音文件基本格式之一。分析其语音文件的格式是语音信号处理的一项重要工作。本文细致地分析了wAV语音文件的格式,为进一步进行语音文件数据处理和语音信号处理打下了基础。关键祠:wAV语音文件格式;分析;处理中图分类号:TN912.3文献标识码:A文章编码:1672—464x(2004)02一0047—04随着现代科学技术的发展,人们在与计算机等设备的信息交流中,需要一种更加方便、自然的人机交互方式。而人的直观感觉可以给人最直接的印象,获取信息速度也就最快。虽然嗅觉、触觉也是人类固有的感觉,但最重要、最精细的信息源只有图像和语言两种。而且语言是人类最重要、最有效、最常用和最方便的信息交流形式。因此,语音信号的分析以及语音数据文件的处理就有着十分重要的现实意义。本文将分析windows环境中的一种标准语音文件格式——wAV文件,为进一步实现wAV文件中的语音信号处理提供依据。1.语音数据文件的基本结构在windows环境下,大部分的多媒体文件都依循着一些通用的结构来存放,这种结构称为“资源互换文件格式”(ResourcesInterchangeFileFormat),简称RIFF。windows的waveformAudio——数字化波形声音的wAv文件、视频的AVI文件等均由此结构衍生而来。RIFF可以看作是一种树状结构,其基本构成单位是块(chunk),犹如树状结构中的节点。每个块由“辨别码”、“数据大小”及“数据”等组成。RIFF文件的前4字节为其辨别码“RIFF”的ASCII字符码,紧跟其后的双字节数据则标示整个文件大小(单位为字节Byte)。由于表示文件长度或块长度的“数据大小”信息占用4Byte,所以,事实上一个wAv文件或文件中块的长度为数据大小加8。故当在D0s状态下显示的windows启动时正常提示的音语音文件长度为486188字节,则查看文件数据信息时,该文件长度实际为076824H=486180字节。RIFF文件通常由若干块组成,典型的有fmt一格式块和data一数据块。一般而言,块本身并不允许内部再包含块,但是由于此类文件中RIFF文件信息亦是一个待处理的“块”,因此当某个块的辨别码是“RIFF”或“LIST”时,它们可以例外。而对于这两种块,RIFF将从原先的“数据”中切出4Byte,此4Byte称为“格式辨别码”,如wAvE等。此外,RIFF规定文件中仅可以有一个以“RIFF”为辨别码的块。依循上述结构的文件为RIFF文档。与Ms—DOS文件系统相比,“RIFF”块就好比是一台硬盘的根目录,其格式辨别码便是此硬盘的逻辑分区代码(c:或D:),而“L工sT”块则是其下面的子目录,其他的块则为文件数据。对于RIFF文件的处理,微软提供有相关的支持函数。2.WAV文件格式分析WAV文件格式是windows中关于声音的一种标准格式,也是RIFF文件格式支持的一种格式,这种格式已成为windows中的基本声音格式。整个WAV文件可以分成两部分:前一部分为文件头,后~部分为数据块。根据其编码方式和采样位数的不同,这两部分的大小有所不同。例如,在WAV文件中,所采用的编码方式主要有PcM(PulsecodeModulation一脉冲编码调制)和ADPcM(AdaptiveDifferentialPulsecodeModulation自适应差分脉冲编码调制)两种。对于使用PcM脉冲编码调制的采样文件,其文件头为44字节;但有时wAv文件头中会增加fact块,此时其文件头可达58字节。而对于使用ADPCM编码的采样文件,若其包含有fact块,则其文件头可达90字节。PcM编码的wAV文件头内容说明如表1所示(为了便于观察,表中给出了DEBuG下所显示的数据段相对偏移地址)。收稿日期:2004一卜10万 方数据相对偏移地址:100:104:108描述“RIFF”文件头文件大小“wAVE”文件头“酬T”辨别码8位采样4字节4字节4字节16位采样4字节4字节说明“RIFF”的ASCII码整个wAV文件的大小标识此文件为wAV格式标识wAV文件的两个基本块之一的“fmt”块开始(注意字符最后以空格结束)4字节4字节4字节:lOC:1lO“FMT”块大小:1144字节4字节净长度,不包括辨别码和块大小占用的8字节使用何种编码类型编码类型标识2字节2字节PCM:0100:ADPCM:0200:116单声道:Oloo声道数2字节4字节4字节2字节2字节2字节2字节4字节4字节2字节2字节立体声:0200每秒取多少个采样点每秒记录的数据量,单位:字节每个采样点数据占用多少比特系统用多少位表征一个采样点全部置零,仅8位采样文件有:118:llC:120:122:124采样频率数据量采样大小采样位数系统预留㈣燃㈣㈥燃㈣燃燃㈣黼獭㈥瓣黼㈣㈣黼燃㈣燃燃㈣燃㈥獭㈧㈣㈣燃㈣燃燃㈥燃粼i浚i;蒸渗憩》琶氅愁i惫镶i篱誉¨|}}}善囊%i§j曩墨“臻§;§警%强毪臻i罨毒毒㈣麟燃燃蘩囊|霉攀旗◇。《赣《毒《溅纛i黎鬻甏-鐾》≮溱鬻蕊臻懿.i攀强|li罄。纂鼷餐l羝畿蘩一i{“jil篱徽瀵l麟i96000001oo一5700—224l5656oo450066226D56霞褥凝獭黼i瀵熊瞧獭繁麓箨羝蔻誊誊警诗谶谬|li§li§lj萋i』;|¨ii;jj;i|璇纛凝jt|iiij|≮i_}}|獠糍嗡4i雹《鬻I;{|¨《|oo《≤§§i秘Q!QQj誊i%ii萎÷÷§i÷÷囊l萎l鼍獠凝蔑蘩鬟懋i|麓j|I。曩|j|:|I|?以某单声道、8位采样、22050Hz采样频率的wAV文件为例,其文件头部分如下:XXXX:0looxxxx:0110xxxx:0120xxxx:013052494646F27420RIFF....张vEfmt12QQQ!业0101oooo08ooooOO00..……”V..”V.QQ!!BF96..….麓…....鞴麟….00獭溪鞭§葵瓣堕!§二Q图18位单声道语音文件的文件格式图l中以阴影形式标出ⅪFF文件的块标识,带下划线部分为该块的长度。如图1所示,:0100一:0103单元存放了RIFF相应的AscII码,说明本文件为RIFF文件类型。:0104一:0107单元的内容表示该文件长度为096F2H字节(38642字节,该文件实际长度为38650字节)。:0108一:010B单元存放的内容表明该文件为wAVE文件。从:010c单元开始到:0125单元为wAV文件基本块之一的fmt(WAV文件格式类型)块::0110一:0113单元的内容表示fmt块的净长度为12H字节(不包括fmt辨别码和块大小占用的8字节,即实际fmt块为1AH字节);:0114字单元内容0001表示本语音信号采用的编码方式为PCM制;:0116单元内容ooOl表示为单声道语音信号,其采样频率为5622H=22050Hz(:0118~:011B单元的双字),单位时间所记录的数据量(:Ollc一:01lF单元内容所表示)为5622H字节(8位单声道语音文件单位时间所记录的数据量约为21.5l(B,依此类推,16位立体声语音文件单位时间记录的数据量约为86KB),:0120单元内容表示每个采样点数据占用l字节,:0122单元内容表万方数据 第12卷鲞墼竖篁!坠!堕童茎堡鳖茎塑坌塑皇竺里:兰!:示该语音文件采用8位采样。显然,fmt块信息完全说明了语音文件的编码方式、采样速率及采样宽度等重要信息。图1所示wAv文件中包含一个fact块,除了块标识fact的AscII码、块长度外,只有说明数据区实际长度的4字节信息(:0126一:0129单元的内容为fact块的标识信息,:012A一:012D单元的内容为块长度,:012E一:0131单元的内容为数据块实际长度)。从:0132单元开始为wAv文件基本块之二的data块,其净长度为96BFH字节。而数据区的具体内容未被列出。为便于比较,现打开另一个wAV语音文件,其文件头部分如下:xxxx:oloo蘸灞翰蠹※壁竖!;Q!一57xxxx:0110QQ!!01oo415645麟辫蘸溅20囊黪….wAVE鞣xxxX.0120圆圆赣蝴一班竖!;!o单元内容所表示)为015888H字节(约86I(B)。E!!弛蚓隆g……..”V…x··….赣….图216位立体声语音文件的文件格式对比表1的说明,不难看出该文件头中只包含fmt块和data块,因此,文件头部分较小。而从:0122单元内容可以看出该文件采用16位采样,:0120单元中的04表示每秒记录4字节数据,而:0116单元内容0002说明其为立体声语音信号。其采样频率仍为5622H=22050Hz(:0118一:011B单元的双字),单位时间所记录的数据量(:011c一:011F语音信号采样时,除了采用8位、16位采样外,还可以采用4位采样,而声道数则是通常所说的单声道和立体声两种。xXXx:0100麟鬻麟蠹蘸漆煎!!Q2XXXx0110望!Q迦!垒02XXXX:0120XXXX:0130xxxx:0140xxxx:0150000404OOOO880001200018oo02oo埋玉巫习匠圃11—57415603一0700一400000OOFO010000OOOO000002CCOl289645壤g囊睡灏20臻濑….wAVE辩2…….”V..’w—…...,…..….……..@…….OOF4OOCOOOFF3002FFFF蠢《g《≤瓣Q§!!QQ!1o…..麟.…(...≤麟….00鹣鬻黪蘸《戮Q=丝!!图3立体声4位采样22050Hz采样频率的wAV文件头如图3所示,上述文件为采用ADPcM编码的立体声语音文件。虽然采样频率同为常用的22050Hz,但由于仅为4位采样,单位时间记录的数据量(:011c一:01lF单元的双字)仅有5727H字节(约21.8l(B)。3.wAV文件的采样数据分析wAV文件中,各采样点的采样数据未经压缩处理,而是按实际数据值存放。因此,根据文件的大小及所采样的位数和声道数很容易计算语音文件的实际播放时间,对数据处理来说也很方便。在windows系统中,提供了一些语音文件供系统使用,如系统提示音等。以贝多芬第五交响乐片头曲为例,其wAV文件头及数据区部分如图4所示。XXXX:0100XXXX:0110xxxx:otzoXXXX:0130XXXX:0140XXXX:0150XXXX:0160XXXX:01705210490046OO46OO94017B00ooOlO旷5700一11412B560045OOoo7F66116D742B0020RIFF.f..WAvEfmt00………+...+..o·o。os7F7F807F807F7F807Fo。ea7F7Fs-,。e-一er,eoo7F7F7F7Flr,r,F,r….data。{…...7F7F7F7F7F807F807F807F807F7F7F7F7F80807F7F7卜7F7F一7F7F7F7F7F7F7F7F7F…………….…………….…………….…………….…………....7F7F7F7F7F80807F7F808080—7F7F7F-7F7F7F7F7F7F7F808080808080—807F7F图4贝多芬第五交响乐的片头曲的文件格式这是一个比较典型的8位语音文件。由于该文件只记录了贝多芬第五交响乐的开头部分,文件长度只有31l(B,但因为采用8位单声道方式记录,且采样率仅有11025Hz,因此,该文件的演奏时间为2.9秒。万方数据 ·50·北京电子科技学院学报2004年在图4中,竖线以前为文件头部分,其后即为语音数据部分。由图4也可看出:8位单声道语音文件中声音数据的记录格式十分简单,l字节表示1个采样点数据,80H表示静音,而FFH和00H分别表示最大/最小采样声音数据。显然,编程对其语音信号进行按比例压缩与放大是很容易做到的。在16位语音文件中,数据记录格式稍稍发生了一些变化。16位立体声语音文件每个采样点需分左声道、右声道进行采样,存放数据,且单个声道的采样数据为16位,故其数据记录格式如下所示左声道低字节高字节右声.酋低字节高字节图516位立体声语音文件采样点数据记录格式以下为windows系统启动正常时提示音的wAV文件头及部分语音数据。XXXX:0100XXXX:0110xxxx:0120)()【)【)(:0130XXXX:0140XXXX:0150XXXX:0160XXXx:01705210490046OO1000OO0101Ol46246B070002617400一57OO一226l—oo00~ooOO—0000—0100一01oo—Ol41566B564566886D58oo7401oo0001010120RIFF¥k..WAVEfmtOO01oo6400oo00OO0700.…….”V…X..oo.…data.k…...oo00000004oo0000oobooo00OO0100010000OOoo010100OOOO00OOooooOO010102OO0000oo.…………....…………....…………....…………....….…….....OOOO0l0101OO0000OO00OO01OO0001OlOO01ooOlOO01oo0102oo图6windows系统启动正常提示音的文件格式从图6中可以看到,该语音文件采用16位立体声编码,每个采样点数据需要占4字节,其采样频率为22050Hz,每秒约保存86l(B语音数据,该文件总长度约为475l(B,演奏时间应为5.5秒。在16位PCM采样数据中,采用补码表示,数据O表示零电平,而ooO卜7FFFH表示正电平信号,FFFFH一8000H表示负电平信号。通过贝多芬第五交响乐的片头曲和windows系统启动正常时的提示音两个语音文件的比较,可以看出8位、16位采样以及单声道、立体声wAV语音文件数据记录格式的区别,通过试听也很容易比较如单声道与立体声语音文件的不同音效。4.结论通过对wAV语音文件的分析,可以看出,无论是8位wAV文件,还是16位立体声语音文件,由于其文件格式一定,因此可直接对其数据区进行操作。此外,由于采样数据未经处理直接存于介子之上,因此便于对数据进行处理。语音文件的格式分析虽然只是语音处理的初步,但分析不同语音文件的格式是对其处理所必须经历的过程。在此基础上,可以利用分析软件、处理软件以及其它工具软件很好地对类似文件进行有效处理,实现语音数据变化规律的研究,语音信号特征的提取等,从而更进一步地控制数字语音信号。参考文献:[1]马道钧.话音信号的功率谱分析【J】.清华大学学报.1999.39(5):112一114.[2]马道钧,张增.话音信号限带的实验分析【J】.遥测遥控.1999.20(5):38—40.[3]陈昭炎.windows环境下的声音信号处理方法【J】.计算机应用研究.2001.20(1):69—70.[4]朱学芳,徐建平.计算机语音信号处理与语音识别系统【J】.南京邮电学院学报.1998.18(5):113—119(下转第46页)万方数据 .46.北京电子科技学院学报2004年【3】v.Tarokh,H.J舭aIli柚dA.CalderbaIlk.‘‘Space“meblock砌叩,)',v01.45,pp.145“1467,Jllly【4】G.Bauch,“Conca_cenationofVaIlcouver,BC,CaIlada,June1999.v01.16,pp.145l一1458,Oct.1998.codesfromorⅡ1090naldcsigIls,’,【J】.纪嬲Z砌,ls.坳册.space_timebl0Ckcodes柚dTurbo—TCM,’’【J】.inP,Dc.脚加f.cD巧cDmm“,lf∞打D瑚,Ch枷elCodesfbrw硫lesscon咖nications,’’【J】.Proceeding1999,pp.120扛1206.【5】T.H.Liew’L.HaIlzo,’’Space-盹neC0des柚dConcatenatedofIEEE,VOL.90,No.2,Feb.2002.作者简介:王军选,男,陕西人,1970年生,北京邮电大学信息工程学院2002级博士生。主要研究方向:空时编码、通信信号处理、螂O通信系统等。Perfom舳ceAnalysist0ConcatenatedFadillgSpace-17iH地nrboChannelCodesinQuasi-StaticW抽g(SchoolofElec廿oniclhyleighJunxuaJl,RaoWbnyuaIl,LiDaobenUIliV.ofhfo衄ation弛dofEngineeIing,B蜘iIlgarePosts&Telecom,Beijing,100876)meconca肥natedspace-timecodeisrateAbst眦t:Thepdnciples1'lm)ocodes锄dspace-廿mecodesin删uced’andsysteIIlatically柚alyzedands姗latedinthispaper.Itw髂reVealed血attlleSNR0fspace-timetIll_bocodewimcodee舯r咖babiu哆1o-3,is1dBabautlowerh柚吐lat0frate1,31,2,innleconditionsof2bit,s蛆dme2,3.ItwasalsorcvealedmatadV锄ceofl,2space-timecodedecrea∞锄dtllesystemc伽叫ex时increasequicHyasⅡlespec仃llInemciencyincrease.co瞻s,space—t伽nerI'Ilr_bocodesm础dation’concatenatedKeywords:TlIlrbocodes,space—time(上接第50页)作者简介:张敬怀,女,辽宁人,1954年生,北京电子科技学院实验中心高级工程师。主要研究方向:信息处理。Fo珊atAnalysisandRelatedPmcessing眦W州SpeechF讹zll趾gJiIlghuai,MaDaojun(1.Expe血nent(2.D印amnentofComputerCenterofBES耵,BeijiIlg:100070)Tecllnology'BEsll,Beijing:100070)to蚰alyzeaScienceandAbstra脱:WwisthefIlndamntalfbrmatofW.mdowsspecch舭.Itis岫poftaIltmefb彻atofWwforthep∞cessingofspcechsi驴als.Thef0埘1atofWAyisanalyzedinthispapler,whichpro、,ideprocessing柚dspeechsignalplDcessing.ba∞fbrthespeechda瞳afikKeyword戥w&Vspeechfile触;锄由sis;processes万方数据 WAV语音文件格式的分析与处理

作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:

张敬怀, 马道钧

张敬怀(北京电子科技学院实验中心,北京,100070), 马道钧(北京电子科技学院计算机科学与技术系,北京,100070)

北京电子科技学院学报

JOURNAL OF BEIJING ELECTRONIC SCIENCE AND TECHNOLOGY INSTITUTE2004,12(2)7次

1.马道钧 话音信号的功率谱分析[期刊论文]-清华大学学报(自然科学版) 1999(05)2.马道钧;张增 话音信号限带的实验分析 1999(05)

3.陈昭炎 Windows环境下的声音信号处理方法[期刊论文]-计算机应用研究 2001(01)4.朱学芳;徐建平 计算机语音信号处理与语音识别系统 1998(05)

1. 郭兴吉.Guo,Xingji WAV波形文件的结构及其应用实践[期刊论文]-微计算机信息2005,21(8)2. 徐济仁.牛纪海.陈家松 对WAV文件格式的实例分析[期刊论文]-电声技术2001(11)3. 徐济仁.牛纪海.陈家松 WAV文件格式实例分析[期刊论文]-微型机与应用2002,21(3)

4. 徐济仁.陈家松.谢成山 基于多媒体WAV文件的语音特征识别[期刊论文]-计算机工程2000,26(11)5. 徐济仁.王昌宝.陈家松 运用多媒体WAV文件格式二三例[期刊论文]-电子技术2001,28(1)

6. 孙世军.彭承琳.白洋 WAV音频文件的分句播放技术及应用[期刊论文]-计算机工程与应用2004,40(12)7. 张广渊.李晶皎.王显巍 语音文件拼接算法的设计与实现[期刊论文]-沈阳大学学报2004,16(4)8. 张力强 RIFF文件浅析[期刊论文]-电脑知识与技术(技术论坛)2005(2)9. 郭姣 VB中调用API实现wav文件的记录和播放[期刊论文]-科技创新导报2009(3)

1.马道钧.陈天策.高婕 语音端点检测方法的分析与实现[期刊论文]-北京电子科技学院学报 2007(4)2.马道钧.张敬怀 语音数据的分析与处理[期刊论文]-北京电子科技学院学报 2005(4)3.赵文博.张生.孙国强.王艇艇 WAV音频分句的算法设计[期刊论文]-微计算机信息 2011(8)4.聂虹 基于LPC2148和SD卡的语音信息处理技术研究[期刊论文]-自动化与仪器仪表 2010(3)5.彭波.申长军.郑文刚.吴文彪.鲍锋 智能语音驱鸟系统设计与实现[期刊论文]-农机化研究 2010(9)

6.贾安学.乔文孝.鞠晓东.车小花.陆蓉.王瑞甲 声波测井井下数据压缩算法压缩效果测试[期刊论文]-测井技术2011(3)

7.宋培毓 基于小波变换的语音分析训练系统[学位论文]硕士 2006

引用本文格式:张敬怀.马道钧 WAV语音文件格式的分析与处理[期刊论文]-北京电子科技学院学报 2004(2)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top