文档库 最新最全的文档下载
当前位置:文档库 › 基于短时能量特征的语音端点检测技术研究

基于短时能量特征的语音端点检测技术研究

基于短时能量特征的语音端点检测技术研究

语音端点检测

目录 摘要........................................................................................ 错误!未定义书签。Abstract .................................................................................. 错误!未定义书签。第1章绪论.. 0 1.1课题背景 0 1.2语音端点检测现状 0 1.3相关工作 (2) 1.4本文主要研究内容 (3) 第2章语音信号时频域分析及预处理 (4) 2.1语音信号简述 (4) 2.2语音信号分析 (4) 2.2.1 时域分析 (5) 2.2.2 频域分析 (5) 2.3语音信号分析处理 (7) 2.3.1 预加重 (7) 2.3.2 加窗分帧 (8) 2.4本章小结 (9) 第3章语音端点检测算法研究 (10) 3.1语音端点检测 (10) 3.1.1 简述 (10) 3.1.2 语音端点检测原理 (10) 3.1.3 语音端点检测算法及实施方案 (12) 3.2基于短时能量和短时过零率的语音端点检测 (13) 3.2.1 短时平均能量 (14) 3.2.2 短时过零率 (16) 3.2.3 基于短时能量和短时过零率的双门限端点检测 (18) 3.2.4 双门限语音端点检测实验 (19) 3.3基于倒谱特征的语音端点检测 (20) 3.3.1 倒谱特征 (20) I

3.3.2 倒谱距离 (21) 3.3.3 倒谱距离的检测算法流程 (23) 3.3.4 基于倒谱特征的语音端点检测试验分析 (25) 3.4基于谱熵的语音端点检测 (26) 3.4.1 谱熵特征 (26) 3.4.2 基于谱熵的端点检测流程 (27) 3.4.4 基于谱熵特征的语音端点检测试验分析 (28) 3.5算法比较 (30) 3.6本章小结 (33) 结论.................................................................................... 错误!未定义书签。参考文献................................................................................ 错误!未定义书签。致谢.................................................................................... 错误!未定义书签。附录1..................................................................................... 错误!未定义书签。附录2..................................................................................... 错误!未定义书签。附录3..................................................................................... 错误!未定义书签。附录4..................................................................................... 错误!未定义书签。附录5..................................................................................... 错误!未定义书签。

基于能量和过零率的语音端点检测

课题:基于能量和过零率的语音端点检测姓名:陈启望简盛龙颜艳丹 专业:2008级电子科学与技术(2)班 指导老师:胡朝炜 国立华侨大学信息科学与工程学院

一、前言 在复杂的应用环境下,从信号流中分辨出语音信号和非语音信号,是语音处理的一个基本问题。端点检测就是从包含语音的一段信号中确定出语音的起始点和结束点。正确的端点检测对于语音识别和语音编码系统都有重要的意义,它可以使采用的数据真正是语音信号的数据,从而减少数据量和运算量并减少处理时间。 二.方案选择 判别语音段的起始点和终止点的问题主要归结为区别语音和噪声的问题。 ①短时能量——如果能够保证系统的输入信噪比很高(即使最低电平的语音的能量也比噪声能量要高),那么只要计算输入信号的短时能量就基本能够把语音段和噪声背景区别开来。但是,在实际应用中很难保证这么高的信噪比,仅仅根据能量来判断是比较粗糙的。 ②短时平均过零率——它是语音信号时域分析中的一种特征参数。它是指每帧内信号通过零值的次数。在离散时间语音信号情况下,如果相邻的采样具有不同的代数符号就称为发生了过零。如果是正弦信号,其平均过零率就是信号频率的两倍除以采样频率,而采样频率是固定的。因此过零率在一定程度上可以反映信号的频率信息。语音信号不是简单的正弦序列,所以平均过零率的表示方法就不那么确切。 ③两级判决法——在用短时能量判断的同时,还需进一步利用短时平均过零率进行判断,因为清音比噪声的短时平均过零率比背景

