基于MATLAB和VC 混合编程提取音频特征参数

来源 :中国教育技术装备 | 被引量 : 0次 | 上传用户:hulei_1188
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  传统的基于文本的音频检索技术不支持实时音频检索。为此,基于内容的音频检索技术应运而生,而以提取音频特征参数为关键技术。本文介绍一种MATLAB和VC (Visual C )混合编程提取音频特征参数的方法。
  在音频检索之前,首先进行音频的特征提取。VC 提供了软件代码自动生成和可视化的资源编辑功能,但不足之处是不包括一些集成的数据算法。直接用VC 来提取音频特征,需要编写很多代码,准确性低。MATLAB为应用程序开发提供了最核心的数学工具,但是仿真时间长,直观性差。因而采取混合编程提取音频特征的方法更有效。
  
  1 音频特征提取
  
  提取音频特征之前,首先要对音频文件进行加窗处理,即把音频文件划分为一个个小段,每个小段称为一帧,相邻的两帧之间有重叠,然后对每帧进行音频特征提取。根据特征空间的不同,特征提取分为时域、频域和时频域3类。
  时域特征参数包括短时平均能量、过零率[1]等。短时平均能量反映了音频能量幅度的变化,经常用来区分静音、非静音、清音和浊音。过零率反映了信号在短时帧内的平均频率,常用来区分音乐的开始和结束。实际计算中,为了避免静音段的随机噪声产生过高的过零率,这里设定一个门限值:delta=0.02。当前后两个采样的符号不同,并且差值大于这个门限值时,过零率的数值加1。
  所谓频域特征提取,就是将音频信号先进行傅立叶变换,分析出组成该信号的不同频率和不同幅值的谐波,对这些谐波进行特征系数的提取[1]。提取的特征包括能量谱、倒谱值等。能量谱可用来分析该音频文件能量分布,用来提取构成该音频的主要频率。任何一个语音都是由声门波和声道的卷积而成的,用倒谱的方法得到声门波的频率(音调)和声道的特征(共振峰)是提取語音特征参数的一种方法[2]。
  某些音频信号具有很强的时变特性,在这段时间内表现出周期信号的特性,而在另一个时间段表现出噪音特性[1]。对于这些时变剧烈的音频信号,既要从时域分析,也要从频域分析,因而采取短时傅里叶变换思想:假定非平稳信号x(t)在分析窗函数g(t)的一个短时间间隔内是平稳的,并移动分析窗函数,使x(t)g(t-τ)在不同的有限时间宽度内是平稳信号,从而计算出各个不同时刻的功率谱。
  鉴于以上特性,本文最终提取的音频特征参数是短时平均能量、短时过零率、短时傅频能量、短时倒谱值。
  
  2 MATLAB和VC 混合编程
  
  实现MATLAB和VC 混合编程之前需要分别设置MATLAB和VC 的属性参数。在MATLAB中需要添加头文件、库文件搜索路径。在VC工程设置的预处理器属性中,加入3个字符串:MSVC、IBMPC、MSWIND。在连接属性页中,添加库函数:libmmfile、libmatlb、libmx、libmat、libmatpm、sgl、libmwsglm。在忽略库中输入msvcrt.lib[2]。然后建立一个专门处理音频信息的音频处理类。该类实现音频文件的装载、播放、停止以及返回文件的基本信息等功能。最后定义一个全局函数用来提取音频特征参数。
  下面以提取短时频谱能量为例介绍如何在VC中嵌入MCC生成的代码。提取短时频谱能量时曾用到FFT变换,而该变换是VC不包含的集成数据运算,因而必须将其转换成VC识别的代码。具体做法:先在MATLAB中定义一个函数,功能是将音频数据进行FFT变换;然后在主函数中调用该函数,成功调用后,在命令窗口中输入mcc-t-L Cpp函数名,在当前文件夹下会生成源文件和头文件,在VC中将刚生成的两个文件添加到工程中;最后将VC的数据类型转换成mwArray类型。mwArray是MATLAB的C 数据库中的数据类型,用来实现MATLAB和VC混合编程。经过以上设置后,便可以在VC中直接调用MATLAB中MCC生成的代码,最终实现音频特征各个参数的提取。
  
  3 结束语
  
  MATLAB将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,命令语句功能十分强大,为科学研究、工程设计及众多学科领域提供了一种简洁、高效的编程工具。但是MATLAB使用的是解释性语言,大大限制了它的执行速度,局限于MATLAB运行环境而不能用于开发商用软件。VC 是Windows平台下主要的应用程序开发环境之一,它能方便实现软件开发,开发的系统具有界面友好、执行速度快、易维护和升级等优点。但是在工程计算方面,和MATLAB相比,编程显得复杂的多。因此实现VC 与MATLAB混合编程,使两者结合起来协同工作,必将提高软件开发效率,使所开发的软件具有更高的性能、更大的应用范围。
  
  参考文献
  [1]庄越挺,潘云鹤,吴飞,等.网上多媒体信息分析与检索[M].北京:清华大学出版社,2002:122-143
  [2]何强,何英.MATLAB扩展编程[M].北京:清华大学出版社,2002
  [3]李国辉,李恒峰.基于内容的音频检索:概念和方法[J].小型微型计算机系统,2000(11):1173-1177
  [4]李博轩.多媒体开发指南[M].北京:清华大学出版社,2000
其他文献
高职学生的英语学习现状以及当今社会的高速发展为英语教学模式的改革提出新的要求,英语教师应在教学实践中不断创新自己的教学模式和思路,使之不断完善并且满足社会发展的需
巧用多媒体辅助语文教学是一种高效率的现代化教学手段,她犹如一座架设在学生和教材之间的不可替代的桥梁,使学生在学习中始终保持兴奋、愉悦、渴求上进的心理状态,让语文课堂有声有色,提高课堂效率,对学生主体性的发挥、创新意识和探索精神的培养有着事半功倍之效。下面笔者结合小学语文课堂教学,谈谈多媒体在其教学中的应用。  1 巧用多媒体,突出教学的重难点,提高课堂教  学效率  多媒体教学以图形和动画为主要手
根据接触力学相关理论,利用有限元软件ABAQUS建立计人温度场的预负荷空心圆柱滚子轴承的热力耦合有限元模型,分析温度对预负荷轴承承载性能和刚度的影响。结果表明:相同载荷条件
以聚四氟乙烯(PTFE)、石墨(c)、锡青铜(CuO)、环氧树脂(E44)、聚酰胺、无水乙醇、液体石蜡为原料,合成一种摩擦性能优异的固液润滑剂;利用声发射技术及马氏距离判别法对该固液润滑剂的
学校德育教育是实施以德治国方针的基础,也是素质教育的核心。法制教育尤其是青少年法制教育是落实依法治国方针的基础性工作。中等职业学校(以下简称中职学校)的学生绝大多数是未成年人,从办学方向以及从学生来源上讲这些青少年有他的特殊性。中等职业学校担负着为我国培养具有较高素质的技能型、应用型、专业技术人才的任务,所以中职学校加强法制教育是非常必要。  法制教育的内容不仅包括刑事法律制度,还包括民事法律制度
中国机械工程学会摩擦学分会第六届摩擦、耐磨、减摩材料与技术专业委员会第三次学术委员会议于10月24—26日先后在江苏盐城和海安召开,来自国内十余所高校、二十多家企业、两
目前高职工程力学课程存在着忽视培养学生工程意识、追求教学内容系统性、教学手段落后等问题。为此,大连水产学院职业技术学院提出并尝试了"能力本位"的工程力学课程教学体系,