实验一语音信号端点检测

合集下载

语音端点检测方法探析

语音端点检测方法探析

【 关键词 】复 杂噪声环境 语音端点检测 方法
1端点检测系统结构框架
端 点检 测系 统结 构框 架主 要是 由 噪声估

- 一 语 音 激 活 喇 决
J L
哭 箔 果
吾音激活检测
计模块 、包 络确 定延时模块、和端点检测模块 这三个模块 构成 ,而前端处理和 门限过零率这 两个模块是辅助 ,模块 。如图 l 所示为端点检
均指用 来表示 ,均方差用 。来表 示 ),其 归 化 的均 方差可 以用 p来表示 , 那么 f ( )
估计就可 以确定阈值 。该模块的计算步骤是 : 要充 分利 用滤波 器 组把每 一帧 的信 号进 行分 频,最终分成很多个子带 ,这样就可 以在每一
个子带上分别计算信号的能量、估计噪声能量 和子带信躁 比的计算 ,然后再分别将噪声 的估 计值和 自带信噪 比求和,这样就可 以根据噪声

【 l , ( √
) ] e x p [ 一 ( E / | l ・ 1 ) 2 / 2 ,由 此公 以后的每个分析 窗内都要对 模型进行校正 。将 按照一定的时长对输入信号进行分帧 ,并且还
式可 知,能量分布随着 的变小会分布 的更加 集 中,也就是说能量序列的波动就会变得 更加 平缓 。 E p ( i ) 是E x( i )中仅有 的一个 稳定因素,

图2 :端点检测模 块框图
s 。 = ( 1 善 r i ) - £ I 】 2 } , 在 初 始 化
而E 订的分 布也 在进 行着十 分缓慢 地变 化,
因此 ,为 了更好 地跟踪 E n ( i ) 的分布 状况 ,在 第i 个分 析窗作 为例子进 行分析 ,将 前 r 帧的 归一 化均 方差 和信 号 的能量 均值 £ i 计算 出 来 ,下面我们就将 } l 和 在两种不同的情况在

一种基于Matlab的语音信号端点检测方法

一种基于Matlab的语音信号端点检测方法
S ONG in h a ,B J a - u  ̄ AO - u I Yu h a ,L ANG e ,L U n Yu I Ku
( .C l g f l t ncE gn e ig He o gin i ri , r i 5 0 0。 h n ;2 e at n f c a i l n lcr a E gn e 1 o l eo e r i n ie r , i n j gUn v s y Ha bn 1 0 8 C i a .D p rme t h nc dE e ti l n ie r e E co n l a e t o Me aa c
0 引

1 检 测原 理
语 音端点 检测 ( n on tcin 是从 包 含 E dp it et ) De o
语音信 号一般 可分为 无声段 、 清音段 和浊音段 。 无 声段是 背景噪声 段 , 平均 能量最 低 ; 浊音 段为声带 振 动发 出对应 的语 音信号 段 , 平均 能量最 高 ; 清音段 为 空气在 口腔 中的摩 擦 、 冲击 或 爆 破 而发 出的语音 信 号段 , 均能 量居 于 两 者之 间 。采用 基 于 幅度 的 平
i ,Qiia ct nl olg , qh r1 10 , i nj n , hn ) n g qhrVoai a C l eQiia 6 0 5 Hel gi g C ia o e o a
Ab t a t Th s p p rf s l t o u e o ea e o c p so p e h e d p i t e e t n n h n ma e s r c : i a e i t i r d c ss mer l t d c n e t fs e c n — o n t c i ,a d t e k s r y n d o e d— o n e e t n b h o b n to fs o tt ea e a e ma n t d n h r i ea e a e z r — r s n — i td t c i y t e c m i a i n o h r i v r g g i e a d s o tt v r g e o c o s p o m u m — — i g r t .Fo u i g o u l h e h l l o i m e i n a d i lm e t t n o h r c s ,t e M a lb p o n ae c sn n d a— r s o d a g r h d sg n mp e n a i f ep o e s h t r — t t o t a

基于短时能量的语音信号端点检测

基于短时能量的语音信号端点检测

基于短时能量的语音信号端点检测作者:石海燕来源:《电脑知识与技术·学术交流》2008年第18期摘要:语音信号端点检测是语音信号的预处理,正确的语音信号端点检测结果直接影响语音识别等后续工作的运算量和准确率。

本文介绍了时域方法中基于短时能量的语音信号端点检测方法,并用三种不同的短时能量计算方式和五种短时能量阈值进行了端点检测实验。

关键词:短时能量;端点检测;阈值中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)18-20ppp-0cSpeech Signal End Point Detection Based on Short-term EnergySHI Hai-yan(Computer Center, Shaoxing University, Shaoxing 312000, China)Abstract: Speech signal end point detection is the speech signal pre-processing. The correct speech signal end point detection will straightforward affect speech recognitioncomputational and correct rate. This paper introduce the end point detection based on short-term energy of time-domain methods. In our experiments, we use three ways to calculate the short-term energy and five ways to determine the short-term energy threshold. The experiments’ results show the differents short-term energy calculate way and short-term energy threshold produce the differents end point detection.Key words: short-term energy; end point detection; threshold1 引言在语音处理中,端点检测是一个关键问题,端点检测(End Point Detection,简称EPD)的目的是要决定语音信号开始和结束的位置,以去除信号开始和结束时的空白噪声。

一种语音信号端点检测方法的研究

一种语音信号端点检测方法的研究

一种语音信号端点检测方法的研究吴亮春潘世永(西华大学数学与计算机学院,四川成都 610039)摘要在语音识别系统中,端点检测的误差会降低系统的识别率,进行有效准确的端点检测是语音识别的重要步骤。