噪声的平均过零率要高出高几倍。即基于能量和过零率的端点检测方法,也称双门限比较法。 综上所述,选择第三种方法,更加准确,实现的程序也不是很复杂。 三、方法的理论介绍 1.第一级判决 a.先根据语音短时能量的轮廓选取一个较高的门限T1,进行一个粗 判:语音起止点位于该门限与短时能量包络交点所对应的时间间隔之外(即AB段之外)。 b.根据背景噪声的平均能量确定一个较低的门限T2,并从A点往左、 从B点往右搜索,分别找到短时能量包络与门限T2相交的两个点C和D,于是CD段就是用双门限方法根据短时能量锁判定的语音段。 2.第二级判决 以短时平均过零率为标准,从C点往左和从D点往右搜索,找到短时平均过零率低于某个门限T3的两点E和F,这便是语音段的起

语音端点检测方法研究

语音端点检测方法研究1 沈红丽,曾毓敏,李平,王鹏 南京师范大学物理科学与技术学院,南京(210097) E-mail:orange.2009@https://www.wendangku.net/doc/7b2739577.html, 摘要: 端点检测是语音识别中的一个重要环节。有效的端点检测技术不仅能减少系统的处理时间,增强系统处理的实时性,而且能排除无声段的噪声干扰,增强后续过程的识别性。可以说,语音信号的端点检测至今天为止仍是有待进一步深入的研究课题.鉴于此,本文介绍了语音端点算法的基本研究现状,接着讨论并比较了语音信号端点检测的方法,分析了各种方法的原理及优缺点,如经典的基于短时能量和过零率的检测方法,基于频带方差的检测方法,基于熵的检测方法,基于倒谱距离的检测方法等.并基于这些方法的分析,对端点检测方法做了进行了总结和展望,对语音信号的端点检测的进一步研究具有深远的意义。 关键词:语音信号;端点检测;噪声 中图分类号:TP206. 1 1. 引言 语音信号处理中的端点检测技术,是指从包含语音的一段信号中确定出语音信号的起始点及结束点。语音信号的端点检测是进行其它语音信号处理(如语音识别、讲话人识别等)重要且关键的第一步. 研究表明[1],即使在安静的环境中,语音识别系统一半以上的识别错误来自端点检测器。因此,作为语音识别系统的第一步,端点检测的关键性不容忽视,尤其是噪声环境下语音的端点检测,它的准确性很大程度上直接影响着后续的工作能否有效进行。 确定语音信号的起止点, 从而减小语音信号处理过程中的计算量, 是众多语音信号处理领域中一个基本而且重要的问题。有效的端点检测技术不仅能减少系统的处理时间,增强系统处理的实时性,而且能排除无声段的噪声干扰,增强后续过程的识别性。可以说,语音信号的端点检测至今天为止仍是有待进一步深入的研究课题。 2. 语音端点检测主要方法和分析 在很长一段时间里,语音端点检测算法主要是依据语音信号的时域特性[2].其采用的主要参数有短时能量、短时平均过零率等,即通常说的基于能量的端点检测方法。这些算法在实验室环境下具有良好的性能,但在噪声环境下,则无法达到其应有的效果。近年来,随着通信业的迅猛发展,又出现了很多的语音端点检测算法。它们主要是通过采用各种新的特征参数,以提高算法的抗噪声性能。如基于倒谱系数[3]、频带方差[4]、自相关相似距离[5] 、信息熵[6]等也逐渐的被应用到端点检测中。有时,还通过将信号的几种特征组合成为一个新的特征参数来进行端点检测。 2.1基于短时能量和短时平均过零率的检测方法 该方法也称为双门限比较法,它是在短时能量检测方法的基础上,加上短时平均过零率,利用能量和过零率作为特征来进行检测.在信噪比不是很低的情况下,根据语音信号的能量大于噪声噪声能量的假设,通过比较输入信号的能量与语音能量阈值的大小,可以对语音段和非语音段加以区分[7].输入每帧信号的能量可由下式得到[7-8]: 1本课题得到江苏省普通高校自然科学研究计划资助项目(项目批准号:07KJD510110)的资助。

基于Matlab的语音端点检测实验研究

