1、1一种快速的基于短时能量和过零率的语音端点检测方法摘要:本文提出了一种快速的语音端点检测方法,它结合短时能量和过零率在时域信号中。由于它通过设置两个门限电平综合使用来得到语音信号的端点,并且原理上也不复杂,实时性和精度比较高,因此具有广泛的应用。本文首先从原理出发阐述,其次利用 MATLAB 工具进行仿真,然后对实现结果进行评价和比较,实验结果表明,检测的效果好于分别使用其中任意一种的情况。最后,文章中还对现阶段的语音端点检测的研究予以展望。关键词:端点检测;短时能量;过零率;门限A Fast Speech Signal Endpoints Detection Method Based on
2、Short-time Energy and Zero-crossing Counts Abstract:This paper presents a fast speech endpoint detection method, which combines short-time energy and zero-crossing counts in the time domain signal. It is widely used because it is combined with two threshold levels to get the endpoint of speech signa
3、l, and it is not complicated in theory and has high real-time performance and accuracy. In this paper, the principle of the first set out, followed by MATLAB tools for simulation, and then to evaluate and compare the results, the experimental results show that the detection effect is better than the
4、 use of any one of the cases. At last, the research of speech endpoint detection is also discussed in this paper.Key words : endpoint detection; short-time energy; zero-crossing; threshold0 引言近年来随着语音信号处理的发展,语音信号中的端点检测以及判断方法的研究越来越重要。语音端点检测是语音分析、合成和识别中的一个重要的环节,目的是从语音信号中找到语音的起始点和结束点,从而能够准确的提取语音信号的特征值,在
5、语音编码阶段还可以降低噪声和静音段的比特率,提高编码效率。一个准确并且算法不复杂的端点检测方法显得更加突出,这不仅可以减少数据的存储量和处理运行的时间,而且可以排除无声段噪音的干扰。目前的研究工作中,比较流行的语音信号端点检测方法也是比较多,有短时能量,自相关函数,基于能量熵 1,基于倒谱率 2的方法,通常情况下这些方法也能够达到一定的效果,但是由于其计算量大精度不高,或者是只能针对某一类群体,不具有很好的代表性。通常由于噪声环境的引入,将使有效的语音的起始点和终止点的虚检或是漏检情况 3。本文的就是结合两种检测方法:短时能量和过零率相结合,在判断清浊音和静音段可以起到优势互补的作用,并且具有
6、很好的效果。 1 语音信号的短时能量和过零率的特征1.1 短时能量语音信号的能量随时间变化比较明显,语音和噪声、语音和非语音的区别可以体现在它们的能量上,语音段的能量比噪声段能量大,一般情况下清音的能量比浊音小。但是语音信号不是一个平稳的过程,不能用平均幅度来描述其特征,也不能使用像平稳信号的处理技术对其进行分析,但可以通过一个加窗的分帧得到某一帧的信号的能量,可以将其视为短时平稳信号处理。2信号的短时能量定义如下:设语音波形的时域信号为 ,加窗分帧处理后得到的第 帧语音信号为 ,() ()则 满足下式 4:()()()nxmwxn01mN110:其 它 值 2其中的 n=0, 1T, 2T,
7、 ,并且 N 为帧长,T 为帧移长度。设第 n 帧语音信号 的短时能量用 表示,其计算公式如下 5:() 120()nnmEx3是一个度量语音信号幅度值变化的函数,它使用的是信号的幅度的平方,因此它对大信号比较敏感。语音和静音段的噪声的区分可以体现在它的能量上,语音段的能量比噪声段的能量大,如果环境噪声和系统输入的噪声比较小,信噪比比较高时,只要利用短时能量就可以把语音段和噪声段区分开。另外利用短时能量也可以很好的区分浊音,这是因为浊音发声的声带振动,携带比较高的能量。但是在判断轻音时效果就不是很好了,轻音发声时声带不震动,携带的能量比较少,这就需要借助于短时过零率来判断了。1.2 短时过零率
8、短时过零率表示一帧语音信号波形穿过横轴(零电平)的次数。过零分析是语音分析中一种很常用的方法。对于连续的信号,过零率意味着时域波形的通过横轴的情况;对于离散的信号,过零率则指样本点符号改变的次数。 因此,可以用相邻两个取样点改变符号的次数作为过零率的计算。定义语音信号 的短时过零率 为:() 10sgnsgn12NnmZxxm4其中 为符号函数,即: =1 (0)1 (0) 5浊音的能量主要集中在低频段,清音的能量多集中在较高的频率上,它的平均过零率要高于浊音,短时平均过零率可以在一定程度上反映频率高低,故短时过零率可以用来区分清音、浊音以及无声段 5。 2 基于短时能量和过零率的检测方法不论
9、是基于短时能量和过零率都有其弊端,都有其分割不好的情况。本文正是基于这样的一个实时,将两者的优点结合起来,用短时能量来检测能量谱比较大的浊音,用短时过零率来区分清音和噪声 6。理想情况下无声段的短时能量和过零率为零,浊音段的短时能量比清音段的大;清音段的过零率又比浊音段的大;但是现实生活中的环境噪声必然存在,因此,如果某一部分的语音短时能量和过零率都为零或者是很小的值,就可以认为这部分是无声的噪声段。 通过设置两个门限电平结合两种判别方法,这就是基于短时能量和过零率的检测方法。其基本的步骤如下:(1)首先确定两个短时能量门限 、 ,其中 T1 为一个较高的短时能量门限,T2 是一个较低的平均能
10、12量门限 T2,通过 T1 可以粗略提取语音段,通过 T2 可以比较精确提取语音信号段。(2)然后确定两个短时过零率门限 Z1、Z2,Z1 是一个比较高的门限过零率,必须数值比较高时才可以超过,Z2 是一个比较低的门限电平,对数值比较敏感,很容易被超越。综上两个门限可知,低门限被超越有可能是时间很短的噪声引起的,高门限被超越则基本上可以确定是由语音信号引起。整个判别的系统原理流程图如下:3开始语音信号采集短时过零率计算分帧短时能量计算结束双门限端点检测显示图形标注语音起始点图 1 双门限语音端点检测的流程图如上图所示对采集的语音信号进行了加窗分帧处理。这样做是为了将语音信号划分为许多短时的语
11、音段,然后就可以求解短时能量和过零率,帧与帧之间既可以连续,也可以重叠 7。为了准确地描述语音自身的实际变化规律,通常窗带宽选取为 ;为了使帧与帧之间能够平滑过渡,保持其连续性,通常选用交叠1020分段的方法。帧移和帧长的比值一般取 之间。00.53 Matlab 仿真实验介绍了以上原理后,我们将通过 Matlab 编程实现以上实验。本文中我们采用采样率为 16KHz,量化精度为 16bit 的一段语音信号。首先将语音信号归一化处理,把幅度限制在-1,1之间比较方便处理。0 2 4 6 8 10 12x 104-1-0.500.51信信信信信信信信信0 10 20 30 40 50 60 70
12、0102030信信信信信信E0 10 20 30 40 50 60 700501015020250信信信信信信信信信信信信信信图 2 双门限语音端点检测的示意图如上图 2 所示,分别给出了语音信号的原始波形图,短时能量图和短时过零率图。从上图可以看出,信号携带的噪声比较小的时候,短时能量比较准确。同理可知,但当背景噪声比价大时,短时过零率可以获得比较好的效果。双门限检测中,求出了归一化的能量和过零率之后,首先要设定两个粗略的能量门限值,用于大致得到语音段的浊音部分,然后用两个比较精细的短时过零率来区分语音开始和结束的清音部分。我们需要对以上两种特征进行一个统计估计来得到两个门限值,主要依据采集
13、的语音信号中最初的短时段多为无声段或者是背景噪音,这样就可以利用这前 10 帧信号计算其过零率门限值,当然这也可以反复调试设置阈值门限来获得,通常情况下,我们可以使用一种自适应的门限阈值的选择法来求解; 1min(,ax()/428app6上式中 amp1、amp2 分别表示两个能量的高低阈值门限,amp 表示的是信号的短时能量。其中 amp1、amp2的初始值可分别设置成 4、2,经过调整后的能量阈值是和短时能量的最大值相关的函数,因此可以自适应的4对任何信号进行端点检测。同样,过零率可以粗略估计频谱特征用于区分轻音和浊音、有话以及无话。可以设置一个门限 T 来减少随机噪声的干扰。如下式 7
14、 的定义修改,将过零率的含义修改为跨过正负门限,即使存在小的随机噪声,只要它不使信号越过正负门限所构成的带,就不会产生虚假的过零率 8。过零率的两个阈值门限可以设置为 10、5。通过 matlab 程序实现的检测结果如下图所示: 10sgnsgn172NnmxTxmTZ 0 2 4 6 8 10 12x 104-1-0.500.51信信信信0 10 20 30 40 50 60 700102030信信信信0 10 20 30 40 50 60 700102030 信信信信信信信信信信信图 3 双门限语音端点检测结果4 数据分析从上图 3 可以看到,结合短时能量和过零率结合的双门限语音端点检测可
15、以得到比较好的结果。通过门限阈值循环左右查找,找出语音段,语音的起始点。如图中红线所标识,由于设置了门限值,使得检测的精度比较高。从图中还可以看到,即使在静音段,它的短时能量和过零率不为零,有可能造成误判。在进行语音的短时能量之前,如果将语音信号通过一个一阶高通滤波器进行预加重,去除低频干扰,可以得到比较大的信噪比,从而提升检测的准确度和精度。同样,在检测过程中,可以加入一些高斯白噪声,以检验算法的正确性与鲁棒性。5 结论与展望本文提出的基于短时能量和过零率的双门限判别原理,并进行了 matlab 的实验与分析,该方法在噪声比较低的情况下能够很好的进行端点检测。同样对于语音信号的特征分析也可以
16、起到一定的作用。例如语音信号的浊音和清音的特征参数的提取,都可以提高语音处理的质量。然而,由于本方法自身的门限阈值的设置不可能达到很完美,对于在信噪比比较低或者是噪声比较大的静音段,由于其能量上无法进行精确的分割,同样也会对过零率的门限产生一些干扰。因此对于语音信号端点检测仍需进一步的研究,使其能够更加适合实际应用的需要,在噪声环境下的语音增强与鲁棒性语音识别等方向。因此,深入研究语音信号的特征,提出更能够反映语音本质的特征参数,一般来说,所选特征越多,越能体现语音信号的本质,端点检测效果越好,但是算法就越复杂,实时性就较差。一种更加有效、更加快速的自适应算法应用以及交叉学科新颖的算法是当前研
17、究者努力的方向,相信不久的将来会有更好的研究成果不断涌现。参考文献 1 尹岩岩, 殷业, 罗汉文,等. 基于短时能零熵的端点检测方法J. 计算机仿真, 2012, 29(11):408-411.52 韦晓东, 胡光锐. 应用倒谱特征的带噪语音端点检测方法J. 上海交通大学学报, 2000, 34(2):185-188.3 李晋. 语音信号端点检测算法研究D. 湖南师范大学, 2006.4 蔡妍. 语音信号端点检测方法的研究D. 江南大学, 2008.5 张雄伟. 现代语音处理技术及应用M. 机械工业出版社, 2003.6 Shen J L, Hung J W, Lee L S. “Robust
18、 entropy-based endpoint detection for speech recognition in noisy environments“C/ The, International Conference on Spoken Language Processing, Incorporating the, Australian International Speech Science and Technology Conference, Sydney Convention Centre, Sydney, Australia, November -, December. 1998.7 Bou-Ghazale S E, Assaleh K. A robust endpoint detection of speech for noisy environments with application to automatic speech recognitionJ. 2002, 4:IV-3808-IV-3811.8 夏敏磊. 语音端点检测技术研究D. 浙江大学, 2005.
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。