2011年第1l期 福 建 电脑 67 几种语音端点检测方法简介 邢亚从 (苏州市职业大学江苏苏州215000) 【摘要】:语音的端点检测在语音的编码、语音识别、语音增强、说话人识别中起着非常重要的作用, 直接影响着后续工作的正确率。本文在双门限检测法的基础上,介绍了基于自相关极大值和基于小波变换 的端点检测方法。阐述其优缺点。 【关键词】:语音端点检测、过零率、小波变换、自相关极大值 端点检测是语音识别中非常重要的一步。所谓语 值大于短时能量的低门限或者短时过零率的值大于短 音端点检测。就是从一段给定的语音信号中找出语音 时过零率的低门限,那么语音信号仍然处于语音段。 的起始点和结束点。在语音识别系统中,正确、有效的 (5)如果静音长度小于设置的最大静音长度,那么 进行端点检测不仅可以减少计算量和缩短处理时间, 就表明语音还尚未结束,还在语音段,如果语音的长度 而且能排除无声段的噪声干扰、提高语音识别的正确 小于最小噪声长度,那么认为语音太短,此时是噪声, 率。研究表明【1],即使是在安静的环境下,语音识别系统 同时判断语音处于静音段;否则语音就进入结束段。半以上的错误可能主要来源于端点检测。除此之外, 2、基于自相关极大值的语音端点检测方法 一在语音合成、编码等系统中,高效的端点检测也直接影 在端点检测中,如果所处理的语音信号是非平稳 响甚至决定着系统的主要性能。因此,端点检测的效 的随机过程s(n),可以采用短时自相关函数,它的定义 率、质量在语音处理系统中显得至关重要,广泛开展端 为 l_N1-1 点检测实现手段方面的研究,有一定的现实意义[21。 Rw( ) ( + ) 1、双门限检测法 一, 语音端点检测方法可采用测试信号的短时能量或 短时对数能量、联合过零率等特征参数.并采用双门限 判定法来检测语音端点,即利用过零率检测清音,用短 时能量检测浊音,两者配合。首先为短时能量和过零率 分别确定两个门限。一个是较低的门限数值较小,对信 号的变化比较敏感,很容易超过;另一个是比较高的门 限,数值较大。低门限被超过未必是语音的开始,有可 能是很短的噪声引起的,高门限被超过并且接下来的自 定义时间段内的语音超过低门限,意味着信号开始圈。 算法过程如下: 它的归一化自相关函数定义为 R( )=尽 ( )/如(0) 这里之所以要将自相关函数归一化是为了在语音 端点检测过程中不用考虑信号绝对能量的大小所带来 的影响。我们知道语音是由浊音和清音两部分组成的。 浊音语音是0~10ms内可以被看作为一个准周期信号, 而清音信号接近于随机噪声。由于语音的绝大部分能 量都集中在浊音语音部分,因此语音可以在10—2 0 ms 内被看作为一个准周期信号,那么它的归一化自相关 (1)在开始阶段要做预加重和分帧的处理,讲语音 函数也呈准周期性,而高斯白噪声信号的归一化自相 信号分成一帧一帧的,分帧处理有利于对语音信号进 关函数的分布较为平均和分散,不具有准周期性。 行准确的分析,并且能够提高识别率,这时再分别求出 为了突出带噪语音信号的归一化自相关函数的准 每帧的短时能量和短时过零率。 周期性和高斯白噪声信号的归一化自相关函数分散 (2)接着要设置初始化参数,比如最大静音长度,这 性.可以利用一个低通滤波器除去波形上的高频毛刺。 是一个经验值,用来判断语音段是否结束,论文中是根 这样我们就可以清晰地看到带噪语音信号自相关函数 据大量的语音样本的长短设置的一个经验值。另外,短 所具有的准周期性。图lfa)为带噪语音信号的归一化 时能量和短时过零率的门限也要设置初始值等。 自相关函数经过低通滤波后的典型波形。图1(b1为高 (3)判断当语音在静音段或者是过渡段时,如果语 斯白噪声信号的归一化自相关函数经过低通滤波后的 音信号的短时能量值大于短时能量的高门限,或者语 典型波形。我们看到带噪语音信号的自相关函数的能 音信号的短时过零率大于短时过零率的高门限,那么 量将集中在基音周期的各个整数倍点上,在这些点附 就确认进入了语音段,如果短时能量的值大于短时能 近将出现极大值,并且此函数在零点处必将出现最大 量的低门限或者过零率的值大于过零率的低门限.那 值。而高斯白噪声信号的自相关函数却不具有准周期 么语音处于过渡段,否则,语音仍就处于静音段。 性,它的归一化自相关函数的能量在零点之外较为平 (4)当语音信号在语音段时,判断如果短时能量的 均和分散。从图1中我们可以清晰地看到带嗓语音信 福 建 电脑 2011年第1 1期 号和高斯白噪声信号的自相关函数准周期性方面的差 别。 (I)带嗓语罾籽一化自榴关 高斯自噪声期一化自相关 西数经过低通滤波后的波澎疆 荫藏经蛙低遁滤波后的波形躅 图1带嗓语音和高斯白嗓声的归一化自相关函数经过 低通滤波后的波形图 通过上面两个波形图的观察.可以得出这样的推 论:带嗓语音信号的归一化自相关函数经过低通滤波 后的最大值可以间接地反映信号的准周期性的程度。 带噪语音信号和纯噪声信号的归一化自相关函数最大 值都为1,但带噪语音信号具有准周期性。当带噪语音 的归一化自相关函数通过低通滤波器之后.由于它的 能量较为集中,因此低通滤波之后所得的最大值就较 大。反之高斯白噪声的归一化自相关函数的能量较分 散.因此低通滤波之后所得的最大值就较小。因此可以 通过统计该最大值的方法来确定一个阈值用于区分带 噪语音信号和高斯白噪声。 3、基于小波变换的端点检测方法 利用小波变换进行语音端点检测的算法为: (1)首先,将语音数据进行(16ms/帧)分帧处理,分帧 后各段帧数据X (m)、X:(m)……x (m),其中,包括(4ms) 的帧移数据处理。 (2)估计端点检测的门限值: ∑ ) =2O0 —一 其中‘p为端点检测的门限值, 为实验测量的标准 值,200为经验门限值。根据统计可知:绝大多数语音 数据的能量分布在20 ̄000~8000000之间,因此取 c ̄=500000。 (3)对上述数据进行小波变换,变换结果为X (m)、 X:(m)……x (m)。如果x(m)是背景噪声信号,则这些小 波变换后的X(m1都是同一个常数C。根据能量守恒原 理,则有 ∑#( )=∑ ( )= c ==>巨=— ∑#( )=c 这里N;是第i个子带信号x(m)的长度,i_1,2,…,N。 E 、E,…E 为信号的x(m)小波子带平均能量序列。进一 步,将能量序列通过一个中心滤波器,进行一次中心消 波,这样可以使得能量序列的特征更好的表现出来。接 着计算这个能量序列的均值和方差: 肚l v E E, 。= 一El 显然,如果信号x(m)主要由背景白噪声组成,那么, 由于噪声的“白”谱性质,这个能量序列应该近似为一 个常数序列,其方差近似为零。如果信号x(m)主要由语 音组成,那么,这个能量序列是一个数值变化的序列, 其方差不会近似为零。如果信号x(m1主要由白色噪声 和语音组成,那么,不论白色噪声能量有多大,由于语 音的存在,这个能量序列依然是一个数值变化的序列, 其方差不会近似为零。 (4)根据上述思想,计算每帧小波变换后的语音数 据X(m)的方差,如果方差大于门限值‘P,那么即认为这 一帧之后的语音数据为有效的语音数据,记为起始 帧。如果在起始帧存在的前提下,X(m)的方差小于‘p,那 么认为这一帧为结束帧。 5、总结 本文介绍了端点检测的三种方法:双门限检测法、 基于自相关极大值的检测法和基于小波变换的检测 法。通过分析,双门限结合了短时能量和短时过零率的 优点,其精确度和误检率都有了进一步的改善。但是, 其中还是有很多不足的地方:双门限的误检率还是很 高,因为在时域范围内数据的很多特征是无法准确决 定声音的端点的。而且双门限方法不具备抗噪能力。 基于自相关极大值的检测法能够很准确地检测出 语音的端点,将纯高斯噪声段和含语音信号段分辨出 来。当信嗓比比较高时,运用能量端点检测方法可以分 辨出含语音信号段与纯高斯噪声段,如输入信嗓比为 5dB时。当信噪比降低为一5dB后,此时传统的检测方法 已完全失效,而运用此方法仍能有效地检测出含噪语 音段的端点。 基于小波变换的检测法检测的声音数据虽然检测 的精度很高,但是检测的速度是很慢的。一个50KB左 右的语音数据(大约说话人只说了3—5个字),在一台 CPU为2.04G的电脑上检测。得到完整的检测结果大 约需要5秒。如果这段语音数据再大一些的,检测速度 会变得更慢。所以这个算法只能在实验室的情况下进 行端点检测。 参考文献: [11] Junqua J c.R.obusmess and Cooperative Multimodel Man— machine Communication Applicaitons【M】.Proc.Second Venaco Workshop and ESCA ETR.W.1 991.9. f21张震宇.基于Matlab的语音端点检测实验研究.浙江科技学 院学报,2007,19(3):197-201 f31赵高峰,张雪英,侯雪梅.一种基于小波系数方差的语音端点检 测方法.太原理工大学学报,2006,37(5):511—513. [4】董力,陈宏钦,马争鸣.基于小波变换的语音段起止端点检测算 法.申山大学学报(自然科学版),2005,44(3):116—117. 『51易克初,田斌,付强.语音信号处理.北京:国防工业出版社. 200】.