10116xx37周项勇-基于BP神经网络的语音识别系统-毕业设计论文(4)

2019-05-27 21:08

洛阳师范学院2012届本科生毕业设计

2.3 端点检测

语音信号的端点检测是预处理中的重要步骤,它实现从语音信号序列中截取实际有效的语音信号。端点检测不仅能使识别系统处理时间减少,而且有利于消除无声段的噪声干扰。端点检测中通常使用短时过零率、平均能量等度量参考量。

1.短时平均过零率

平均过零率考察的是语音信号在时域上的波形穿过时间轴的情况。对于离散的语音数据,短时平均过零率实质上指的是在固定时间段里采样值的符号变化次数。其计算公式为:

m??N11ZCR??|sign[X()n]?sign[X(n?1)]| (2-4) 2n?m语音的浊音是由声带振动与声腔调节结合而产生的;清音是气流受阻塞时的类白噪声信号,声带不振动。浊音的能量主要集中在低频部分,而清音的主要集中在高频部分。相对地,清音的短时平均过零率高,浊音的低。于是,使用短时平均过零率可以判断清浊音的起止点。

为了增强平均过零率的抗干扰能力,消除随机噪声的影响,可以在求过零率过程中设置阀值T,由式子(2.4)得到式子(2.5)。图2-5描述了数字“5”语音信号的短时平均过零率的变化情况:(a)不设置阀值时平均过零率受噪音影响严重;(b)设置阀值T=0.3,此时平均过零率能更准确地表征实际语音的开始点和结束点。

mN??11ZCR??|signXn[()?T]?signXn[(?1)?T]|?2n?m (2-5)

?|signXn[()?T]?signXn[(?1)?T]|?2.短时能量分析与短时平均幅度

语音信号的能量大小随时间变化。相对地,清音的能量小,浊音的能量大,而随机噪声大多时候能量是较小的,也有短时能量突发的噪声。设经过分帧加窗处理后的语音信号为X(n),则第i帧语音信号的短时能量为:

m?N?1Ei??n?mX(n)2 (2-6)

为了简化计算,避免高低信号平方运算后导致差距变大的情况,可以采用短时平均幅度来描述信号能量的变化。短时平均幅度为:

m?N?1Mi??n?m|X(n)| (2-7)

12

基于BP神经网络的语音识别系统

以上两个度量可以用来区分语音信号中的清音和浊音,因为后者的能量比前者要大得多,也可以用来区分有声段和无声段。可以结合短时平均过零率,对语音信号进行端点检测。在背景噪声较小时,短时平均能量或幅度的分辨能力较好;在背景噪声较大时,短时平均过零率的分辨能力较好。数字“5”语音信号的短时平均幅度变化如图2-6。

300250200平均过零率150100500100200300400500600700语音帧

(a) 无阀值的过零率计算方法

18161412平均过零率1086420100200300400500600700语音帧

(b) 有阀值的过零率计算方法

图2-5 语音信号短时平均过零率的变化情况(数字5)

实现代码:

% 过零率,采用双门限短时过零率方法 % threshold 门限值 %-------------------

13

洛阳师范学院2012届本科生毕业设计

function [rate]=zerocrossRate(data,threshold) %-----testing-----

% data=[1 5 6 2 -1 -5 -6 0]; % size=8;

% threshold=3; %------------- n=length(data);

y1=sign(data-threshold); y1=abs(y1(2:n)-y1(1:n-1))/2;

y2=sign(data+threshold); y2=abs(y2(2:n)-y2(1:n-1))/2;

rate=zeros(1,n); rate(2:n)=y1+y2;

rate=hammingWindow(rate); rate=sum(rate);

706050平均幅度403020100100200300400500600700语音帧

图2-6 语音信号短时平均幅度的变化情况(数字5)

实现代码如下:

% 短时平均幅值

%----------------------------

function [amplitude]=averageAmplitude(data) %-------测试------

14

基于BP神经网络的语音识别系统

% data=ones(1,10);

%---------------------- y=hammingWindow(data); y=abs(y);

amplitude=sum(y); 3.端点检测算法

图2-7描述了对语音信号进行端点检测的具体过程。端点检测过程中,使用了低幅度阀值、高幅度阀值、过零率阀值和持续时间阀值这几个参考量。低幅度阀值,是指数值上较小的幅度水平;高幅度阀值则是数值上较大的。过零率阀值,取较小的值。若语音信号的短时平均幅度高于低幅度阀值,或者短时平均过零率高于过零率阀值,则认为实际的语音可能开始,即标识当前帧为可能起始点。当语音信号的幅度高于高幅度阀值时,则表示实际语音已经开始。最短持续时间,是指持续时间大于该数值的语音段才被认为是实际语音段,即短时间的突发信号会被忽略。一旦语音信号的短时平均幅度低于低幅度阀值,且平均过零率低于过零率阀值,同时语音起始点到当前帧的时间大于持续时间阀值,那么当前帧便是语音段的结束点。图2-8显示了语音端点检测的效果。

15

洛阳师范学院2012届本科生毕业设计

开始初始化还有语音帧是取下一帧语音,计算过零率A和幅度B语音可能起始点是否记录否否A>过零率或者B>低幅度阀值是是记录可能起始点否语音是否开始是否A<过零率并且B<低幅度阀值A<过零率并且B<低幅度阀值是B>高幅度阀值语音可能起始点为假,需重新选取是否标志语音开始判定之前信号为噪声,重新选取起始点记录语音结束点起始点到当前帧<时间阀值否否否是是取出语音段结束

图2-7 语音端点检测过程

16


10116xx37周项勇-基于BP神经网络的语音识别系统-毕业设计论文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:干热灭菌柜URS

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: