基于能量和过零率的语音端点检测
端点检测(VAD)技术

端点检测(VAD)技术端点检测是语音识别和语音处理的一个基本环节,也是语音识别研究的一个热点领域。
技术的主要目的是从输入的语音中对语音和非语音进行区分,主要功能可以有:1.自动打断。
2.去掉语音中的静音成分。
3.获取输入语音中有效语音。
4.去除噪声,对语音进行增强。
目前,端点检测技术主要是根据语音的一些时域或频域特征进行区分。
一,时域参数时域参数端点检测是根据时域中的特征参数进行区分,一般如果信噪比较高的时候,效果至少90%以上。
1.时域能量大小。
2.时域平均过零率。
3.短时相关性分析。
相关性分析主要是利用语音的相关性比噪声强,噪声之间的相关性呈现下降的趋势,但因为噪声种类太多,因此只针对少量、特定噪声。
4.能量变化率。
也有人用这个,没有实验过。
5.对数能量。
6.子带能量。
实验表明,这个效果会比单纯的能量要好。
7.GMM假设检验。
8.其它。
其它也有一些,都是从自适应、噪声能量估计、信噪比估计等角度出发。
二,频域参数频域参数的抗噪性会比时域要好,但计算的cost也要高,下列技术是主流1.谱熵。
谱熵在频域与时域较量时,是比较优秀的,鲁棒性明显好于时域。
2.频域子带。
这种方法对于自适应类的算法来说,是比较优秀的,因为可以通过子带选择和设计,改变噪声的估计。
3.自适应子波。
这种算法通过子波的自适应,可以使得每一个相关帧的子波数和设计都不一样,如选择16个子带,选取频谱分布在250至3.5K之间,且能量不超过该帧总能量90%的子带,此时能够较好的消除噪声对端点的影响。
4.基频。
有人这样尝试,通过基频的检测,来表达声音是否真的存在,这类算法的鲁棒性很强,但对于轻音就会面临比较大的风险了。
5.其它。
自适应等思路。
三,时域和频域结合参数这类算法通过把时域和频域相结合的思路来设计算法,也是主流,因为时域计算快,可以快速检测,而频域更能表达噪声的特征。
1.自适应能量子带的谱熵检测。
把能量划分子带,结合谱熵。
一般单一的谱熵不能很好的表达噪声在帧内的加性能量噪声。
一种语音端点检测的方法及改进

4 语音端点检测方法
语音端点检测的算法步骤如下: (1)语音信号分成相邻有重叠的语音段, 称为语音帧; (2)每一语音帧, 采取一种特征向量; (3)采用 一 种 判 决 准 则 , 例 如 双 门 限 判 定 , 来 检 测 语 音 帧 与 非语音帧; (4)对上述结果进行后处理, 得到语音的全部区间; 4.1 短时能量和过零率相结合的双门限语音端点检测技术 进行端点检测之前, 首先为短时能量和过零率分别确定两 个门限, 一个是数值比较小的低门限, 对信号的变化比较敏感, 很容易就会被超过。另一个是数值比较大的高门限, 信号必须 达到一定的强度, 该门限才可能被超过。低门限被超过未必就 是语音的开始, 有可能是时间很短的噪声引起的。高门限被超 过则可以基本确信是由于语音信号引起的。 语 音 信 号 的 端 点 检 测 可 以 分 为 四 个 过 程:静 音 、过 渡 段 、语 音段 、结 束 。在静 音 段 , 如果 能 量 或过 零 率 超越 了 低 门限 , 就 应 该开始标记起始点, 进入过渡段。在过渡段中, 由于参数的数值 比较小, 不能确信是否处于真正的语音段, 因此只要两个参数
在 语 音 识 别 中,通 常 是 先 根 据 一 定 的 端 点 检 测 算 法,对 语 音 信号中的有声片段和无声片段进行分割,而后再针对有声片段, 依据语音的某些特征进行识别。研究表明, 即使在安静的环境 中, 语音识别系统一半以上的识别错误来自于端点检测器。因 此,作为语音识别系统的第一步,端点检测的关键性不容忽视,尤 其是噪声环境下语音的端点检测, 它的准确性很大程度上直接 影 响 着 后 续 的 工 作 能 否 有 效 进 行 。可 以 说 ,语 音 信 号 的 端 点 检 测 至今为止仍是有待进一步深入研究的课题。
基于能量和过零率的语音端点检测