浙江科技学院学报,第19卷第3期,2007年9月Jo ur na l of Zhejiang U niv ersity of Science and T echnolog y Vo l.19No.3,Sep.2007 收稿日期:2007 04 23 作者简介:张震宇(1976 ),男,浙江兰溪人,讲师,硕士,主要从事电子技术和语音信号处理的研究。 基于Matlab 的语音端点检测实验研究 张震宇 (浙江科技学院自动化与电气工程学院,杭州310023) 摘 要:端点检测在语音识别中占有十分重要的地位,直接影响着系统的性能。今借助于M atlab 这一功能强大的工具,成功地开展了语音端点检测的实验研究。首先简介端点检测涉及的几个基本概念,然后分析端点检测的基本方法,最后分别进行孤立字、孤立词的语音检测实验;重点阐述实验开展的具体过程,并给出部分关键源代码。实验取得了良好的效果。 关键词:端点检测;短时能量;过零率;M atlab 中图分类号:T P391.42 文献标识码:A 文章编号:1671 8798(2007)03 0197 05 Expe rime ntal Study on Speec h Endpoint Detection Base d on Matlab ZH ANG Zhen y u (Schoo l o f Automat ion and Electr ical Engineer ing,Zhejiang U niv ersity of Science and T echnolog y,H angzhou,310023,China) Abstract:Endpoint detection plays an important ro le in speech recog nition,w hich dir ectly af fects perform ance of the speech system.With M atlab,exper im ents to detect speech endpoint are developed successfully.Firstly ,several basic concepts are introduced briefly.T hen,the basic method for endpoint detection is analyzed.At last,2experiments for isolated wo rd are car ried out.T he detailed ex perim ent procedure is focused on and par t of key source codes is given,w hich gains favourable effect. Key words:endpo int detection;short term energy ;zer o crossing r ate(ZCR);M atlab 所谓端点检测,就是从一段给定的语音信号中找出语音的起始点和结束点。在语音识别系统中,正确、有效地进行端点检测不仅可以减少计算量和缩短处理时间,而且能排除无声段的噪声干扰、提高语音识别的正确率。研究表明,即使是在安静的环境下,语音识别系统一半以上的错误可能主要来自端点检测 [1] 。除此之外,在语音合成、编码等系统 中,高效的端点检测也直接影响甚至决定着系统的主要性能。因此,端点检测的效率、质量在语音处理系统中显得至关重要,广泛开展端点检测实现手段方面的研究,有一定的现实意义。 笔者查阅了大量关于端点检测的文献资料,典型的如文献[2 5]等,发现大部分文献把重点放在理论分析层面上,集中研究了如何较好地改进检测方

基于MATLAB的语音端点检测

短时能量matlab实现: [x]=wavread('song1.wav'); x=x/max(abs(x)); figure; subplot(3,1,1); plot(x); axis([1 length(x) -1 1]); ylabel('Speech'); FrameLen=240; FrameInc=80; yframe=enframe(x,FrameLen,FrameInc); amp1=sum(abs(yframe),2); subplot(3,1,2); plot(amp1); axis([1 length(amp1) 0 max(amp1)]); ylabel('Amplitude'); legend('amp1=∑│x│'); amp2=sum(abs(yframe.*yframe),2); subplot(3,1,3); plot(amp2); axis([1 length(amp2) 0 max(amp2)]); ylabel('Energy'); legend('amp1=∑│x*x│'); 短时过零率matlab实现: [x]=wavread('song1.wav'); figure; subplot(3,1,1); plot(x); axis([1 length(x) -1 1]); ylabel('Speech'); FrameLen = 240; FrameInc = 80; amp = sum(abs(enframe(filter([1 -0.9375], 1, x), FrameLen, FrameInc)), 2); subplot(312) plot(amp); axis([1 length(amp) 0 max(amp)]) ylabel('Energy'); tmp1 = enframe(x(1:end-1), FrameLen, FrameInc); tmp2 = enframe(x(2:end) , FrameLen, FrameInc); signs = (tmp1.*tmp2)<0; diffs = (tmp1 -tmp2)>0.02; zcr = sum(signs.*diffs, 2); subplot(3,1,3); plot(zcr);

语音短时平均能量

太原理工大学语音信号处理课程实验报告 专业班级 学号 姓名 指导教师

