实验3语音信号的端点检测

实验3语音信号的端点检测

ID:36353762

大小:410.00 KB

页数:22页

时间:2019-05-09

实验3语音信号的端点检测_第1页
实验3语音信号的端点检测_第2页
实验3语音信号的端点检测_第3页
实验3语音信号的端点检测_第4页
实验3语音信号的端点检测_第5页
资源描述:

《实验3语音信号的端点检测》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验三语音信号的端点检测一、实验目的1、本次实验是设计性实验,鼓励学生充分发挥自己的创造性,灵活利用所学的理论知识,设计出自己的解决方案。2、熟悉并掌握语音端点检测技术。二、实验原理语音端点检测就是检测语音信号的起点和终点,因此也叫起止点识别。它是语音处理技术中的一个重要方面,其目标是要在一段输入信号中将语音信号同其它信号如背景噪声分离开来。在语音识别中,一个关键问题就是如何将语音信号精确地检测出来,为获得准确的识别提供前提。以过零率ZCR和能量E为特征的起止点算法的根据是背景噪声与语音的短时段ZCR及E

2、特征从统计看都有相当的区别。这里的E特征指的是能量类特征,用到的是该类特征中的短时段平均幅度M特征。过零率的定义为:在统计的短时段中,信号波形穿越零电平的次数。该方法的要点为:由于采集声音信号的最初的短时段为无语音段,仅有均匀分布的背景噪声信号。这样就可以用已知为静态的最初几帧(一般取帧)信号计算其过零率阈值IZCT及能量阈值ITL(低能量阈)和ITU(高能量阈)。接下来就可以用过零率阈值IZCT及能量阈值ITL(低能量阈)和ITU(高能量阈)来进行起点及止点的判别。先根据ITL、ITU算得一初始起点N1

3、。方法为从第帧11开始,逐次比较每帧的平均幅度,N1为平均幅度超过的ITL第一帧的帧号。但若后续帧的平均幅度在尚未超过之前ITU又降到ITL之下,则原N1不作为初始起点,改记下一个平均幅度超过了的帧的帧号为ITLN1,依此类推,在找到第一个平均幅度超过ITU的帧时停止比较。N1只是根据能量信息找到的起点,还未必是语音的精确起点。这是由于语音的起始段往往存在着能量很弱的清辅音,仅依靠能量很难把它们和无声区分开。但研究发现它们的过零率明显高于无声段,因此可以利用过零率这个参数来精确判断清辅音与无声区二者的分界

4、点。当N1确定后,从N1帧向N1-25帧搜索,依次比较各帧的过零率,若有3帧以上的ZCR≥IZCT,则将起点N1定为满足ZCR≥IZCT的最前帧的帧号,否则即以N1为起点。语音结束点N2的检测方法与检测起点相同,从后向前搜索,找第一个平均幅度低于ITL、且其前向帧的平均幅度在超出ITU前没有下降到ILT以下的帧的帧号,记为N2,随后根据过零率向N2+25帧搜索,若有3帧以上的ZCR≥IZCT,则将结束点N2定为满足ZCR≥IZCT的最后帧的帧号,否则即以N2作为结束点。三、实验要求要求通过所学语音信号处理

5、的知识,独立设计算法,实现对一段包含背景噪声且前后有一段空白的语音信号进行端点检测,找出语音的真实起点和终点。四、实现方法可先用麦克风录制一段语音,然后对语音加窗分帧,并利用语音增强技术最大限度地滤除背景噪声;对加窗后的语音信号求其短时平均幅度函数和短时平均过零率,然后设定这两种参数的阈值,最终在整段语音内通过两种参数与各自的阈值比较找出语音的真实起点和终点。五、报告要求1、实验目的及原理说明;2、详细的算法说明;3、实验的具体实施方案;4、实验程序清单及实验结果;5、实验结果分析。6、参考文献(3-4本

6、参考资料)例:对whut.wav声音文件进行端点检测%声音读取[x,fs]=wavread('c:whut.wav');x=x(20000:length(x));x=x';%幅度归一化到[-1,1]x=double(x);x=x/max(abs(x));%常数设置FrameLen=240;FrameInc=80;amp1=8;amp2=1;zcr1=10;zcr2=5;maxsilence=8;%8*10ms=80msminlen=15;%15*10ms=150msstatus=0;count=0;si

7、lence=0;%计算过零率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);%计算短时能量amp=sum(abs(enframe(filter([1-0.9375],1,x),FrameLen,FrameInc)),2);%调整能量门限amp1=min(

8、amp1,max(amp)/4);amp2=min(amp2,max(amp)/20);%开始端点检测x1=0;x2=0;forn=1:length(zcr)goto=0;switchstatuscase{0,1}%0=静音,1=可能开始ifamp(n)>amp1%确信进入语音段x1=max(n-count-1,1);status=2;silence=0;count=count+1;elseifamp(n)>amp2

9、...%

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。