因此端点检测逐渐成为语音信号处理中的一个热点。

本文提出了一种基于模型的Teager 能量端点检测方法。

实验证明,该算法比传统的能量过零率端点检测算法具有更高的识别率,能够更准确的检测出语音信号的端点。

关键词端点检测;模型;过零率1 引言语音是人类相互交流和通信最方便快捷的手段。

如何高效地实现语音传输、存储或通过语音实现人机交互,是语音信号处理领域中的重要研究课题。

而语音端点检测是语音分析、语音合成、语音编码、说话人识别中的一个重要环节,直接影响到后续工作的准确性。

在实际应用中,首先通常要求对系统的输入信号进行判断,准确地找出语音信号的起始点和终止点,这样才能采集真正的语音数据,减少数据量和运算量,并减少处理时间。

在语音识别中,通常是先根据一定的端点检测算法,对语音信号中的有声片段和无声片段进行分割,而后再针对有声片段,依据语音的某些特征进行识别。

研究表明,即使在安静的环境中,语音识别系统一半以上的识别错误来自端点检测器。

因此,作为语音识别系统的第一步,端点检测的关键不容忽视,尤其是噪声环境下语音的端点检测,它的准确性很大程度上直接影响着后续的工作能否有效进行。

可以说,语音信号的端点检测至今仍是有待进一步深入研究的课题。

2 语音信号的时域特征2.1 短时能量分析语音信号的能量随着时间变化比较明显,一般清音部分的能量比浊音的能量小的多,所以在区分清音和浊音,有声段和无声段的应用中效果比较明显。

对于信号{x(n)},短时能量的定义如下:式中,, E n表示在信号的第n个点开始加窗函数时的短时能量。

通过上式可以看出,短时能量式语音信号的平方经过一个线性低通滤波器的输出,该线性低通滤波器的单位冲激响应为h(n)。

由于短时能量是对信号进行平方运算,因而增加了高低信号之间的差距,在一些应用场合并不合适。

语音信号处理_实验一_报告2

语音信号处理_实验一_报告2

实验一语音信号的频域特性1. 观察语音信号的时域波形特点,总结其规律。

答:1)清音段:能量低,过零率高,波形特点有点像随机的噪声。

这部分信号常与语音的辅音段对应。

2)浊音段:能量高,过零率地,波形具有周期特点。

所谓的短时平稳性质就是处于这个语音浊音段中。

3)过渡段:一般是指从辅音段向元音段信号变化之间的部分。

信号变化快,是语音信号处理中最复杂、困难的部分。

2.总结清音b/p/m/f/d/t/n/l/g/k/h/j/q/x//z/c/s/zh/ch/sh/r/共21个的短时幅值、短时过零率和自相关函数的规律,估算这21个清音的平均短时幅值和平均短时过零率;答:加矩形窗的21个清音的平均短时幅值和平均短时过零率为下表:清音音节平均短时幅值平均短时过零率b 2.126 1.000p 0.706 9.100m 2.427 5.000f 0.685 1.500d 0.817 9.667t 1.168 1.000n 1.150 4.176l 2.084 6.200g 0.150 24.333k 0.959 7.333h 0.629 21.857j 0.129 13.000q 0.184 36.909x 0.168 21.400z 0.173 6.200c 0.785 7.294s 0.158 17.000zh 0.203 31.500ch 0.237 27.535sh 0.182 28.692r 1.814 5.5333. 总结浊音a/o/e/i/u/v/ao/ai/ei/ou/an/en/in/ang/eng/ong/ing/共17个的短时幅值、短时过零率和自相关函数的规律,估算这17个浊音的平均短时幅值和平均短时过零率,从自相关函数上估算这17个浊音的基音周期;答:浊音能量高,短时幅值也比较高,短时过零率比较低,由于浊音有一定的准周期性,所以自相关函数有比较明显的峰值和周期性。

浊音音节平均短时幅值平均短时过零率基音周期a 3.662 0.643 57o 2.948 0.184 71e 2.531 0.148 59i 1.693 0.061 60u 1.300 0.032 61v 1.081 0.024 66ao 2.000 0.123 71ai 2.307 0.121 57ei 1.828 0.074 67ou 0.294 0.000 67an 1.500 0.061 58en 1.827 0.073 54in 2.257 0.118 56ang 0.591 0.009 65eng 1.473 0.053 56ong 1.712 0.059 64ing 0.494 0.014 714. /r/、/m/、/n/ 从这几个音素的自相关函数图形判断为“清音”还是“浊音”,若为浊音估算其基音周期;答:(1)/r/: 自相关函数具有周期性,基音周期为67(样本点数)(2)/m/: 自相关函数具有周期性,基音周期为67(样本点数)(3)/n/ : 自相关函数具有周期性,基音周期为59(样本点数)可以看出/r/、/m/、/n/这几个因素的自相关函数图形有准周期性,并且有比较明显的峰值,所以为浊音。

哈尔滨工程大学语音信号处理实验报告讲述

哈尔滨工程大学语音信号处理实验报告讲述

实验报告实验课程名称:语音信号处理实验姓名:班级: 20120811 学号:Array指导教师张磊实验教室 21B#293实验时间 2015年4月12日实验成绩实验一 语音信号的端点检测一、实验目的1、掌握短时能量的求解方法2、掌握短时平均过零率的求解方法3、掌握利用短时平均过零率和短时能量等特征,对输入的语音信号进行端点检测。

二、实验设备 HP 计算机、Matlab 软件 三、实验原理 1、短时能量语音信号的短时能量分析给出了反应这些幅度变化的一个合适的描述方法。

