基于Matlab藏语语音基音检测算法研究.docVIP

基于Matlab藏语语音基音检测算法研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Matlab藏语语音基音检测算法研究

基于Matlab藏语语音基音检测算法研究   摘 要: 目前藏语语音基音检测算法相关研究较少,藏语语音基音检测是藏语语音处理过程中的重要环节,其准确性直接影响到系统的性能。介绍中心消波和自相关函数的算法原理及基音检测算法,设计藏语语音基音检测流程,利用Matlab进行编程和仿真。通过实验表明该算法结构简单、运算量小,结果较准确,可用于信噪比较低环境下藏语语音辅音的基音估值检测。   关键词:基音检测; 藏语语音; 自相关算法; Matlab   中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2015)10?0020?03   0 引 言   语音信号处理是一门交叉学科,研究内容涉及到各种语言的语音与计算机处理技术、数字信号处理等很多知识,是目前很热门的研究领域。这门技术对藏语言的语音合成、语音识别、语音压缩编码和语音分析具有重要意义。基音检测作为藏语语音处理的关键环节直接影响整个语音处理系统的性能[1]。   基音检测是根据浊音语音的周期性进行周期或频率的估算,目前基音频率算法有很多种,但是还没有一种适合各种语音环境的统一算法[2?5]。本文采用中心消波和自相关函数相结合的算法,通过Matlab编程实现了藏语语音基音的估算。自相关函数算法是利用浊音语音信号的准周期性和出现的最大值,提取自相关函数的第一个峰值点的位置进行频率估算[6]。   1 中心消波自相关函数算法   1.1 语音短时自相关函数   语音信号中,浊音波形具有一定的周期性,通过自相关函数计算,其波形在时域上具有较好的相似性[7?8],周期信号的特点是:对于确定的信号,具有对称性和最大值,在某个周期内对应周期值取样点上的自相关函数值最大,相邻最大值间的距离为估算的基音周期,以此来估计周期信号的周期值。因此,可以根据语音信号短时稳定性的特点,采用短时自相关函数进行语音基音频率估值计算,其计算公式如下:   [Rnk=m=-∞+∞xmxm-khkn-m]   式中:x为离散语音序列,序列x(m)x(m-k)经过一个冲激响应为hk(n-m)的数字滤波器滤波得到短时自相关函数Rn(k)。   1.2 中心消波   根据自相关函数的特点,语音的短时自相关波形是周期性的波形图,但是只有少数的波峰反映了基音周期,因此,在进行基音频率估算前可以采用中心消波算法进行适当的信息压缩,突出基音周期信息。中心消波法[9?10]就是将语音信号的序列电平先进行60%~70%的消波,在进行自相关计算,其公式如下:   [fx=x-xL, xxL0, -xL≤x≤xLx+xL, xxL]   式中:xL为消波电平;f(x)分为消波后的语音序列。通过中心消波后的语音序列经自相关函数计算后其波形的基音峰值更加尖锐,可以降低倍频或半频错误。   2 Matlab算法设计   中心消波自相关函数基音频率估值流程图如图1所示,由7大部分组成:   (1) 原始语音:提取一段藏语语音。   (2) 提取合适的浊音语音段:语音信号中只有浊音具有周期性,因此对提取的语音段要进行浊音提取,本程序中用人工方式将一段藏语语音段的浊音部分用wavread函数提取出来。   (3) 预处理:为选取的语音进行预加重处理,加重高频部分,去除辐射影响,用x1=filter([1-0.937 5],1,x1)实现,提高语音的高频分辨率。   (4) 分帧加窗:根据语音的短时稳定性对预处理后的语音进行分帧加窗,在Matlab中用Enframe函数可以实现不同窗函数的分帧。   (5) 中心消波:本流程里设定的中心消波电平为语音最大幅值的70%。   (6) 自相关函数计算:对中心消波后的语音序列进行自相关计算。   (7) 基音频率估值:根据语音自相关函数波形的周期性,提取其最大值的位置n,计算[nfs]获得基音周期或频率[11?12]。在实际的仿真中发现由于第一个峰值点滞后,对n值进行一定的处理。      图1 中心消波自相关函数基音检测流程图   3 基音检测及Matlab仿真   Matlab仿真程序包括两个部分,首先在主程序里读取藏语语音信号,提取浊音信号,然后进行预处理和分帧,其代码如下:   clear all;   [x1,fs,nbits]=wavread(′d:\waves\tb1?4.wav′,[26800 40000]);   x1=filter([1?0.9375],1,x1);   N=1764;step=110;   x2=enframe(x1,boxcar(N),step);   x=x2(1,:);   xwin_one(x,1,fs);   其次,调用一个自定义的xwin_one.m函

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档