基于滑动窗口的端点检测方法、装置和语音识别系统的利记博彩app

文档序号:2821751阅读:555来源:国知局
专利名称:基于滑动窗口的端点检测方法、装置和语音识别系统的利记博彩app
技术领域
本发明涉及一种端点检测(VAD)方法,更具体地说,本发明涉及一种在语音识别系统中使用的语音端点检测方法和装置,以及采用该检测方法的语音识别系统。
背景技术
在语音识别应用系统中,输入信号包括用户说话的语音信号,背景噪音信号等。在输入信号中将用户的说话的语音信号抽出的过程称为端点检测。
语音识别系统产品化的困难在于鲁棒性(Robustness)的提高。语音识别系统的鲁棒性受到说话人、使用环境语音信道等许多不确定因素的影响。一个语音识别系统在正常测试时的识别率指标可能很高,而在实际噪音非常大的环境(比如当前的移动通信环境)中使用时,对使用者来说,其识别率可能相当不理想。
造成识别率低下最重要的原因就是语音的端点检测算法在实际噪音非常大的环境工作效果不理想。实际投产中的语音识别应用系统,由于用户的使用环境各种各样,进入系统的噪声也不尽相同。因此端点检测(VAD)在实际投产的语音识别应用系统中的作用尤其重要。一个好的端点检测算法能够提供好的系统鲁棒性;反之,一个差的端点检测算法将导致系统识别率的急剧恶化。