实验名称 语音短时平均能量 同组人 专业班级 学号 姓名 成绩 一、实验目的: 1.熟悉Matlab 基本程序的运用。 2.充分理解取不同窗长时的语音短时平均能量的变化情况。 3.熟悉Matlab 编程语言在语音信号处理中的作用。 4.能够实现程序的重新编制。 二、实验原理: 定义n 时刻某语音信号的短时平均能量n E 为: ∑∑--=+∞-∞=-=-=n N n m m n m n w m x m n w m x E )1(22)]()([)]()([ 式中N 为窗长,可见短时平均能量为为一帧样点值的甲醛平方和。特殊地,当窗函数为矩形窗时,有 ∑--==n N n m n m x E )1(2)( 三、实验要求: … … … … … … … … … … … … … … 装 … … … … … … … … … … … … … … … 订 … … … … … … … … … … … …

1.实验前自己用Cool Edit 音频编辑软件录制声音“我到北京去”,并把它保存为.txt 文件。 2.编程实现不同矩形窗长N=50、100、200、800的短时平均能量。 3.用Matlab 画出不同窗长的短时平均能量的图形。 4.写出实验报告,分析实验结果。 四、实验难点: 对采集到的语音样点进行分帧。 五、实验条件: 计算机 Matlab 软件 ,2学时 六、实验步骤 1、用Cooledit 读入语音“我到北京去”。设置采样率为8kHz ,16位,单声道。 2、将读入的语音wav 文件保存为“我到北京去.txt ”文件。 3、把保存的文件“我到北京去.txt ”读入Matlab 。 4、对采集到得语音样点值进行分帧。 ………………………………… … 装 … … ……………………线 …… ……… ………… ……… ……………………………

基于MATLAB的语音端点检测

[x]=wavread('song1.wav'); x=x/max(abs(x)); figure; subplot(3,1,1); plot(x); axis([1 length(x) -1 1]); ylabel('Speech'); FrameLen=240; FrameInc=80; yframe=enframe(x,FrameLen,FrameInc); amp1=sum(abs(yframe),2); subplot(3,1,2); plot(amp1); axis([1 length(amp1) 0 max(amp1)]); ylabel('Amplitude'); legend('amp1=∑│x│'); amp2=sum(abs(yframe.*yframe),2); subplot(3,1,3); plot(amp2);

axis([1 length(amp2) 0 max(amp2)]); ylabel('Energy'); legend('amp1=∑│x*x│'); [x]=wavread('song1.wav'); figure; subplot(3,1,1); plot(x); axis([1 length(x) -1 1]); ylabel('Speech'); FrameLen = 240; FrameInc = 80; amp = sum(abs(enframe(filter([1 -0.9375], 1, x), FrameLen, FrameInc)), 2); subplot(312) plot(amp); axis([1 length(amp) 0 max(amp)]) ylabel('Energy'); tmp1 = enframe(x(1:end-1), FrameLen, FrameInc); tmp2 = enframe(x(2:end) , FrameLen, FrameInc); signs = (tmp1.*tmp2)<0; diffs = (tmp1 -tmp2)>0.02; zcr = sum(signs.*diffs, 2); subplot(3,1,3); plot(zcr); axis([1 length(zcr) 0 max(zcr)]) ylabel('ZCR'); [x,fs,nbits]=wavread('song1.wav'); x = x / max(abs(x));%幅度归一化到[-1,1] %参数设置 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);

计算一段语音能量

%计算一段语音能量 [x,fs,bit]=wavread('d:\voice\daxue.wav'); framelength=100; framenumber=fix(length(x)/framelength); for i=1:framenumber; E(i)=0; for j=(framelength*(i-1)+1):1:framelength*(i); E(i)=E(i)+x(j)*x(j); end; end; totaltime=length(x)/fs; for i=1:length(x); pointtime(i)=totaltime*i/length(x); end for i=1:framenumber; frametime(i)=totaltime*i/framenumber; end subplot(2,1,1) plot(pointtime,x); subplot(2,1,2) plot(frametime,E); %计算一段语音的短时过零率 [x,fs,bit]=wavread('d:\voice\daxue.wav'); framelength=100; framenumber=fix(length(x)/framelength); for i=1:1:framenumber; Z(i)=0; for j=1:framelength; y(j)=x(framelength*(i-1)+j);

end for j=1:framelength-1; Z(i)=Z(i)+sign(y(j+1)-y(j)); end end; totaltime=length(x)/fs; for i=1:length(x); pointtime(i)=totaltime*i/length(x); end for i=1:framenumber; frametime(i)=totaltime*i/framenumber; end subplot(2,1,1) plot(pointtime,x); subplot(2,1,2) plot(frametime,Z); 修正 [x,fs,bit]=wavread('d:\voice\daxue.wav'); framelength=100; framenumber=fix(length(x)/framelength); T=x(1); for i=1:1:framenumber; Z(i)=0; for j=1:framelength; y(j)=x(framelength*(i-1)+j); end for j=1:framelength-1;

语音端点检测方法研究

语音端点检测方法研究 文章在研究语音识别系统中端点检测基本算法的基础上,分别对利用双门限的端点检测方法、利用小波变换的端点检测方法、利用倒谱相关理论的端点检测方法原理进行了阐述和说明,并对几种端点检测方法的特点进行了分析。 标签:端点检测;双门限;小波变换;倒谱 1 概述 就一般情况下来讲,在语音通信过程当中,大多采用有线电话网的方式来进行,但是由于某些地区环境及场合需要等因素,则需要通过无线电台来作为通信方式。与此同时,在其实际应用过程中,整个通话过程由语音控制来实现。具体来讲,有线方说话时本地无线电台则处于发射状态,相对应来讲远端无线电台为接收状态,相反来讲,当有线方沉默的时候,无线电台工作状态发转。其中,语音端点检测方法和技术是关键,基于从某段语音信号当中来准确判断语音位置(起始点与终止点),从而有效地区分是否为语音信号这样的目的。该技术对于减少数据的采集量、降低或者排除噪声段的干扰以及提高系统识别性能等方面具有关键作用。 2 利用双门限进行语音端点检测 首先确定短时能量和短时过零率符合端点起点判定条件的帧,接着再根据短时过零率和短时能量符合端点终点判定条件的帧。除此之外,对于一些突发性噪声检测,比如由于门窗开关所引起的噪声,相对应来讲我们可以通过设置最短时间门限来进行判断。具体来讲,当处于静音这一语音信号端点检测段时,如数值比低门限还低,与此同时最短时间门限大于计时长度,那么我们基本上可以确定这是一段噪音。 双门限的检测算法结合了短时能量和短时过零率的优点,在得到的端点检测结果中,其精确度和浊音检测都能得到很好的保证。现在有很多的端点检测算法都是根据双门限的算法进行不同的改进,能使其各有优劣,从而适应于不同的情况和环境。 3 利用小波变换进行语音端点检测 小波变换属于时频分析的一种,具体来说是空间(时间)和频率的局部变换,因而能有效的从信号中提取信息。小波变换能将信号在时域中表现不了的特征在频域中表现出来。因此,利用小波变换的这一个特性,根据有效的说话人的声音数据和背景噪声数据的频谱存在明显差异的特征来进行端点检测。一般有效的说话人的声音数据的频谱分布范围很大,而且频率的值也很大。而背景噪声的频谱变化不大,而且值也较小。因此先将语音数据分帧,将分帧后的数据进行一次小波变换,再对小波变换后的数据计算方差,如果计算的结果大于一定的阈值,那

语音信号的短时分析

语音信号的短时分析 一、实验目的 1.在理论学习的基础上,进一步地理解和掌握语音信号短时分析的意义,短时时域分析的基本方法。 2.进一步理解和掌握语音信号短时平均能量函数及短时平均过零数的计算方法和重要 意义。 二、实验原理及方法 一定时宽的语音信号,其能量的大小随时间有明显的变化。其中清音段(以清音为主要成份的语音段),其能量比浊音段小得多。短时过零数也可用于语音信号分析中,发浊音时,其语音能量约集中于3kHz以下,而发清音时,多数能量出现在较高频率上,可认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数,因而,对一短时语音段计算其短时平均能量及短时平均过零数,就可以较好地区分其中的清音段和浊音段,从而可判别句中清、浊音转变时刻,声母韵母的分界以及无声与有声的分界。这在语音识别中有重要意义。 三、实验仪器 微型计算机,Matlab软件环境 四、实验内容 1.上机前用Matlab语言完成程序编写工作。 2.程序应具有加窗(分帧)、计算、以及绘制曲线等功能。 3.上机实验时先调试程序,通过后进行信号处理。 4.对录入的语音数据进行处理,并显示运行结果。 5.依据曲线对该语音段进行所需要的分析,并作出结论。

6.改变窗的宽度(帧长),重复上面的分析内容。 五、预习和实验报告要求 1.预习课本有关内容,理解和掌握短时平均能量函数及短时平均过零数函数的意义及其计算方法。 2.参考Matlab有关资料,设计并编写出具有上述功能的程序。 六、上机实验报告要求: 1.报告中,实验目的、实验原理、实验步骤、方法等格式和内容的要求与其它实验相同。 2.画出求得的、曲线,注明语音段和所用窗函数及其宽度。阐述所作分析和判断的过程,提出依据,得出判断结论。 七、思考题 1.语音信号短时平均能量及短时平均过零数分析的主要用途是什么? 2.窗的宽度(帧长)的改变,对的特性产生怎样的影响? 附: 所用语音信号文件名为one.wav Matlab编程实验步骤: 1.新建M文件,扩展名为“.m”,编写程序; 2.选择File/Save命令,将文件保存在F盘中; 3.在Command Window窗中输入文件名,运行程序; Matlab部分函数语法格式: 读wav文件:x=wavread(`filename`)

短时能量和过零率

基于短时能量和过零率分析的语音端点 检测方法研究 刘波,聂明新,向俊涛 武汉理工大学信息工程学院,湖北武汉 (430070) E-mail :ngulb@https://www.wendangku.net/doc/7b2739577.html, 摘 要:短时能量分析和过零率分析作为语音信号时域分析中最基本的方法,应用相当广泛,特别是在语音信号端点检测方面。由于在语音信号端点检测方面这两种方法通常是独立使用的,在端点检测的时候很容易漏掉重要的信息。本文将这两种方法结合起来,利用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 为帧移长度。 设第n 帧语音信号)(m x n 的短时能量谱用n E 表示,则其计算公式如下[4][5][6]:

语音实验一端点检测

实验一语音信号端点检测 一、实验目的 1.学会MATLAB 的使用,掌握MATLAB 的程序设计方法; 2.掌握语音处理的基本概念、基本理论和基本方法; 3.掌握基于MATLAB 编程实现带噪语音信号端点检测; 4.学会用MATLAB 对信号进行分析和处理。 5. 学会利用短时过零率和短时能量,对语音信号的端点进行检测。 二、实验仪器设备及软件 HP D538、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、短时过零率 过零就是指信号通过零值。过零率就是每秒内信号值通过零值的次数。

短时平均能量的实现

语音信号处理实验报告 一、 实验目的: 1、熟悉Matlab 基本程序的运用; 2、充分理解取不同窗长时的语音短时平均能量的变化情况; 3、熟悉Matlab 编程语言在语音信号处理中的作用; 4、能够实现程序的重新编制。 二、 实验原理: 定义n 时刻某语音信号的短时平均能量En 为: n E =∑+∞-∞=m [)(m x ()m n w -]2 =∑--=n N n m ) 1([)()(m n w m x -]2 式中N 为窗长,可见短时平均能量为一帧样点值的加权平方和。 特殊地,当窗函数为矩形窗时,有 n E =∑ --=n N n m )1()(2 m x 三、 实验要求: 1、 实验前自己用Cool Edit 音频编辑软件录制声音“我到北京去”,并把它保存为.txt 文件; 2、 编程实现不同矩形窗长N=50、100、400、800的短时平均能量; 3、 用Matlab 画出不同窗长的短时平均能量的图形; 4、 写出实验报告,分析实验结果。 四、 实验步骤: 1、 用Cool Edit 读入语音“我到北京去”。设置采样率为8kHz ,

16位,单声道; 2、将读入的语音wav文件保存为txt文件; 3、把保存的文件speech.txt读入Matlab; 4、对采集到的语音样点值进行分帧; 5、对照取不同矩形窗长N的短时平均能量,画出图形。 五、实验程序: 分帧子程序为fra.m,如下所示:

取不同窗长N时的短时能量对照程序为nengliang.m,如下所示:

六、实验结果及分析: 分析:从图中可以看出,N=50和N=100的短时平均能量曲线不够平滑,而N=800的曲线又过于平滑,将个别的细节变化平滑掉了;N=400的曲线比较合适。

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

华南理工大学《语音信号处理》实验报告 实验名称:端点检测 姓名: 学号: 班级:11级电信3班 日期:2013年4 月19日

1.实验目的 1.语音信号端点检测技术其目的就是从包含语音的一段信号中准确地确定语音的起始点和终止点,区分语音和非语音信号,它是语音处理技术中的一个重要方面。本实验的目的就是要掌握基于MATLAB编程实现带噪语音信号端点检测,利用MATLAB对信号进行分析和处理,学会利用短时过零率和短时能量,对语音信号的端点进行检测。 2. 实验原理 1、短时能量 语音和噪声的区别可以体现在它们的能量上,语音段的能量比噪声段能量大,语音段的能量是噪声段能量叠加语音声波能量的和。在信噪比很高时,那么只要计算输入信号的短时能量或短时平均幅度就能够把语音段和噪声背景区分开。这是仅基于短时能量的端点检测方法。 信号{x(n)}的短时能量定义为: 语音信号的短时平均幅度定义为: 其中w(n)为窗函数。 2、短时平均过零率 短时过零表示一帧语音信号波形穿过横轴(零电平)的次数。过零分析是语音时域分析中最简单的一种。对于连续语音信号,过零意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值的改变符号称为过零。过零率就是样本改变符号次数。

信号{x(n)}的短时平均过零率定义为: 式中,sgn为符号函数,即: 过零率有两类重要的应用:第一,用于粗略地描述信号的频谱特性;第二,用于判别清音和浊音、有话和无话。从上面提到的定义出发计算过零率容易受低频干扰,特别是50Hz交流干扰的影响。解决这个问题的办法,一个是做高通滤波器或带通滤波,减小随机噪声的影响;另一个有效方法是对上述定义做一点修改,设一个门限T,将过零率的含义修改为跨过正负门限。 于是,有定义: 3、检测方法 利用过零率检测清音,用短时能量检测浊音,两者配合。首先为短时能量和过零率分别确定两个门限,一个是较低的门限数值较小,对信号的变化比较敏感,很容易超过;另一个是比较高的门限,数值较大。低门限被超过未必是语音的开始,有可能是很短的噪声引起的,高门限被超过并且接下来的自定义时间段内的语音超过低门限,意味着信号开始。 此时整个端点检测可分为四段:静音段、过渡段、语音段、结束。实验时使用一个变量表示当前状态。静音段,如果能量或过零率超过低门限,就开始标记起始点,进入过渡段。过渡段当两个参数值都回落到低门限以下,就将当前状态

短时过零率和短时能量

帧和加窗的概念 1.短时分析将语音流分为一段一段来处理,每一段称为一“帧”; 2.帧长:10~30ms,20ms常见;(帧率)帧移:0~1/2帧长,帧与帧之间的平滑过度; 3.为了减少语音帧的截断效应,需要加窗处理; 将具有不连续点的周期函数(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点。当选取的项数很大时,该峰起值趋于一个常数,大约等于总跳变值的9%。这种现象称为截断效应,又叫吉布斯效应。 矩形窗、Hamming、Hann等 窗函数及其比较 三种窗函数都有低通特性,通过分析三种窗的频率响应幅度特性可以发现: 矩形窗的主瓣宽度最小,旁瓣高度最高,会导致泄露现象,汉明窗的主瓣最宽,旁瓣高度最低,可以有效的克服泄露现象,具有更平滑的低通特性,应用更广泛。 短时平均能量的主要用途 (1)可以从语音中区别浊音来,因为浊音时短时平均能量的值要比清音时短时平均能量的值大很多; (2)可以用来区别声母和韵母的分界、无声和有声的分界等。 短时过零率 短时过零率可以看作信号频率的简单度量 (1)过零就是指信号通过零值。过零率就是每秒内信号值通过零值得次数。(2)对于离散时间序列,过零则是指序列取样值改变符号,过零率则是每个样本的改变符号的次数。对于语音信号,则是指在一帧语音中语音信号波形穿过横轴(零电平)的次数。可以用相邻两个取样改变符号的次数来计算。 应用于语音信号分析中 (1)发浊音时,声带振动,因而声门激励是以此音调频率为基频来使声道共振;

尽管有若干个共振峰,但其能量的分布集中于低于3KHz的频率范围内。 (2)发清音时声带不振动,声道某部分阻塞产生类白噪声激励,通过声道后其能量集中在比浊音时更高的频率范围内。 (3)浊音时能量集中于较低频率段内,具有较低的过零率,而清音时能量集中于较高频率段内,具有较高的过零率。 (4)短时平均能量和短时平均过零率两个参数,也都可以用于语音识别中。主要用于识别无声段和语音段的起点和终点的位置。 (5)在背景噪声比较小的时候用平均能量来识别比较有效,在背景噪声比较大的时候用平均过零率来识别比较有效,但是通常情况是两个参数联合进行识别。 浊音、清音、无声的短时特性 S(无声)U(清音)V(浊音)三种情况下短时平均幅度条件概率密度的示意图。可以看出,浊音的短时平均幅度最大,无声的短时平均幅度最小。 清音的短时过零率最大,无声居中,浊音的短时过零率最小。 语音信号短时能量和过零率的特征 语音一般分为无声段,清音段和浊音段。一般把浊音认为是一个以基音周期为周期的斜三角脉冲串,把清音模拟成随机白噪声。由于语音信号是一个非平稳态过程,不能用处理平稳信号的信号处理技术对其进行分析处理。但由于语音信号本身的特点,在10~30ms的短时间范围内,其特性可以看作是一个准稳态过程,即具有短时性,因此采用短时能量和过零率来对语音进行端点检测是可行的。 语音和噪声的区别可以体现在他们的能量上,语音段的能量比噪声段的能量大,如果环境噪声和系统输入的噪声比较小,只要计算输入信号的短时能量就能够把语音段和噪声背景区分开,除此之外,用基于能量的算法来检测浊音通常效果也是比较理想的,因为浊音的能量值比清音大得多,可以判断浊音和清音之间过渡的时刻[3],但对清音来说,效果不是很好,因此还需要借助短时过零率来表征。短时能量可以近似为互补的情况,短时能量大的地方过零率小,短时能量小的地方过零率较大。 基于短时能量和过零率的检测方法 尽管基于短时能量和过零率的检测方法各有其优缺点,但是若将这两种基本方法相结合起来使用也可以实现对语音信号可靠的端点检测。无声段的短时能量为零,清音段的短时能量又比浊音段的短时能量大,而在过零率方面,理想的情况是无声段的过零率为零,浊音段的过零率比清音段的过零率要大的多,因此,假设有一段语音,如果某部分短时能量和过零率都为零或者为很小的值,就可以认为这部分为无声段,如果该部分语音短时能量很大但是过零率很小,则认为该部分语音为浊音段,如果该部分短时能量很小但是过零率很大,则认为该部分语音为清音段。正如前面提到,语音信号具有短时性,因此在对语音信号进行分析时,需要将语音信号以30ms为一段分为若干帧来进行分析,则两帧起始点之间的间隔为10ms。

语音短时平均能量

太原理工大学 语音信号处理课程实验报告 专业班级 学号 姓名 指导教师

实验名称 语音短时平均能量 同组人 专业班级 学号 姓名 成绩 一、实验目的: 1.熟悉Matlab 基本程序的运用。 2.充分理解取不同窗长时的语音短时平均能量的变化情况。 3.熟悉Matlab 编程语言在语音信号处理中的作用。 4.能够实现程序的重新编制。 二、实验原理: 定义n 时刻某语音信号的短时平均能量n E 为: ∑∑--=+∞-∞=-=-=n N n m m n m n w m x m n w m x E )1(22)]()([)]()([ 式中N 为窗长,可见短时平均能量为为一帧样点值的甲醛平方和。特殊地,当窗函数为矩形窗时,有 ∑--==n N n m n m x E )1(2)( 三、实验要求: 1.实验前自己用Cool Edit 音频编辑软件录制声音“我到北京去”,并把它保存为.txt 文件。 2.编程实现不同矩形窗长N=50、100、200、800的短时平均能量。 3.用Matlab 画出不同窗长的短时平均能量的图形。 4.写出实验报告,分析实验结果。 四、实验难点: 对采集到的语音样点进行分帧。 五、实验条件: 计算机 Matlab 软件 ,2学时 六、实验步骤 1、用Cooledit 读入语音“我到北京去”。设置采样率为8kHz ,16位,单声道。 … … …… …… ………………… …装 …… …… …… …… … …… …… …… 订… …… ……………………………… …线 …… …… …… ……………………… ……………………………………装……

2、将读入的语音wav 文件保存为“我到北京去.txt ”文件。 3、把保存的文件“我到北京去.txt ”读入Matlab 。 4、对采集到得语音样点值进行分帧。 5、对照取不同矩形窗N 的短时平均能量,画出图形。取不同窗长N 时的短时能量对照程序 七、实验源程序及结果图 x=wavread(' .wav'); %x=fscanf(fid,'% f'); %fclose(fid); s=fra(50,25,x) s2=s.^2; energy=sum(s2,2) subplot(2,2,1) plot(energy); xlabel('帧数') ylabel('短时能量 E') legend('N=50') %axis({0,1500,0,10*10^5}) s=fra(100,50,x) s2=s.^2; energy=sum(s2,2) subplot(2,2,2) plot(energy); xlabel('帧数') ylabel('短时能量 E') legend('N=100') … … …………………………… …装 …… …… …… …… …………………订………… …… …… …… …… …… … …线 …… …… …… …… …………………

相关文档