课题:基于能量和过零率的语音端点检测姓名:陈启望简盛龙颜艳丹专业:2008级电子科学与技术(2)班指导老师:胡朝炜国立华侨大学信息科学与工程学院一、前言在复杂的应用环境下,从信号流中分辨出语音信号和非语音信号,是语音处理的一个基本问题。
端点检测就是从包含语音的一段信号中确定出语音的起始点和结束点。
正确的端点检测对于语音识别和语音编码系统都有重要的意义,它可以使采用的数据真正是语音信号的数据,从而减少数据量和运算量并减少处理时间。
二.方案选择判别语音段的起始点和终止点的问题主要归结为区别语音和噪声的问题。
①短时能量——如果能够保证系统的输入信噪比很高(即使最低电平的语音的能量也比噪声能量要高),那么只要计算输入信号的短时能量就基本能够把语音段和噪声背景区别开来。
但是,在实际应用中很难保证这么高的信噪比,仅仅根据能量来判断是比较粗糙的。
②短时平均过零率——它是语音信号时域分析中的一种特征参数。
它是指每帧内信号通过零值的次数。
在离散时间语音信号情况下,如果相邻的采样具有不同的代数符号就称为发生了过零。
如果是正弦信号,其平均过零率就是信号频率的两倍除以采样频率,而采样频率是固定的。
因此过零率在一定程度上可以反映信号的频率信息。
语音信号不是简单的正弦序列,所以平均过零率的表示方法就不那么确切。
③两级判决法——在用短时能量判断的同时,还需进一步利用短时平均过零率进行判断,因为清音比噪声的短时平均过零率比背景噪声的平均过零率要高出高几倍。
即基于能量和过零率的端点检测方法,也称双门限比较法。
综上所述,选择第三种方法,更加准确,实现的程序也不是很复杂。
三、方法的理论介绍1.第一级判决a.先根据语音短时能量的轮廓选取一个较高的门限T1,进行一个粗判:语音起止点位于该门限与短时能量包络交点所对应的时间间隔之外(即AB段之外)。
b.根据背景噪声的平均能量确定一个较低的门限T2,并从A点往左、从B点往右搜索,分别找到短时能量包络与门限T2相交的两个点C和D,于是CD段就是用双门限方法根据短时能量锁判定的语音段。
短时能量和过零率