发明内容
本发明的目的在于提高端点检测的准确性,改善鲁棒性和提高语音识别系统的总体识别率。
根据本发明的第一方面,提供一种端点检测方法,用于检测输入语音信号的语音端点,所述方法包括下列步骤对输入语音信号施加一个窗口,取一定的帧数目作为窗口大小;确定输入语音信号中的背景噪音开始点并且计算背景噪音能量;计算当前帧的声音能量并且进而计算窗口的总声音能量;比较窗口能量是否大于背景噪音能量和语音开始点信噪比的乘积;如果不是,则窗口向下一帧滑动,并且返回计算当前帧声音能量步骤;如果是,则判断当前帧为语音开始点。
在本发明第一方面的端点检测方法中,优选的是所述帧数目为10-100帧。
优选的是,所述确定背景噪音开始点的步骤包括判断刚开始的输入语音信号是否为按键音;若是,则将按键音结束的当前帧作为背景噪音的开始点。
优选的是,所述判断刚开始输入语音信号是否为按键音的步骤包括判断输入语音信号刚开始的连续几帧能量是否都超过按键音的能量阈值参数。
优选的是,所述确定背景噪音开始点的步骤包括将输入语音信号的第若干帧自动设定作为背景噪音的开始点。
优选的是,所述背景噪音能量是从背景噪音开始点开始的第一个窗口的总声音能量。
优选的是,所述方法包括计算帧能量大于最小语音能量阈值的帧数目,若该帧数目小于最小语音长度阈值,则忽略该语音开始点。
优选的是,所述方法包括比较窗口能量与最小窗口能量阈值,若窗口能量小于最小窗口能量阈值,则忽略语音开始点。
优选的是,所述方法包括对开始的帧数内的最小窗口总能量阈值设置为比较高的数。
优选的是,所述方法包括在检测出语音开始点以后,计算语音的均方差;根据语音的均方差,判断语音的波形;根据不同的语音波形,语音开始点向前或向后推移的帧数不同。
优选的是,若语音波形判断为平坦型波形,语音开始点向前推移一定帧数作为语音开始点。
优选的是,若语音波形判断为尖锐型波形,语音开始点向后推移一定帧数作为语音开始点。
优选的是,所述方法包括从语音开始点开始位置向前搜索,假如有连续一定帧数的帧的能量小于最小语音能量阈值,则停止搜索;从中找出能量最低的帧所在位置作为语音开始点的位置。
优选的是,若新的语音开始点位置大于原来的位置,取该新位置作为最终结果。
优选的是,若新的语音开始点位置小于原来的位置,且差值小于允许的误差,取该新位置作为最终结果。
优选的是,若新的语音开始点位置小于原来的位置,但是差值大于允许的误差,取原来的位置作为最终结果。
优选的是,所述方法还包括下列步骤比较窗口能量是否小于背景噪音能量与语音结束点信噪比的乘积;若比较结果是大于,则进入下一帧并且返回计算当前帧能量的步骤;否则,若比较结果是小于或等于,则确定当前帧为语音结束点。
优选的是,所述方法包括步骤在所述语音结束点所在窗口中从开始帧向后搜索,假如某帧的能量小于背景噪音阈值,则停止搜索,以该帧所在位置作为新的语音结束点。
优选的是,所述方法包括步骤假如新的语音结束点位置小于原来的语音结束点位置,则使用该新位置作为最终语音结束点,否则,取该原来的位置作为最终语音结束点。
根据本发明的第二方面,提供一种端点检测装置,用于检测输入语音信号的语音端点,所述端点检测装置包括窗口施加装置,对输入语音信号施加一个窗口,取一定的帧数目作为窗口大小;背景噪音开始点确定装置,确定输入语音信号中的背景噪音开始点并且计算背景噪音能量;计算装置,计算当前帧的声音能量并且进而计算窗口能量;比较装置,比较窗口能量是否大于背景噪音能量和语音开始点信噪比的乘积;改变装置,根据比较装置的比较结果,改变窗口位置,当比较结果表明窗口能量小于或等于背景噪音能量和语音开始点信噪比的乘积的时候,所述改变装置将窗口向下一帧滑动,改变后的窗口位置送往窗口施加装置;以及判定装置,当比较结果表明窗口能量大于背景噪音能量和语音开始点信噪比的乘积的时候,确定当前帧为语音开始点。
在本发明的第二方面所述的端点检测装置中,优选的是所述背景噪音确定装置包括判断刚开始的输入语音信号是否为按键音;若是,则将按键音结束的当前帧作为背景噪音的开始点的装置。
优选的是所述的端点检测装置还包括从语音开始点开始位置向前搜索,假如有连续一定帧数的帧的能量小于最小语音能量阈值,则停止搜索;从中找出能量最低的帧所在位置作为语音开始点的位置的装置。
优选的是所述端点检测装置还包括在检测出语音开始点以后,计算语音的均方差,并且根据语音的均方差,将语音开始点向前或向后推移的装置。
优选的是所述比较装置比较窗口能量是否小于背景噪音能量与语音结束点信噪比的乘积;当比较结果表明窗口能量大于背景噪音能量与语音结束点信噪比的乘积的时候,所述改变装置将窗口的位置向下一帧滑动;当比较结果表明窗口能量小于或等于背景噪音能量与语音结束点信噪比的乘积的时候,所述判定装置确定当前帧为语音结束点。
优选的是所述端点检测装置还包括从语音结束点向前搜索,假如某帧的能量小于背景噪音阈值,则停止搜索,以该帧所在位置作为新的语音结束点的装置。
根据本发明的第三方面,提供一种语音识别系统,它包括如本发明第二方面所述的端点检测装置。