对于信号)}({n x ,短时能量的定义如下:∑∑∞-∞=∞-∞=*=-=-=m m n n h n x m n h m xm n w m x E )()()()()]()([2222、短时平均过零率短时平均过零率是指每帧内信号通过零值的次数。

对于连续语音信号,可以考察其时域波形通过时间轴的情况。

对于离散信号,实质上就是信号采样点符号变化的次数。

过零率在一定程度上可以反映出频率的信息。

短时平均过零率的公式为:∑∑-+=∞-∞=--=---=1)]1(sgn[)](sgn[21 )()]1(sgn[)](sgn[21N n nm w w m n m x m x m n w m x m x Z其中,sgn[.]是符号函数,即⎩⎨⎧<-≥=0)(10)(1)](sgn[n x n x n x3、端点检测原理能够实现这些判决的依据在于,不同性质语音的各种短时参数具有不同的概率密度函数,以及相邻的若干帧语音应具有一致的语音特性,它们不会在S 、U 、V 之间随机地跳来跳去。

要正确判断每个输入语音的起点和终点,利用短时平均幅度参数E 和短时平均过零率Z 可以做到这一点。

首先,根据浊音情况下的短时能量参数的概率密度函数)|(V E P 确定一个阈值参数H E ,H E 值一般定的较高。

当一帧输入信号的短时平均幅度参数超过H E 时,就可以判定该帧语音信号不是无声,而有相当大的可能是浊音。

端点检测

端点检测

,即得
至此,求得了x1(n),即规则部分时间序列。 (4)利用公式
求得复杂度C0 。
不同语音端点检测方法的实验结果 对比

实验条件
(1)英文数据库
(2)中文数据库
中文数据库的采集由学生,都说普通话,个别人略带地方色彩。因 语音信号主要集中在300一3400Hz,所以采用44100Hz的采样率,采样位 数16位,采样通道选用立体声,每人读5次,每次通读十个词语一遍。共 有250个有效测试session共有830MB的数据量。说话内容选择的词语考虑 到了汉语中各个元音、辅音、摩擦音、爆破音和鼻音等各个不同的汉语 因素。
式中,sgn为符号函数,即:
过零率有两类重要的应用:第一,用于粗略地描述信号的频谱特 性;第二,用于判别清音和浊音、有话和无话。从上面提到的定义出 发计算过零率容易受低频干扰,特别是50Hz交流干扰的影响。解决这 个问题的办法,一个是做高通滤波器或带通滤波,减小随机噪声的影 响;另一个有效方法是对上述定义做一点修改,设一个门限T,将过 零率的含义修改为跨过正负门限。 于是,有定义:
根据Lmapel和Ziv的研究,对几乎所有的x属于[0,1]区间的c(n) 都会趋向一个定值:
其中b(n)是随机序列的渐进行为,用它来使c(n)归一化,称为 “相对复杂度”。 定义相对复杂度:
通常就是用这个函数来表达时间序列的复杂性变化。从这种算法 可以看出,完全随机的序列C(n)值趋向于1,而有规律的周期运动的 C(n)值则趋向于0。
式中,Cn与C’n分别代表谱密度函数S(w)与S’(w)的倒谱系数。
方法: 倒谱距离的测量法步骤类似于基于能量的端点检测,只是将倒谱 距离代替短时能量来作为特征参数。首先,假定前几帧信号是背景噪 声,计算这些帧的倒谱系数,利用前几帧倒谱系数的平均值可估计背 景噪声的倒谱系数,噪声倒谱系数的近似值可按下述规则进行更新, 即当前帧被认为是非语音帧:

语音信号处理实验报告

语音信号处理实验报告

语⾳信号处理实验报告语⾳信号处理实验报告⼀、原理 1.端点检测语⾳信号⼀般可分为⽆声段、清⾳段和浊⾳段。

⽆声段是背景噪声段, 平均能量最低,波形变化缓慢,过零率最低; 浊⾳段为声带振动发出对应的语⾳信号段, 平均能量最⾼; 清⾳段是空⽓在⼝腔中的摩擦、冲击或爆破⽽发出的语⾳信号段, 平均能量居于前两者之间,波形上幅度变化剧烈, 过零率最⼤。

端点检测就是⾸先判断有声还是⽆声, 如果有声,则还要判断是清⾳还是浊⾳。

为正确地实现端点检测, ⼀般综合利⽤短时能量和过零率两个特征,采⽤/双门限检测法。

①语⾳信号x(n)进⾏分帧处理,每⼀帧记为Si (n ),n=1,2,…,N ,n 为离散语⾳信号时间序列,N 为帧长,i 表⽰帧数。

②短时能量:③过零率:2.基⾳检测能量有限的语⾳信号}{()s n 的短时⾃相关函数定义为: 10()[()()][()()]N n m R s n m w m s n m w m ττττ--==++++∑ 其中,τ为移位距离,()w m 是偶对称的窗函数。

短时⾃相关函数有以下重要性质:①如果}{()s n 是周期信号,周期是P ,则()R τ也是周期信号,且周期相同,即()()R R P ττ=+。

②当τ=0时,⾃相关函数具有最⼤值;当0,,2,3P P P τ=+++…处周期信号的⾃相关函数达到极⼤值。

③⾃相关函数是偶函数,即()()R R ττ=-。

短时⾃相关函数法基⾳检测的主要原理是利⽤短时⾃相关函数的第⼆条性质,通过⽐较原始信号和它移位后的信号之间的类似性来确定基⾳周期,如果移位距离等于基⾳周期,那么,两个信号具有最⼤类似性。

在实际采⽤短时⾃相关函数法进⾏基⾳检测时,使⽤⼀个窗函数,窗不动,语⾳信号移动,这是经典的短时⾃相关函数法。

3.⾃相关法解线性预测⽅程组⾃相关⽅法a.Levinson-durbin 递推算法()21N i n Ei s n ==∑()()1sgn sgn 1N i i n Zi s n s n ==--∑pj a a k k R E E k Ep j i p i i n p i i i j ...,3,2,1,1||,)1()0(,)1()(12)()1(2)(==≤-=-=∧=-∏ ki 称为反射系数,也称PARCOR 系数b.E(p)是预测残差能量在起始端,为了预测x(0),需要⽤到x(-1),x(-2),……,x(-p).但是这些值均为0,这样预测会带来误差。

基于MATLAB的语音信号的端点检测

基于MATLAB的语音信号的端点检测

基于MATLAB的语音信号的端点检测摘要:语音端点检测是指从一段语音信号中准确的找出语音信号的起始点和结束点,它的目的是为了使有效的语音信号和无用的噪声信号得以分离,因此在语音识别、语音增强、语音编码、回声抵消等系统中得到广泛应用。

目前端点检测方法大体上可以分成两类,一类是基于阈值的方法,另一类方法是基于模式识别的方法,本文主要对基于阀值的方法进行研究。

端点检测在语音识别中占有十分重要的地位,直接影响着系统的性能。

本文首先对语音信号进行简单的时域和频域分析及预处理,其次利用基于短时能量和短时过零率的双门限算法进行语音端点检测,并对这几种用这种算法进行端点检测,进行实验分析,分析此方法的优缺点。

关键词:语音信号处理;语音端点检测;双门限;短时能量;短时过零率Voice signal endpoint detection based on MATLABAbstract:Endpoint detection is a voice signal from the accurate speech signal to the identify start and the end points, the purpose is to enable to separated the effective voice signals and un-useful noise. So, in the speech recognition system, speech enhancement, speech coding, echo cancellation and other systems are widely used.In Current the endpoint detection can be roughly divided into two categories, one is based on the threshold method, another method is based on the method of pattern recognition , the main in this paper is based on the method of threshold method. The Endpoint detection is take a very important position in the speech recognition, it directly affects the performance of the system. In this article first domain analysis in simple speech signal time, than dual threshold algorithm, cepstrum algorithm, spectral entropy algorithm for endpoint detection, and these types of endpoint detection algorithms, and experimental analysis points and analysis the advantages and disadvantages of this method.Key word:Signal processing; voice activity detection; double threshold; Short-time energy ;The rate of short-time zero-passing1.绪论语音,即语言的声音,是语言符号系统的载体。

实验一语音信号端点检测

实验一语音信号端点检测

实验一语音信号端点检测一、 实验目的1.学会MATLAB 的使用,掌握MATLAB 的程序设计方法;2.掌握语音处理的基本概念、基本理论和基本方法;3.掌握基于MATLAB 编程实现带噪语音信号端点检测;4.学会用MATLAB 对信号进行分析和处理。

5. 学会利用短时过零率和短时能量,对语音信号的端点进行检测。

二、 实验仪器设备及软件MATLAB三、 实验原理端点检测是语音信号处理过程中非常重要的一步,它的准确性直接影响到语音信号处理的速度和结果。

本次实验利用短时过零率和短时能量相结合的语音端点检测算法利用短时过零率来检测清音,用短时能量来检测浊音,两者相配合便实现了信号信噪比较大情况下的端点检测。

算法对于输入信号的检测过程可分为短时能量检测和短时过零率检测两个部分。

算法以短时能量检测为主,短时过零率检测为辅。

根据语音的统计特性,可以把语音段分为清音、浊音以及静音(包括背景噪声)三种。

在本算法中,短时能量检测可以较好地区分出浊音和静音。

对于清音,由于其能量较小,在短时能量检测中会因为低于能量门限而被误判为静音;短时过零率则可以从语音中区分出静音和清音。

将两种检测结合起来,就可以检测出语音段(清音和浊音)及静音段1、短时能量计算定义n 时刻某语言信号的短时平均能量En 为:∑∑--=+∞∞--=-=n N n m m n w m x m n w m x En )1(22)]()([)]()([式中N 为窗长,可见短时平均能量为一帧样点值的平方和。

特殊地,当窗函数为矩形窗时,有∑--==n N n m m x En )1(2)(2、短时过零率过零就是指信号通过零值。

过零率就是每秒内信号值通过零值的次数。

对于离散时间序列,过零则是指序列取样值改变符号,过零率则是每个样本的改变符号的次数。

对于语音信号,则是指在一帧语音中语音信号波形穿过横轴(零电平)的次数。

可以用相邻两个取样改变符号的次数来计算。

如果窗的起点是n=0,短时过零率Z 为波形穿过横轴(零电平)的次数|))1(())((|2110∑-=--=N n w w n S Sgn n S Sgn Z {00,1,1)sgn(≥<-=x x x短时过零可以看作信号频率的简单度量浊音的短时平均幅度最大,无声的短时平均幅度最小,清音的短时过零率最大,无声居中,浊音的短时过零率最小。

语音端点检测

语音端点检测
尽管算法和方法多种多样,都是为了更简便、更易于实现、运算量小、鲁棒性好等特点,并且对于不同的信噪比具有较好的效果。
1.3 相关工作
随着生活品质的不断提高,对声控产品,在不同的声控产品语音识别系统中,有效准确地确定语音段端点不仅能使处理时间减到最小,而且能排除无声段的噪声干扰,从而使识别系统具有良好的性能。
随着语音识 别应用的发展,越来越多系统将打断功能作为一种方便有效的应用模式,而打断功能又直接依赖端点检测。端点检测对打断功能的影响发生在判断语音/非语音的过 程出现错误时。表现在过于敏感的端点检测产生的语音信号的误警将产生错误的打断。例如,提示音被很强的背景噪音或其它人的讲话打断,是因为端点检测错误的 将这些信号作为有效语音信号造成的。反之,如果端点检测漏过了事实上的语音部分,而没有检测到语音。系统会表现出没有反应,在用户讲话时还在播放提示音。
通过大量的文献调研与实际研究发现,现有的各种语音信号端点检测技术都存在各自的不足。对于语音信号在低信噪比时的端点检测的研究有待进一步深入研究。当前,语音端点检测技术还远滞于通信技术发展的脚步,在此领域还有很多问题需要研究。
对于强干扰非平稳噪声和快速变化的噪声环境,如何找到更好的端点检测方法是进一步研究的主要方向。提取人耳听觉特性可以更加有效地区分语音和噪声,从而更加准确的检测语音端点。预先未知噪声统计信息条件下的语音端点检测算法已经出现,但仍出去萌芽阶段。虽然预先未知噪声统计信息条件下的端点检测是未来语音端点检测技术的发展方向,但在理论方法和技术参数等方面还有待进一步突破[17]。
目前,语音技术正进入一个相对成熟点,很多厂商和研究机构有了语音技术在输入和控制上令人鼓舞的演示,输入的硬件和软件平台环境也日益向理想化迈进,但语音技术比起人类的听觉能力来还相差甚远,其应用也才刚刚开始,进一步规范和建设语音输入的硬件通道、软件基本引擎和平台,使语音技术能集成到需要语音功能的大量软件中去。而且语音产业需要更加开放的环境,使有兴趣和实力的企业都能加入到这方面的研究和开发中,逐步改变。随着声控电子产品的不断研发,语音识别技术在开发和研究上还有大量的工作需要做。

基于Matlab编写的语音端点检测

基于Matlab编写的语音端点检测

基于Matlab编写的语音端点检测专业:班级:姓名:指导教师:2011 年6月18 日一、实验目的1.学会MATLAB的使用,掌握MATLAB的程序设计方法;3.掌握语音处理的基本概念、基本理论和基本方法;4.掌握基于MATLAB编程实现带噪语音信号端点检测;5.学会用MATLAB对信号进行分析和处理。

二、实验内容简介:可利用时域分析(短时能量、短时过零率、短时自相关)方法的某一个特征或某几个特征的结合,判定某一语音信号的端点,尤其在有噪声干扰时,如何准确检测语音信号的端点,这在语音处理中是富有挑战性的一个课题。

要求:(1)录制语音,读入文件,绘制波形(2)分帧,绘制能量曲线和短时过零率曲线(3)根据上述端点检测原理,实现端点检测(4)界面三.课程设计原理端点检测是语音信号处理过程中非常重要的一步,它的准确性直接影响到语音信号处理的速度和结果,因此端点检测方法的研究一直是语音信号处理中的热点。

本设计使用传统的短时能量和过零率相结合的语音端点检测算法利用短时过零率来检测清音.用短时能量来检测浊音,两者相配合便实现了信号信噪比较大情况下的端点检测。

算法对于输入信号的检测过程可分为短时能量检测和短时过零率检测两个部分。

算法以短时能量检测为主,短时过零率检测为辅。

根据语音的统计特性,可以把语音段分为清音、浊音以及静音(包括背景噪声)三种。

在本算法中,短时能量检测可以较好地区分出浊音和静音。

对于清音,由于其能量较小,在短时能量检测中会因为低于能量门限而被误判为静音;短时过零率则可以从语音中区分出静音和清音。

将两种检测结合起来,就可以检测出语音段(清音和浊音)及静音段1、短时能量计算定义n 时刻某语音信号的短时平均能量n E 为:∑∑--=+∞-∞=-=-=n N n m m n m n w m x m n w m x E )1(22)]()([)]()([式中N 为窗长,可见短时平均能量为为一帧样点值的甲醛平方和。

《语音信号处理》实验1-端点检测

《语音信号处理》实验1-端点检测

华南理工大学《语音信号处理》实验报告实验名称:端点检测姓名:学号:班级:10级电信5班日期:2013年5 月9日1.实验目的1.语音信号端点检测技术其目的就是从包含语音的一段信号中准确地确定语音的起始点和终止点,区分语音和非语音信号,它是语音处理技术中的一个重要方面。

本实验的目的就是要掌握基于MATLAB编程实现带噪语音信号端点检测,利用MATLAB对信号进行分析和处理,学会利用短时过零率和短时能量,对语音信号的端点进行检测。

2. 实验原理1、短时能量语音和噪声的区别可以体现在它们的能量上,语音段的能量比噪声段能量大,语音段的能量是噪声段能量叠加语音声波能量的和。

在信噪比很高时,那么只要计算输入信号的短时能量或短时平均幅度就能够把语音段和噪声背景区分开。

这是仅基于短时能量的端点检测方法。

信号{x(n)}的短时能量定义为:语音信号的短时平均幅度定义为:其中w(n)为窗函数。

2、短时平均过零率短时过零表示一帧语音信号波形穿过横轴(零电平)的次数。

过零分析是语音时域分析中最简单的一种。

对于连续语音信号,过零意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值的改变符号称为过零。

过零率就是样本改变符号次数。

信号{x(n)}的短时平均过零率定义为:式中,sgn为符号函数,即:过零率有两类重要的应用:第一,用于粗略地描述信号的频谱特性;第二,用于判别清音和浊音、有话和无话。

从上面提到的定义出发计算过零率容易受低频干扰,特别是50Hz交流干扰的影响。

解决这个问题的办法,一个是做高通滤波器或带通滤波,减小随机噪声的影响;另一个有效方法是对上述定义做一点修改,设一个门限T,将过零率的含义修改为跨过正负门限。

于是,有定义:3、检测方法利用过零率检测清音,用短时能量检测浊音,两者配合。

首先为短时能量和过零率分别确定两个门限,一个是较低的门限数值较小,对信号的变化比较敏感,很容易超过;另一个是比较高的门限,数值较大。

一种语音端点检测方法的研究

一种语音端点检测方法的研究
s e h sgn lp o e sng.A ew l ort a e b— a ne gy w a v l e o i pr pe c i a r c s i n a g ihm b s d on su b nd e r sde e op d t m ovet et c in e ul he d e to r s t i h ow i na —o— i er to.The ago ihm a a re t b a c l tn hes n te l s g lt no s a i l rt w s c r i d ou y c l u a i g t ub- a n gy a b nd e er nd upd tng t a i he noie e r y. e t h s ne g T s s s ow ha h e hod p se s s go e ec in a biiy i t e c s f t on nton le t tt e m t os s e od d t to c pa lt n h a e o he c ve i a nd— poi t c i ntde e ton,a od de e ton a b lt n l nd go t c i c pa iiy i ow i sgna —o— ie r to lt no s a i . Ke r y wo ds: p e h i al nd i tde e to ;s - nd e r y s e c sgn ;e po n t c in ub ba ne g
语音信号 的端点检测是ຫໍສະໝຸດ 行其它语音信号处理 重要 且关 键 的 第一 步[ , 1 准确 的端点 检 测有 利 于准 确 ] 地 提 取语 音 特 征 , 高 整个 语 音 识别 系统 的识 别 率 。 提 对 于输 入 的一 段语 音信 号 , 目前 采用 的端 点 检测方 法

端点检测

端点检测

语音信号处理实验一:端点检测姓名:XXX 学号:XXXX 班级:XX一、实验目的:理解语音信号时域特征和倒谱特征求解方法及其应用。

二、实验原理与步骤:任务一:语音端点检测。

语音端点检测就是指从包含语音的一段信号中确定出语音的起始点和结束点。

正确的端点检测对于语音识别和语音编码系统都有重要的意义。

采用双门限比较法的两级判决法,具体如下第一级判决:1. 先根据语音短时能量的轮廓选取一个较高的门限T1,进行一次粗判:语音起止点位于该门限与短时能量包络交点所对应的时间间隔之外(即AB段之外)。

2. 根据背景噪声的平均能量(用平均幅度做做看)确定一个较低的门限T2,并从A点往左、从B点往右搜索,分别找到短时能量包络与门限T2相交的两个点C和D,于是CD段就是用双门限方法根据短时能量所判定的语音段。

第二级判决:以短时平均过零率为标准,从C点往左和从D点往右搜索,找到短时平均过零率低于某个门限T3的两点E和F,这便是语音段的起止点。

门限T3是由背景噪声的平均过零率所确定的。

注意:门限T2,T3都是由背景噪声特性确定的,因此,在进行起止点判决前,T1,T2,T3,三个门限值的确定还应当通过多次实验。

任务二:利用倒谱方法求出自己的基音周期。

三、实验仪器:Cooledit、Matlab软件四、实验代码:取端点流程图一:clc,clear[x,fs,nbits]=wavread('fighting.wav'); %x为0~N-1即1~Nx = x / max(abs(x)); %幅度归一化到[-1,1]%参数设置FrameLen = 240; %帧长,每帧的采样点inc = 80; %帧移对应的点数T1 = 10; %短时能量阈值,语音段T2 = 5; %短时能量阈值,过渡段T3 = 1; %过零率阈值,起止点minsilence = 6; %无声的长度来判断语音是否结束silence = 0; %用于无声的长度计数minlen = 15; %判断是语音的最小长度state = 0; %记录语音段状态0 = 静音,1 = 语音段,2 = 结束段count = 0; %语音序列的长度%计算短时能量shot_engery = sum((abs(enframe(x, FrameLen,inc))).^2, 2);%计算过零率tmp1 = enframe(x(1:end-1), FrameLen,inc);%tmp1为二维数组=帧数*每帧的采样点FrameLentmp2 = enframe(x(2:end) , FrameLen,inc);%signs = (tmp1.*tmp2)<0;%signs为一维数组,符合的置1,否则置0zcr = sum(signs,2);%开始端点检测,找出A,B点for n=1:length(zcr)if state == 0 % 0 = 静音,1 = 可能开始if shot_engery(n) > T1 % 确信进入语音段x1 = max(n-count-1,1); % 记录语音段的起始点state = 2; silence = 0;count = count + 1;elseif shot_engery(n) > T2|| zcr(n) > T3 %只要满足一个条件,可能处于过渡段status = 1;count = count + 1;x2 = max(n-count-1,1);else % 静音状态state = 0; count = 0;endendif state = =2 % 1 = 语音段if shot_engery(n) > T2 % 保持在语音段count = count + 1;elseif zcr(n) > T3 %保持在语音段x3 = max(n-count-1,1);else % 语音将结束silence = silence+1;if silence < minsilence %静音还不够长,尚未结束count = count + 1;elseif count < minlen % 语音段长度太短,认为是噪声 state = 0;silence = 0;count = 0;else % 语音结束state = 3;endendendif state = =3 % 2 = 结束段break;endendx1,x2,x3 %A、C、E坐标x11 = x1 + count -1 %B坐标x22 = x2 + count -1 %D坐标x33 = x3 + count -1 %F坐标%画图subplot(3,1,1)plot(x)axis([1 length(x) -1 1])%标定横纵坐标title('原始语音信号','fontsize',17);xlabel('样点数'); ylabel('Speech');line([x3*inc x3*inc], [-1 1], 'Color', 'red'); %画竖线line([x33*inc x33*inc], [-1 1], 'Color', 'red');subplot(3,1,2)plot(shot_engery);axis([1 length(shot_engery) 0 max(shot_engery)])title('短时能量','fontsize',17);xlabel('帧数'); ylabel('Energy');line([x1 x1], [min(shot_engery),T1], 'Color', 'red'); %画竖线line([x11 x11], [min(shot_engery),T1], 'Color', 'red'); % line([x2 x2], [min(shot_engery),T2], 'Color', 'red'); % line([x22 x22], [min(shot_engery),T2], 'Color', 'red'); % line([1 length(zcr)], [T1,T1], 'Color', 'red', 'linestyle', ':'); %画横线line([1 length(zcr)], [T2,T2], 'Color', 'red', 'linestyle', ':'); %text(x1,-5,'A'); %标写A、B、C、Dtext(x11-5,-5,'B');text(x2-10,-5,'C');text(x22-5,-5,'D');subplot(3,1,3)plot(zcr);axis([1 length(zcr) 0 max(zcr)])title('过零率','fontsize',17);xlabel('帧数'); ylabel('ZCR');line([x3 x3], [min(zcr),max(zcr)], 'Color', 'red'); %画竖线line([x33 x33], [min(zcr),max(zcr)], 'Color', 'red'); %line([1 length(zcr)], [T3,T3], 'Color', 'red', 'linestyle', ':'); %画横线text(x3-10,-3,'E起点'); %标写E、Ftext(x33-40,-3,'F终点');运行结果与分析:x1 = 650,x11 = 734,x2 = 646,x22 = 752,x3 = 643,x33 = 763得出的值x3<x2 <x1 <x11< x22< x33 ,基本符合要求放大放大放大1、主要是学习了一些新的函数。

含噪语音信号端点检测方法的研究

含噪语音信号端点检测方法的研究
[4] 蔡汉添,袁波涛,一种基于听觉掩蔽模型的语音增强算法,通信学报,vol23, edition 8, 2002.
5
各种端点检测方法的测试结果
我们对 yeta 系数、分形维数、频带方差、倒谱距离三种端点检测方法做了效果测试。 测试语音使用 8k 采样率 8bit 保存,语音内容为“8k8 比特” 。噪声使用白噪声。语音首先 经过分帧,每帧 256 点。利用各参数检测的帧正确率在各信噪比情况下如下表所示:
表 1: 各信噪比情况下检测的帧正确率
C (k ) C (k ) (1 )C (k 1)
(5)
规则更新。式中:k 为信号帧帧号; C ( k 1) 为上一信号帧倒谱向量; 为一个时间调整因 子,并且这一帧被认为是非语音帧。 (5) 后处理得到语音的起始点和终止点。后处理可以通过中值滤波实现。
图 1:
倒谱距离轨迹与短时能量轮廓比较图
1
Research on Methods for endpoint detection of Noisy voice
Yin Qiaoping1,Wu Haining 2, Zhao Li2
( Taizhou high vocational shool of mechnical and electrical technology,Jiangsu Taizhou225300;
-10dB yeta 系数 频带方差 倒谱距离 72% 74% 74%
-5dB 76% 79% 81%
0dB 78% 80% 84%
5dB 78% 82% 85%
10dB 82% 85% 85%
6 结论
经过如上测试,我们发现倒谱距离的效果相对较好,但由于它要涉及一次 fft 变换,所 以计算量较大, 而 yeta 系数最简单, 效果也还可以, 在要求计算量小的条件下, 可采用 yeta 系数。我们后来在语音增强算法中使用的端点检测方法主要是倒谱距离和 yeta 系数两种。 这些端点检测方法在应用时,还存在一个问题:要取得最佳的检测率,各参数在不同信噪比 的条件下所对应的门限阈值不同。 如果已知当前帧的信噪比, 就可以用一条拟合曲线来确定 所应使用的最佳门限。然而在实际应用中,要实时正确估计信噪比又存在一定的困难。 参考文献: [1] Y. Ephraim and H.L. Van Trees, "A signal subspace approach for speech enhancement," IEEE Trans, Speech Audio Processing, vol.3, pp.251-256,July 1995. [2] J. D. Johnston, Transform coding of audio signals using perceptual noise criteria, "IEEE J. Selected Areas in Comm., vol. 6, pp. 314-323, Feb. 1988. [3] A. Rezayee and S.Gazor," An adaptive KLT approach for speech enhancement," IEEE Trans Speech Audio Processing, vol. 9, pp. 87-95, Feb.2001
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一语音信号端点检测
一、 实验目的
1.学会MATLAB 的使用,掌握MATLAB 的程序设计方法;
2.掌握语音处理的基本概念、基本理论和基本方法;
3.掌握基于MATLAB 编程实现带噪语音信号端点检测;
4.学会用MATLAB 对信号进行分析和处理。

5. 学会利用短时过零率和短时能量,对语音信号的端点进行检测。

二、 实验仪器设备及软件
MATLAB
三、 实验原理
端点检测是语音信号处理过程中非常重要的一步,它的准确性直接影响到语音信号处理的速度和结果。

本次实验利用短时过零率和短时能量相结合的语音端点检测算法利用短时过零率来检测清音,用短时能量来检测浊音,两者相配合便实现了信号信噪比较大情况下的端点检测。

算法对于输入信号的检测过程可分为短时能量检测和短时过零率检测两个部分。

算法以短时能量检测为主,短时过零率检测为辅。

根据语音的统计特性,可以把语音段分为清音、浊音以及静音(包括背景噪声)三种。

在本算法中,短时能量检测可以较好地区分出浊音和静音。

对于清音,由于其能量较小,在短时能量检测中会因为低于能量门限而被误判为静音;短时过零率则可以从语音中区分出静音和清音。

将两种检测结合起来,就可以检测出语音段(清音和浊音)及静音段
1、短时能量计算
定义n 时刻某语言信号的短时平均能量En 为:
∑∑--=+∞∞--=-=n N n m m n w m x m n w m x En )1(22
)]()([)]()([
式中N 为窗长,可见短时平均能量为一帧样点值的平方和。

特殊地,当窗函数为矩形窗时,有∑--==
n N n m m x En )1(2)(
2、短时过零率
过零就是指信号通过零值。

过零率就是每秒内信号值通过零值的次数。

对于离散时间序列,过零则是指序列取样值改变符号,过零率则是每个样本的改变
符号的次数。

对于语音信号,则是指在一帧语音中语音信号波形穿过横轴(零电平)的次数。

可以用相邻两个取样改变符号的次数来计算。

如果窗的起点是n=0,短时过零率Z 为
波形穿过横轴(零电平)的次数
|))1(())((|211
0∑-=--=N n w w n S Sgn n S Sgn Z {0
0,1,1)sgn(≥<-=x x x
短时过零可以看作信号频率的简单度量
浊音的短时平均幅度最大,无声的短时平均幅度最小,清音的短时过零率最大,无
声居中,浊音的短时过零率最小。

3、短时自相关函数
∑--=+=1
)()()(k N n w
w w k n s n s k R ①是偶函数;
②s(n)是周期的,那么R (k )也是周期的;
③可用于基音周期估计和线性预测分析
4、判断语音信号的起点和终点
利用短时平均幅度和短时过零率可以判断语音信号的起点和终点。

语音端点检测方法可采用测试信号的短时能量或短时对数能量、联合过零率等特征参数,并采用双门限判定法来检测语音端点,即利用过零率检测清音,用短时能量检测浊音,两者配合。

首先为短时能量和过零率分别确定两个门限,一个是较低的门限数值较小,对信号的变化比较敏感,很容易超过;另一个是比较高的门限,数值较大。

低门限被超过未必是语音 的开始,有可能是很短的噪声引起的,高门限被超过并且接下来的自定义时间段内的语音。

四、 实验步骤及程序
(1) 实验步骤:
1、取一段录音作为音频样本。

2、利用公式分别编程计算这段语音信号的短时能量和短时过零率,然后分别画出它们的曲线。

3、调整能量门限。

4、进行幅度归一化并设置帧长、短时能量阈值、过零率阈值等参数。

5、编写程序实现语音端点检测。

6、最后得到语音端点检测图像。

(2) 语音信号的端点检测程序流程图:
图 1.1 语音信号的端点检测程序流程图
(3) 语音信号的端点检测实验源程序:
[x,fs,nbits]=wavread('1.wav');
x = x / max(abs(x));
FrameLen = 256;
inc = 90;
amp1 = 10;
amp2 = 2;
zcr1 = 10;
zcr2 = 5;
minsilence = 6;
minlen = 15;
status = 0;
count = 0;
silence = 0;
tmp1 = enframe(x(1:end-1), FrameLen,inc);
tmp2 = enframe(x(2:end) , FrameLen,inc);
signs = (tmp1.*tmp2)<0;
diffs = (tmp1 -tmp2)>0.02;
zcr = sum(signs.*diffs,2);
amp = sum((abs(enframe(filter([1 -0.9375], 1, x), FrameLen, inc))).^2, 2);
amp1 = min(amp1, max(amp)/4);
amp2 = min(amp2, max(amp)/8);
for n=1:length(zcr)
goto = 0;
switch status
case {0,1}
if amp(n) > amp1
x1 = max(n-count-1,1);
status = 2;
silence = 0;
count = count + 1;
elseif amp(n) > amp2 || zcr(n) > zcr2
status = 1;
count = count + 1;
else
status = 0;
count = 0;
end
case 2,
if amp(n) > amp2 ||zcr(n) > zcr2
count = count + 1;
else
silence = silence+1;
if silence < minsilence
count = count + 1;
elseif count < minlen
status = 0;
silence = 0;
count = 0;
else
status = 3;
end
end
case 3,
break;
end
end
count = count-silence/2;
x2 = x1 + count -1;
subplot(3,1,1)
plot(x)
axis([1 length(x) -1 1])
xlabel('帧数');ylabel('Speech');
line([x1*inc x1*inc], [-1 1], 'Color', 'red');
line([x2*inc x2*inc], [-1 1], 'Color', 'red');
subplot(3,1,2)
plot(amp);
axis([1 length(amp) 0 max(amp)])
xlabel('帧数');ylabel('Energy');
line([x1 x1], [min(amp),max(amp)], 'Color', 'red'); line([x2 x2], [min(amp),max(amp)], 'Color', 'red');
subplot(3,1,3)
plot(zcr);
axis([1 length(zcr) 0 max(zcr)])
xlabel('帧数');ylabel('ZCR');
line([x1 x1], [min(zcr),max(zcr)], 'Color', 'red'); line([x2 x2], [min(zcr),max(zcr)], 'Color', 'red');
五、实验结果与分析
图1.2语音信号的端点检测实验结果输出图像
(1)从图中可以明显看出,浊音的短时能量大、短时过零率低。

清音的短时能量小、短时过零率高。

(2)门限的选取对语音检测结果有很大影响。

(3)仅仅根据能量判断是比较粗糙的,还需要根据过零率进行判断。

因为清音和噪声的短时平均过零率比背景噪声的平均过零率要高出好几倍。

六、实验体会
这次的实验,,给我最大的收获就是培养了独立思考和动手的能力,还有就是实验的灵活性,总得来说就是在独立与创新这二个环节,我更加掌握MATLAB的程序设计方法,进一步的了解了掌握基于MATLAB编程实现带噪语音信号端点检测的原理,这充分锻炼了我们独立的动手能力和独立的解决所遇到的问题,让我对这门课程又有了新的理解。

相关文档
最新文档