- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
wav音频文件格式分析与数据获取.doc
wav音频文件格式分析与数据获取
摘要:音频文件是把语音信号离散化的数字文件,wav格式的音频文件是常用的二进制音频格式,广泛应用于语音信号处理、语音识别、语音合成等领域;本文详细分析了wav音频文件格式,并用C语言编程,实现对该格式文件的访问,获取音频信息和数据。
关键字:wav;音频文件;音频信息;音频数据
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2016)27-0211-03
1 概述
语言是人们之间进行通讯和交流必不可少的手段。语音由人的发音器官发出,语音信号是连续的模拟信号,在用计算机来处理时,需要进行数字化,包括采样、量化等过程,转换成离散的数字信号,保存在音频文件中。现在很多领域要求对语音信号中的音频数据进行进一步的加工和处理。例如,利用读出的音频信号数据,进行语音信号时域和频域分析、语音压缩、语音编码、解码、语音合成、语音识别、语音增强等,并通过波形观察比较不同编码效果。另外,利用多媒体语音系统我们还可以用语音数据和波形方便地进行噪声模拟分析,语音特征提取研究,以及语音识别和训练等应用方面的实验。又如:在人工智能领域,通过设计软件和硬件电路,用声音去控制计算机工作,还有机器人通过语音与人进行简单的对话交流等等。这些都要求我们对数字语音信号进行一些必要的加工处理。
wav文件格式是一种重要的数字音频文件格式,是目前应用很广泛的一种音频格式。相比于其他格式如MP3、MP4、RAM等压缩效率更高的音频文件格式,wav文件没有采用压缩技术,因而其文件要大很多,一般都在几兆字节,甚至更大。但也正因为没有采用压缩技术,wav文件中声音的采样数据很容易被读出来,便于做其他处理。例如:画出声音的信号波形、作出频谱,进行时域、频域分析,提取语音信号的特征参数用于语音识别等。现在的应用程序几乎都支持wav文件格式,也有专门软件可以完成从wav文件格式向其他文件格式的转换,或者把其他格式文件转换为wav格式,例如,微软公司的Adobe Audition。因此wav文件在目前仍然有着广泛的应用价值,有很多应用程序仍然采用wav文件格式。
本文在Visual C++环境下编程实现了wav音频文件的读取,读出其中的参数和音频数据,以便进一步用于特征参数提取、说话人识别等,并对TIMIT语音库的语音文件进行了读取试验验证。
2 wav文件格式分析
2.1 wav文件格式
由于wav格式的波形文件是二进制文件,用C语言编程对该文件读取其中的数据,需要先了解它的格式。
wav格式是微软公司开发的一种声音文件格式,也叫波形文件,是最早的数字音频文件格式,它具有RIFF(Resource Interchange File Format)格式。RIFF格式的wav文件由若干个Chunk(块)组成,按顺序为RIFF WAVE Chunk、Format Chunk、Fact Chunk(可选)和Data Chunk。每个块都有固定而且类似的格式,一般第1部分是块的ID,作为标识,4个字节大小,紧跟其后的是该块的大小,也是用4个字节表示,低字节表示低位,高字节表示高位;第3部分略有差异,以下分别详细说明。
RIFF WAVE块格式如表1所示:
Wav文件最开始4个字节是ID部分,其内容为RIFF的ASCII码,紧跟的4个字节是文件大小(字节数)减去ID 和Size所占字节数,共8个字节,即文件大小(字节数)减去8。然后是Type部分,其内容为WAVE的ASCII码,4个字节。
Format块要复杂得多,其格式如表2所示:
其中ID部分同样占4个字节,其内容为fmt (注意最后有一个空格)的ASCII码。
fact块为可选的块,有的波形文件有这个块,有的没有,其格式如表3所示:
有些wav文件是由某些软件转化来的,一般就包含该块。其ID部分为fact的ASCII码,紧跟的4个字节是存储的是4,然后是data部分,其内容为WAVE的ASCII码,4个字节。
最后一个块是Data块,其格式如表4所示:
其ID部分为data的ASCII码,紧跟的4个字节是音频数据个数,然后是data部分,存储的是具体的音频数据。
2.2 wav文件示例
我用debug调试工具把一个wav二进制文件调入内存,再用该工具的显示命令d,把其中部分内容显示出来,如图1所示。
图中,第1行的d是显示命令,第2行的“1396:0100”是内存地址,4个十六进制数据“52 49 46 46”依次是RIFF4个字母的ASCII码;紧跟的4个十六进制数据“06 C7 03 00”实际上是一个数值,低位在前,高位在后,因此是十六进制数
文档评论(0)