下文将仅以举例的方式结合附图描述本发明。在附图中图1是时域滑动窗口的示意图;图2是另一种滑动窗口的示意图;图3是时域第一个窗口的示意图;图4(图4a和4b)是本发明端点检测方法检测语音开始的示意图;图5是检测语音结束的流程图;以及图6是本发明的一种端点检测装置的示意框图。
具体实施例方式
图1是时域的滑动窗口的示意图。本发明采用滑动窗口的思想,取一定的帧数目为一个滑动窗口大小,然后根据窗口内所有语音的能量总和的大小是否大于和小于某个参数来作为判断是否开始出现语音和结束语音的基础,以提高鲁棒性。如图1所示,水平的横轴表示输入语音信号各帧的时间,垂直的纵轴表示输入语音信号各帧的信号(电平)幅度。白色长条框便是滑动窗口。
图2是另一种滑动窗口的示意图。在图2中,下方的横轴仍然是时间轴,它表示的是输入语音信号各帧的时间。但是,垂直的纵轴表示的是经过频域变换后的频谱,而不是时域下的信号的大小。而图中颜色的深浅则表示了该频谱上信号的强弱。采用这样的时域加频域的语谱图表示,可以直观地显示各帧输入语音信号的强弱。
本发明所针对的端点检测包括两个部分检测语音开始和检测语音结束。语音开始的检测比较复杂,语音结束的检测比较简单。一般而言,检测语音结束的流程要在检测语音开始成功以后才会执行。
1.检测语音开始在实际的应用系统中,系统开始播音,同时开始语音识别。因为用户至少要听取几秒的提示语音,然后才会进行操作,因此可以将开始收到的一段没有用户说话的第一个窗口作为背景噪音历史数据。第一个窗口的背景噪音历史数据的能量和记为背景噪音能量,以后的背景噪音可以以此作为背景噪音参照值。
图4是本发明端点检测方法的语音开始检测部分的示意图,它包括图4a和4b两部分。如图4所示,程序在步骤S101开始,然后便进入步骤S102。
①系统初始化在步骤S102,首先进行系统参数的初始化。这里所述的系统参数包括窗口大小、最小语音能量阈值、最小语音长度阈值、最小窗口总能量阈值、按键音的能量阈值、背景噪音阈值。同时将第一个窗口前无效帧数pre_frames置为某个适当的帧数,比如60帧。另外,语音开始点标志getsos置0。
除此以外,在步骤S102还需要选择信噪比,包括语音开始点(SOS)信噪比,语音结束点(EOS)信噪比。语音开始点信噪比用于检测语音开始点,语音结束点信噪比用于检测语音结束点。
接下来,在步骤S103判断信号是否结束。在信号没有结束的情况下,程序进入步骤S105。
在步骤S105输入下一帧信号。系统的输入为例如8K采样频率的语音信号,一般为PCM ALAW或ULAW格式。通常,连续的语音信号分解为例如每帧10毫秒。当然,输入语音信号也可以采用其它的格式,每帧信号的时间长度也可以设定为其它数值。
接着,程序进入步骤S106,判断已输入的帧数是否超过最大帧数。最大帧数对应于通常一句句子的最长的语音长度,一般设定为数千帧。如果没有超过最大帧数,则进入步骤S107。
在步骤S107,对当前帧进行傅立叶变换,按照下列公式计算当前帧能量E。
具体地说,对每帧语音作快速傅里叶变换FFT(512点)得到该帧的频谱F(ω),然后经过滤波器组(如在Mel刻度坐标上均匀分布的三角窗滤波器)得到各滤波器的输出对数幅度值E(j),作为第j个子带的能量E(j)=ln{Σw=Ljw=HjTj(w)|F(w)|2},j=0,1,2...P-1---(1)]]>其中P子带滤波器组数目;Tj(w)第j个滤波器组的频率响应参数;Lj第j个滤波器组的起始频率;Hj第j个滤波器组的截止频率;F(w)语音的傅立叶变换频谱。
最后用下面的公式对所有的子带能量进行求和,得到每帧语音总能量EE=Σj=0P-1E(j)]]>在计算当前帧能量E之后,对窗口内的所有帧的能量E求和,得到窗口能量WE。
②确定背景噪音的开始点程序接着进入步骤S108,判断当前帧是否是第三帧。如果是第三帧,进入步骤S113,判断前三帧能量是否大于按键音能量阈值。如果是,说明前三帧能量较大是因为按键音所致;程序因此进入步骤S114,则将按键音标志dtmf置1,并且返回步骤S103。如果在步骤S113判断前三帧能量小于或等于按键音能量阈值,说明前三帧信号不是按键音,程序直接返回步骤S103。
需要指出,检测按键音的目的是利用DTMF按键音能量具有能量大并且能量平稳的特点,自动搜索出能量剧烈下降的下沿作为背景噪音的开始点。
另外,这里用来判断按键音的帧数是3。但是,这仅属举例。也可以采用其它帧数或者序号的信号来判断按键音。比如在第5帧时通过判断第2、3、4和5帧的能量是否大于按键音能量阈值来判断按键音的存在与否。假如刚开始连续几帧能量都超过按键音的能量阈值参数,则可以认为是因为以前的DTMF按键音导致。
如果在步骤S108判断不是第三帧,则进入步骤S109。
在步骤S109判断帧数是否小于第一窗口前无效帧数pre_frames。如果判断帧数小于pre_frames,说明还没有到达第一个窗口(背景噪音的开始之处)。程序然后进入步骤S115,判断按键音标志dtmf=1?如果dtmf=1,说明有按键音,则程序进入步骤S116,根据能量E判断按键音是否结束?如果结束,则进入步骤S117,将设定pre_frames=当前帧数+1,这意味着下一帧便是第一窗口的开始。然后,程序返回步骤S103。如果在步骤S116判断按键音未结束,则程序直接返回步骤S103。
需要指出,在以上的步骤S109-S115-S116-S117的执行过程中,首先判断按键音的存在,然后判断按键音的结束,并且在判定按键音结束后重新设定pre_frames为按键音结束的当前帧+1。这意味着,在程序返回S103,并且再次经历步骤S109的时候,步骤S109的判断结果将是帧数大于pre_frames,即已经到达第一个窗口。这是通过按键音的结束来确定第一个窗口的一种途径。
另外,如果前三帧都没有发现按键音,即dtmf≠1,那么在输入一定帧数的信号后,程序在步骤S109判断帧数大于或等于第一窗口前无效帧数pre_frames,则进入步骤S110。也就是说,如果没有检测到按键音,程序便会在输入信号帧数达到预先设定的第一窗口前无效帧数pre_frames后,自动进入第一个窗口。
图3示意性表示了时域的第一个窗口。
回到图4。在确定第一个窗口之后,程序在步骤S110计算有效语音帧数。然后,进入步骤S111。
在步骤S111判断第一个窗口帧数是否已满?如果第一个窗口帧数已满,则进入步骤S112。在步骤S112,设定背景噪音能量等于窗口能量,即第一个窗口的语音总能量。然后进入步骤S121。如果在步骤S111判断第一个窗口还未满,则程序直接进入步骤S121。
在步骤S121判断第二个窗口帧数是否已满。在帧数未满第二个窗口的时候,则程序返回步骤S103。如果已满第二个窗口,则进入步骤S122。
需要指出,第二个窗口有别于第一个窗口。第一个窗口是用于计算背景噪音的参考窗口。第二个窗口则用于判断语音开始和结束的窗口。通常,第一个窗口是固定的,而第二个窗口则在初始时紧接着第一个窗口,然后逐帧向后滑动。当然,第一个窗口和第二个窗口的区分仅仅是相对的。也可以采用同一个窗口来确定背景噪音的开始点以及确定语音开始和结束点。第一个窗口和第二个窗口的大小可以分别例如为10-100帧。
③搜索可能的语音开始点程序自步骤S122起搜索语音开始点。
在步骤S122,根据当前帧数调整最小窗口能量阈值。然后进入步骤S123。
某些语音卡的回音消除算法存在着在播放刚刚开始的时候回声较大的问题。为了减少这种较大回声的影响,优选的是对开始帧数内的最小窗口能量阈值设置为比较高的数,以扣除播放大声的语音时回声的影响。
在步骤S123,判断语音开始点标志getsos=0?如果是,表明尚未找到语音开始点,则程序进入下一步骤S124。如果否,表明可能找到语音开始点,则程序直接进入步骤S127。
在步骤S124,判断窗口能量是否大于最小窗口能量阈值并且窗口能量大于背景噪音能量和语音开始点信噪比的乘积(WE>MiniWindowEnergyThreshold且WE>BackgroundEnergy*sos-snr)?如果否,则程序返回步骤S103。如果是,表明可能找到语音开始点,则程序进入步骤S125。
假如在步骤S124判定窗口能量大于背景噪音能量和语音开始点信噪比的乘积,即该窗口可能含有语音,但是窗口能量小于最小窗口总能量阈值参数,可以认为是系统播放的语音的回音或背景的干扰噪音信号,则忽略该次检测结果,即返回步骤S103。
程序在步骤S125设定语音开始点标志getsos=1。同时,设定语音开始点位置(sos)为当前帧。
接下来,进入步骤S126,求信号的均方差,然后根据均方差调整语音开始点。具体地讲,在检测出语音开始点(SOS)以后,求信号的均方差,并且因此判断信号的波形。根据不同的语音波形,语音开始点向前或向后推移的帧数不同。如果计算得到的波形是平坦型波形,语音开始点向前推移一定帧数作为语音开始点;如果是尖锐型波形,语音开始点向后推移一定帧数作为语音开始点。如果是一般的波形,语音开始点位置不变。然后,进入步骤S127。
④判断是否确实是语音在步骤S127,判断语音开始点标志getsos=1?如果否,则程序返回步骤S103。如果是,则进入步骤S128。
在步骤S128,则判断有效语音帧数是否大于最小语音长度阈值(ValidVoice>MiniVoiceLenthThreshold)?若判断结果为是,程序进入步骤S129。若判断结果为否,表明已计算的有效信号帧数还不够最小语音长度;程序因此进入步骤S131。
在步骤S131,判断当前帧能量是否小于最小语音能量阈值(E<MiniVoiceEnergyThreshold)?如果当前帧能量大于或等于最小语音能量阈值,表明当前帧可能是语音,则进入步骤S135,设定无效语音帧数等于0,然后返回步骤S103。
如果在步骤S131判定当前帧能量小于最小语音能量阈值,表明当前帧不是语音,则进入步骤S132。在步骤S132,无效语音帧数加一。然后,进入步骤S133,判断无效语音帧数是否大于窗口帧数?如果无效语音帧数大于窗口帧数,则可以认为此前判断可能是语音的信号属于脉冲干扰的噪音信号,故而将之忽略;程序因而进入步骤S134,设定语音开始点标志getsos=0,然后返回步骤S103。
也就是说,假如检测出可能是语音,但是能量大于最小语音能量阈值的帧数目小于某个最小语音长度阈值,可以认为是脉冲干扰的噪音信号,则忽略。
如果在步骤S133判断无效语音帧数小于或等于窗口帧数,则程序返回步骤S103,继续下一帧信号的判断。
如果在步骤S128判断有效语音帧数大于最小语音长度阈值,表明已找到语音。然后,进入步骤S129,设定语音开始点标志getsos=2。
⑤精确搜索语音开始点接下来,进入步骤S130,再次精确搜索SOS点。换句话说,步骤S130的目的是基于二次检测的思想,在初步检测出位置的基础上再次精确定位。
具体而言,从先前检测出语音开始点的初始位置向前搜索,假如有连续一定帧数的能量小于语音能量阈值参数,则停止搜索。然后,从该连续帧数的信号中找出能量最低的位置作为语音开始点的位置。
假如新的语音开始点(SOS)位置大于原来的位置,取新的位置作为最终结果。假如新的位置小于原来的位置,且差值小于允许的误差,取新的位置作为最终结果。否则,取原来的位置作为最终结果。
最后,进入步骤S130,程序结束。
此外,如果在步骤S103判断信号结束或者在步骤S106判断所处理的帧数超过了最大帧数,则程序均转向步骤S104,程序结束。
2.检测语音结束图5是检测语音结束的流程图。在检测出语音开始点(SOS)以后,便可以开始检测语音结束点(EOS)位置。
程序自步骤S201开始,然后进入步骤S202。在步骤S202,判断信号是否结束。如果信号还未结束,则程序进入步骤S203,输入下一帧。接下来,进入步骤S204。
在步骤S204判断是否超过最大帧数。如果否,则进入步骤S205,计算当前帧能量E和窗口能量WE。
接下来,进入步骤S206,判断帧数是否满一个窗口?如果已满,则进入步骤S207,判断当前窗口能量是否小于背景噪音能量和结束点信噪比的乘积(WE<BackgroundEnergy*eos-snr)?如果是,表明语音已结束,则进入步骤S208,设定结束点位置eos为当前帧。
然后,进入步骤S209,再次精确搜索eos点。也就是说,在检测出语音结束点之后,使用背景噪音阈值再次搜索语音结束点,以便更加精确地确定语音结束点。
具体而言,二次搜索语音结束点的过程包括在先前检测出的语音结束点所在的窗口中从开始帧向后搜索,假如出现能量小于背景噪音阈值的位置点,则停止搜索。以该位置点作为新的语音结束点EOS的位置。假如新的语音结束点位置小于原来的语音结束点位置,则使用新的位置作为最终结果;否则,取原来的位置作为最终结果。
最后,进入步骤S210,程序结束。
若在步骤S206判断帧数未满一个窗口,程序返回步骤S202。
若在步骤S207判断帧能量大于或等于背景噪音能量和结束点信噪比的乘积,表明输入信号仍然是语音,则程序返回步骤S202。
当在步骤S202判断信号结束或在步骤S204判断信号超过最大帧数的时候,程序进入步骤S210。程序就此结束。
3.端点检测装置图6是本发明的一种端点检测装置的示意框图。所述端点检测装置用于检测具有背景噪音的输入语音信号的语音端点。所述端点检测装置包括窗口施加装置301,对输入语音信号施加一个窗口,取一定的帧数目作为窗口大小;背景噪音开始点确定装置302,确定输入语音信号中的背景噪音开始点并且计算背景噪音能量;计算装置303,计算当前帧的声音能量并且进而计算窗口能量;比较装置304,比较窗口能量是否大于背景噪音能量和语音开始点信噪比的乘积;改变装置305,根据比较装置的比较结果,改变窗口位置,当比较结果表明窗口能量大于背景噪音能量和语音开始点信噪比的乘积的时候,所述改变装置将窗口向下一帧滑动,改变后的窗口位置送往窗口施加装置;以及判定装置306,当比较结果表明窗口能量小于或等于背景噪音能量和语音开始点信噪比的乘积的时候,确定当前帧为语音开始点。
通常,本发明的端点检测方法和装置可以应用在语音识别系统中。此外,本发明还可以应用在语音编码中。
4.测试本发明的端点检测方法和装置在离线(Off-Line)测试环境取得了良好的测试结果。
4.1离线测试环境离线测试环境是指用已经获得的语音,来进行测试。
被测试的语音分为4种(1)实际语音系统中使用移动电话录制的语音;(2)实际语音系统中由barge in打断方式录制的一般的语音;(3)实际语音系统中由barge in打断方式录制的带有很强的背景噪音的语音;(4)全的噪音,包含各种干扰信号。
使用两个VAD进行测试,包括VAD1和VAD2。VAD1为本说明书提到的一种没有使用窗口的端点检测器,VAD2为使用基于窗口的端点检测器。
4.2四个衡量指标为了定量地衡量一个端点检测器的性能,给出下面四个衡量指标4.2.1.语音漏警率MAR(Miss Alarm Rate)人说话的语音被错误地认为是噪音,被错误地拒绝了。
被错误拒绝的语音总数目占总语音数目的百分比称为语音漏警率。
4.2.2.语音虚警率FAR(False Alarm Rate)背景的噪音被错误地认为是正常的语音,被错误地接受了。
被错误地接受的噪音数目占总语音数目的百分比称为语音虚警率。
4.2.3.语音端点误剪率VCR(Voice Cut Rate)在这种情况下,语音被检测到,但是检测出的语音开始点大于实际语音的开始点或者检测出语音结束点小于实际语音的结束点,即存在语音误剪的情况。语音误剪情况可以分为两种1在语音开始点误剪VAD可以检测出是人的语音,但是检测出的语音开始点大于实际语音的开始点。当检测出的语音开始点大于实际语音的开始点超过一定程度以后,检测出来的语音信号就会严重丢失信号信息。使检测出来的语音信号严重失真,无法反映原来的语音信息。将语音信号在语音开始点严重丢失导致语音信号严重失真的数目占总语音数目百分比称为语音开始点误剪率。
2在语音结束点误剪检测出正确的语音但是检测出语音结束点小于实际语音的结束点,当检测出的语音结束点小于实际语音的结束点超过一定程度以后,检测出来的语音信号就会严重丢失信息。使检测出来的语音信号严重失真,无法反映原来的语音信息。将语音信号在语音结束点严重丢失导致语音信号严重失真的数目占总语音数目百分比称为语音结束点误剪率。
这两种话音误剪率的和称为语音误剪率。
4.2.4.语音端点检测误差在这种情况下,语音被正确检测到,但是检测出来的语音开始点的位置小于实际位置或检测出来的语音结束点的位置大于实际位置。端点检测误差就是指这时检测出来的语音位置和实际位置的差总和与检测正确的总语音数目的比。存在两种端点检测误差情况1语音开始点平均检测误差rs=1NΣj=1Nrs(j)]]>其中N检测正确总数目rs(j)检测到的语音开始点位置与实际的语音开始点的采样点位置差的绝对值2语音结束点平均检测误差re=1NΣj=1Nre(j)]]>其中N检测正确总数目re(j)检测到的语音结束点位置与实际的语音结束点的采样点位置差的绝对值语音开始点检测误差与语音结束点检测误差的和称为端点检测误差rr=rs+re4.2.5四个衡量参数指标的影响分析在前面讨论的四个衡量指标中,前面三个指标属于错误性能指标,它们会造成无法识别或识别错误,是判断一个VAD性能指标的主要参数。我们把前面三个参数的总和称为VAD的错误率VAD的错误率ER=MAR+FAR+VCR第四个指标属于误差指标,它会造成识别速度变慢和影响识别率。
4.3测试结果及讨论下文给出各种语音的离线测试结果。
1)从实际语音系统中使用移动电话录制的语音,语音比较正常,基本没有噪音。
总共50句语音。试验结果如下