基于短时能量和过零率分析的语音端点检测方法研究刘波,聂明新,向俊涛武汉理工大学信息工程学院,湖北武汉 (430070)E-mail :ngulb@摘 要:短时能量分析和过零率分析作为语音信号时域分析中最基本的方法,应用相当广泛,特别是在语音信号端点检测方面。
由于在语音信号端点检测方面这两种方法通常是独立使用的,在端点检测的时候很容易漏掉重要的信息。
本文将这两种方法结合起来,利用MATLAB 工具对其进行了分析。
实验结果表明,检测的效果好于分别使用其中一种方法的情况。
关键词:端点检测,短时能量 过零率 门限1 引言近年来,在语音信号处理领域,关于语音信号中端点检测及判定的研究越来越重要。
作为语音识别的前提工作,有效的端点检测方法不仅可以减少数据的存储量和处理时间,而且可以排除无声段的噪声干扰,使语音识别更为准确。
目前的语音信号端点检测算法比较多,有短时能量,短时过零率分析,自相关法等等,其中以短时能量和短时过零率用的最多。
大多文献和教材都是把它们分别进行介绍,由于它们各有其优缺点,分别使用作为语音端点检测的手段难免会漏掉很多有用的信息,因此,笔者将这两种方法结合起来进行分析,在判断清浊音及静音方面可以起到互补的作用,从语音信号的短时能量和过零率分析的特点出发,加以门限值来分析将两种方法相结合应用的效果,最后通过Matlab 进行了仿真。
2 语音信号短时能量和过零率的特征语音一般分为无声段,清音段和浊音段。
一般把浊音认为是一个以基音周期为周期的斜三角脉冲串,把清音模拟成随机白噪声。
由于语音信号是一个非平稳态过程,不能用处理平稳信号的信号处理技术对其进行分析处理。
但由于语音信号本身的特点,在10~30ms 的短时间范围内,其特性可以看作是一个准稳态过程,即具有短时性。
因此采用短时能量和过零率来对语音进行端点检测是可行的。
信号的短时能量定义为:设语音波形时域信号为)(l x 、加窗分帧处理后得到第n 帧语音信号为)(m x n ,则)(m x n 满足下式:10)()()(−≤≤+=N m m n x m w m x n (2-1)⎩⎨⎧=−==其他值m N m m w ,0)1(~0,1)(其中,,,2,1,0L T T n = 并且N 为帧长,T 为帧移长度。
几种语音端点检测方法简介

福 建 电
脑
21 0 1年第 1 期 1
号 和 高斯 白噪声信号 的 自相关 函数准显 然, 如果信 号x 主要 由背景 白噪声组 成, 么, ( m) 那 由于 噪声 的 “ 谱 性质 , 个 能 量序 列 应该 近 似 为 一 白” 这 个 常数序 列, 方差近 似为零 。如果信 号xm 主要 由语 其 () 音 组成 , 么, 个 能量 序列 是 一个 数值 变 化 的序 列 , 那 这 其方 差 不会 近 似 为零 。如果 信号 x 主要 由 白色 噪声 ( m1 ( I )带嗓语罾 籽一化 自榴关 高斯自噪 声期 一化 自相 关 和语 音 组成, 么,不论 白色 噪声能 量 有多 大, 那 由于语 西数经过低通滤波后的波澎疆 荫藏经蛙低遁滤波后的波形躅 音 的存 在, 个 能量序列 依然 是一 个 数值 变 化 的序列 , 这 图 1带 嗓 语音 和高 斯 白嗓声 的归 一 化 自相关 函数 经 过 其 方差不 会近 似为零 。 低 通滤 波 后 的波 形 图 () 4根据 上 述 思想 , 计算 每 帧 小 波 变换 后 的语 音 数 通 过 上 面两个 波形 图的观 察 .可以得 出这样 的推 据X( ) m 的方差 , 果方 差 大于 门 限值 ‘ 那 么即认 为 这 如 P , 论 :带嗓 语音 信号 的归一 化 自相关 函数经 过低 通 滤波 帧 之 后 的语 音 数 据 为 有 效 的 语 音 数 据 ,记 为 起 始
基于子带能量的语音端点检测算法的研究

基于子带能量的语音端点检测算法的研究
Sp e e c h E n dp o i n t De t e c t i o n Al go r i t h m Ba s e d o n Su b- b a n d En e r g y
语 音端 点检测 ( S p e e c h E n d p o i n t D e t e c t i o n ) 是 指 从 背 景 噪声 中分 离 出有 声部 分 , 又 被 称 为语 音 激 活 检 测 ( V o i c e A c t i v i t y D e t e c t i o n , v A D) 。高 效 准 确 的 端点 检 测 能 够 大 幅 减轻 语 音 信 号
端 点 检 测 主 要 基 于短 时语 音特 征 , 如短 时能量 、 短 时过零率 , 短 时 自相 关 函数 等 ,在 高信 噪 比 和稳 定 噪 声 环 境 下 达 到 了令 人 满
1 . 1特 征 参 数 设 语 音 波 形 时域 信 号 为 x ( n ) , 分 帧并 加 窗后 的 第 n帧信 号
为X n ( m) , 用E n 表 示其 短 时 能 量 , 则其定义为 :
,
意 的效 果 , 但 在 低信 噪 比 和多 变 噪 声 环 境 下 , 检测 的 正 确 率 会 急
=
剧下 降。 语 音 端 点 检 测 历 经 几 十年 的研 究 发 展 , 不 断 有 新 的 方法
( m)
朱 明 明 吴 小培 罗雅 琴 ( 安徽大学计算智能与信号处理教育部重点 实验室, 安徽 合肥 2 3 0 6 0 1 )
摘 要
端 点检 泖 l 作 为 语音 信 号 处理 系统 前 端 处 理 的 重 要 环 节 , 直接 影 响 系统 处理 的 准确 性 和 高效 性 。传 统 的 端 点检 测 在 高
基于EMD和能零比的语音端点检测算法

• 28•语音端点检测是语音信号处理的一个重要环节。
在低信噪比的情况下,传统的能零比端点检测的方法正确率很低。
本文提出了基于EMD 和能零比的语音端点检测算法,它结合语音增强技术,利用EMD 分解特性,求出能零比参数,设置自适应检测阈值,实现了在低信噪比环境下的语音端点检测。
仿真实验结果表明该方法在低信噪比情况下能够提高检测的正确率和稳定性。
语音端点检测是语音信号处理中的一个非常重要的环节。
语音端点检测算法主要分为两大类:模型匹配端点检测和特征参数端点检测。
模型匹配端点检测如基于隐马尔科夫模型等,该类型检测算法过程复杂,运算量大,因此应用与发展受到了限制。
特征参数端点检测主要是根据语音信号的时域特征和频域特征,该算法简单,运算量小,但在低信噪比的情况下检测误判率高。
美籍华人N.E.H u a n g 在1998年提出了经验模态分解方法(Empirical Mode Decomposition ,EMD)。
该算法能够很好的适应于语音这种常见的非线性非平稳信号。
本文提出了基于EMD 和能零比的语音端点检测算法。
研究表明,该方法在低信噪比情况下能够提高语音端点检测的正确率和稳定性。
1 基于EMD和能零比的语音端点检测算法基于EMD 和能零比的语音端点检测算法,首先对含有白噪声的语音数据进行语音增强,这里采用谱减法进行语音增强。
再将增强后的语音进行EMD 分解,由于含白噪声的语音信号的能量主要分布在第2-5层IMF 中,因此重构语音信号选择第2-5个IMF 分量。
对于重构后的语音信号进行分帧,求出每帧的过零率,同时对每帧再次EMD 分解,求出各阶IMF 的Teager 能量,并将各阶能量求和,构成特征参数能零比,最后自适应门限求解、判决。
1.1 语音增强当信噪比下降时,噪声的能量变大,使得语音端点检测正确率下降。
为了能有效检测较低信噪比的语音信号的端点,应用语音增强技术来提高语音的信噪比,改进语音质量。
端点检测

,即得
至此,求得了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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课题:基于能量和过零率的语音端点检测姓名:陈启望简盛龙颜艳丹
专业:2008级电子科学与技术(2)班
指导老师:胡朝炜
国立华侨大学信息科学与工程学院
一、前言
在复杂的应用环境下,从信号流中分辨出语音信号和非语音信号,是语音处理的一个基本问题。
端点检测就是从包含语音的一段信号中确定出语音的起始点和结束点。
正确的端点检测对于语音识别和语音编码系统都有重要的意义,它可以使采用的数据真正是语音信号的数据,从而减少数据量和运算量并减少处理时间。
二.方案选择
判别语音段的起始点和终止点的问题主要归结为区别语音和噪声的问题。
①短时能量——如果能够保证系统的输入信噪比很高(即使最低电平的语音的能量也比噪声能量要高),那么只要计算输入信号的短时能量就基本能够把语音段和噪声背景区别开来。
但是,在实际应用中很难保证这么高的信噪比,仅仅根据能量来判断是比较粗糙的。
②短时平均过零率——它是语音信号时域分析中的一种特征参数。
它是指每帧内信号通过零值的次数。
在离散时间语音信号情况下,如果相邻的采样具有不同的代数符号就称为发生了过零。
如果是正弦信号,其平均过零率就是信号频率的两倍除以采样频率,而采样频率是固定的。
因此过零率在一定程度上可以反映信号的频率信息。
语音信号不是简单的正弦序列,所以平均过零率的表示方法就不那么确切。
③两级判决法——在用短时能量判断的同时,还需进一步利用短时平均过零率进行判断,因为清音比噪声的短时平均过零率比背景
噪声的平均过零率要高出高几倍。
即基于能量和过零率的端点检测方法,也称双门限比较法。
综上所述,选择第三种方法,更加准确,实现的程序也不是很复杂。
三、方法的理论介绍
1.第一级判决
a.先根据语音短时能量的轮廓选取一个较高的门限T1,进行一个粗
判:语音起止点位于该门限与短时能量包络交点所对应的时间间隔之外(即AB段之外)。
b.根据背景噪声的平均能量确定一个较低的门限T2,并从A点往左、
从B点往右搜索,分别找到短时能量包络与门限T2相交的两个点C和D,于是CD段就是用双门限方法根据短时能量锁判定的语音段。
2.第二级判决
以短时平均过零率为标准,从C点往左和从D点往右搜索,找到短时平均过零率低于某个门限T3的两点E和F,这便是语音段的起
止点。
门限T3是由背景噪声的平均过零率所确定的。
这里要注意,门限T2,T3都是由背景噪声特性确定的,因此,在进行起止点判决钱,通常都要采集若干帧背景噪声并计算其平均短时能量和平均过零率,作为选择T2和T3的依据。
当让,T1,T2,T3,三个门限值的确定还应当通过多次实验。
四、基于matlab 程序实现能量与过零率的端点检测方法的步骤 ① 语音信号x(n)进行分帧处理,每一帧记为Si (n ),n=1,2,…,N ,n 为离散语音信号时间序列,N 为帧长,i 表示帧数。
② 计算每一帧语音的短时能量,得到语音的短时帧能量:
()21N
i n Ei s n
==∑。
③ 计算每一帧语音的过零率,得到短时帧过零率:
()()1sgn sgn 1N
i i n Zi s n s n ==--⎡⎤⎡⎤⎣⎦⎣⎦
∑
④ 考察语音的平均能量设置一个较高的门限T1,用以确定语音开始,然后再根据背景噪声的平均能量确定一个稍低的门限T2,用以确定第一级中的语音结束点。
T2=α*En ,En 为噪声声段的平均值。
完成第一级判决。
第二级判决同样根据背景噪声的平均过零率Zn ,设置一个门限T3,用于判断语音前端的清音和后端的尾音。
五、程序实现
%zcro.m 过零率函数 function f=zcro(x) f=zeros(size(x,1),1);
for i=1:size(x,1) z=x(i,:)
for j=1:(length(z)-1);
if z(j)*z(j+1)< 0; f(i)=f(i)+1;
end
end
end
%fra.m 分帧函数
function f=fra(len,inc,x) fh=fix(((size(x,1)-len)/inc) +1)
f=zeros(fh,len);
i=1;n=1;
while i<= fh
j=1;
while j<=len
f(i,j)=x(n);
j=j+1;n=n+1;
end
n=n-len+inc;
i=i+1;
End
主程序
%% filename: yuyin.m clear all;
clf;
clc;
[filename,pathname]=
uigetfile('*.wav','Open wave file');
file = [pathname,filename]; [x,fs,nbits]=wavread(file);
len=length(x);
y1=buffer(x(1:len-1),200,100 );
y2=buffer(x(2:len),200,100); signs = (y1.*y2)<0;
diffs = (y1-y2)>0.002;
zcr = sum(signs.*diffs,1); %y=fra(50,50,x);
y=buffer(x,50,0);
y2=y.^2;
energy=sum(y2,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%% figure(1);
subplot(411);plot(x);
title('原始信号'); xlabel('样点数'); ylabel('幅度'); subplot(412); plot(energy); xlabel('帧数'); ylabel('短时能量E'); legend('N=50'); subplot(413);plot(zcr);
xlabel('帧数'); ylabel('过零点次数'); legend('N=50');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
六、验证
打开一个“ten.wav
”的语音文件,得到的结果如下所示
七、参考文献
《数字语音处理及matlab 仿真》 张雪英 编著
《Matlab7.0从入门到精通》 刘保住 苏彦华 张宏林 编著 《语音信号处理》 (第4版) 胡航 编著。