结果分析①错误率VAD1话音拒绝2个,话音误剪9个,总共错误11次,VAD2话音拒绝4个,总共错误4次。
通过使用滑动窗口,错误率由22%下降到了8%,相对减少了63.64%②端点检测误差VAD1和VAD2端点检测误差都比较小。说明在正常的语音中判断都比较准确。
通过使用滑动窗口,端点检测误差相对减少了16.45%。
2)实际语音系统中由barge in打断方式录制的语音,语音中带有回音,噪音比较小。
总共113句语音,试验结果如下

结果分析①错误率VAD1话音误剪3个,总共错误3次,VAD2总共错误0次。
通过使用滑动窗口,错误率由2.65%下降到了0%,相对减少了100%②端点检测误差
VAD1和VAD2端点检测误差都比较大。
通过使用滑动窗口,端点检测误差相对减少了8.96%。
3)从实际语音系统中由barge in打断方式录制的带有很强的背景噪音的语音。总共28句语音。试验结果如下

结果分析①错误率VAD1话音误剪5个,总共错误5次,VAD2总共错误0次。
通过使用滑动窗口,错误率由17.86下降到了0%,相对减少了100%②端点检测误差VAD1和VAD2端点检测误差都比较大。说明由于噪音的影响判断比较不准确。但是VAD2要相对比较小,说明VAD2受噪音的影响比较小。
通过使用滑动窗口,端点检测误差相对减少了27.93%。
4)完全的噪音,包括平稳的背景噪音,大的脉冲噪音等。总共9句噪音,没有语音。
试验结果如下

结果分析①错误率VAD1噪音误接受7个,总共错误7次;
VAD2总共错误0次说明VAD1容易受环境的噪音地影响,VAD2抗噪音的效果比较好。
通过使用滑动窗口,错误率由77.78%下降到了0%,相对减少了100%。
由上文的离线测试可见,采用本发明的端点检测方法和装置之后,端点检测的准确性有所提高;同时鲁棒性和语音识别的总体识别率也得到进一步的改善。
本发明可以在不背离本发明的精神或基本特征的前提下以其它特定的方式实现。在此公开的实施形式在所有的方面都是示意性的,而不是限制性的,因此,由后续权利要求书而不是前面的说明书所示出的本发明的保护范围、以及来自于权利要求中等同含义和范围内的所有变化都是应该被包含在其中的。
参考文献[1]Javier Ramirez,Jose C,Segura,Carmen benitez,Angelde la Torre,Antonio Rubio“Efficient voice detection algorithmsusing long-term speech information”Speech Communication 42(2004)271-28权利要求
1.一种端点检测方法,用于检测输入语音信号的语音端点,所述方法包括下列步骤对输入语音信号施加一个窗口,取一定的帧数目作为窗口大小;确定输入语音信号中的背景噪音开始点并且计算背景噪音能量;计算当前帧的声音能量并且进而计算窗口能量;比较窗口能量是否大于背景噪音能量和语音开始点信噪比的乘积;如果不是,则窗口向下一帧滑动,并且返回计算当前帧声音能量步骤;如果是,则判断当前帧为语音开始点。
2.如权利要求1所述的端点检测方法,其中所述帧数目为10-100帧。
3.如权利要求1所述的端点检测方法,其中所述确定背景噪音开始点的步骤包括将输入语音信号的第若干帧自动设定作为背景噪音的开始点。
4.如权利要求1-3之一所述的端点检测方法,其中还包括计算帧能量大于最小语音能量阈值的帧数目,若该帧数目小于某个最小语音长度阈值参数,则忽略该语音开始点。
5.如权利要求1-3之一所述的端点检测方法,其中还包括比较窗口能量与最小窗口能量阈值,若窗口能量小于最小窗口能量阈值,则忽略语音开始点。
6.如权利要求1-3之一所述的端点检测方法,其中还包括在检测出语音开始点以后,计算语音的均方差;根据语音的均方差,判断语音的波形;根据不同的语音波形,语音开始点向前或向后推移的帧数不同。
7.如权利要求1-3之一所述的端点检测方法,其中还包括从语音开始点开始位置向前搜索,假如有连续一定帧数的帧的能量小于最小语音能量阈值,则停止搜索;从中找出能量最低的帧所在位置作为语音开始点的位置。
8.如权利要求1-3之一所述的端点检测方法,还包括下列步骤比较窗口能量是否小于背景噪音能量与语音结束点信噪比的乘积;若比较结果是大于,则进入下一帧并且返回计算当前帧能量的步骤;否则,若比较结果是小于或等于,则确定当前帧为语音结束点。
9.如权利要求8所述的端点检测方法,还包括步骤在语音结束点所在窗口中从开始帧向后搜索,假如某帧的能量小于背景噪音阈值,则停止搜索,以该帧所在位置作为新的语音结束点。
10.一种端点检测装置,用于检测输入语音信号的语音端点,所述端点检测装置包括窗口施加装置,对输入语音信号施加一个窗口,取一定的帧数目作为窗口大小;背景噪音开始点确定装置,确定输入语音信号中的背景噪音开始点并且计算背景噪音能量;计算装置,计算当前帧的声音能量并且进而计算窗口能量;比较装置,比较窗口能量是否大于背景噪音能量和语音开始点信噪比的乘积;改变装置,根据比较装置的比较结果,改变窗口位置,当比较结果表明窗口能量小于或等于背景噪音能量和语音开始点信噪比的乘积的时候,所述改变装置将窗口向下一帧滑动,改变后的窗口位置送往窗口施加装置;以及判定装置,当比较结果表明窗口能量大于背景噪音能量和语音开始点信噪比的乘积的时候,确定当前帧为语音开始点。
11.一种语音识别系统,包括如权利要求10所述的端点检测装置。
全文摘要
本发明提供一种端点检测方法和装置,用于检测具有背景噪音的输入语音信号的语音端点,所述方法包括下列步骤对输入语音信号施加一个窗口,取一定的帧数目作为窗口大小;确定输入语音信号中的背景噪音开始点并且计算背景噪音能量;计算当前帧的声音能量并且进而计算窗口能量;比较窗口的总声音能量是否大于背景噪音能量和语音开始点信噪比的乘积;如果不是,则窗口向下一帧滑动,并且返回计算当前帧声音能量步骤;如果是,则判断当前帧为语音开始点。本发明的端点检测方法提高端点检测的准确性,改善鲁棒性和提高语音识别系统的总体识别率。本发明的端点检测方法和装置通常应用在语音识别系统中。
文档编号G10L15/00GK1763844SQ20041008380
公开日2006年4月26日 申请日期2004年10月18日 优先权日2004年10月18日
发明者余洪涌, 赵庆卫 申请人:中国科学院声学研究所, 北京中科信利通信技术有限公司, 北京中科信利技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1