实验一语音信号端点检测最终报告_第1页
实验一语音信号端点检测最终报告_第2页
实验一语音信号端点检测最终报告_第3页
实验一语音信号端点检测最终报告_第4页
实验一语音信号端点检测最终报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一语音信号端点检测一、实验目的学会MATLAB的使用,掌握MATLAB勺程序设计方法;掌握语音处理的基本概念、基本理论和基本方法;.掌握基于MATLAB编程实现带噪语音信号端点检测;.学会用MATLAB寸信号进行分析和处理。5.学会利用短时过零率和短时能量,对语音信号的端点进行检测。二、实验仪器设备及软件HPD538、MATLAB三、实验原理端点检测是语音信号处理过程中非常重要的一步,它的准确性直接影响到语音信号处理的速度和结果。本次实验利用短时过零率和短时能量相结合的语音端点检测算法利用短时过零率来检测清音,用短时能量来检测浊音,两者相配合便实现了信号信噪比较大情况下的端点检测。算法对于

2、输入信号的检测过程可分为短时能量检测和短时过零率检测两个部分。算法以短时能量检测为主,短时过零率检测为辅。根据语音的统计特性,可以把语音段分为清音、浊音以及静音(包括背景噪声)三种。在本算法中,短时能量检测可以较好地区分出浊音和静音。对于清音,由于其能量较小,在短时能量检测中会因为低于能量门限而被误判为静音;短时过零率则可以从语音中区分出静音和清音。将两种检测结合起来,就可以检测出语音段(清音和浊音)及静音段1、短时能量计算定义n时刻某语言信号的短时平均能量En为::n-2-2En=x(m)w(n_m)x(m)w(n_m)二:m.(N-1)式中N为窗长,可见短时平均能量为一帧样点值的平方和。特

3、殊地,当窗函数为n矩形窗时,有En=7x2(m)m.(N)2、短时过零率过零就是指信号通过零值。过零率就是每秒内信号值通过零值的次数。对于离散时间序列,过零则是指序列取样值改变符号,过零率则是每个样本的改变符号的次数。对于语音信号,则是指在一帧语音中语音信号波形穿过横轴(零电平)的次数。可以用相邻两个取样改变符号的次数来计算。如果窗的起点是n=0,短时过零率Z为波形穿过横轴(零电平)的次数N丄Zo|Sgn(Sw(n)-Sgn(Sw(n-1)|n-0sgn(x)1,x_0-1,x:0短时过零可以看作信号频率的简单度量浊音的短时平均幅度最大,无声的短时平均幅度最小,清音的短时过零率最大,无声居中,

4、浊音的短时过零率最小。3、短时自相关函数N上Rw(k)-sw(n)sw(nk)nz0是偶函数;s(n)是周期的,那么R(k)也是周期的;可用于基音周期估计和线性预测分析4、判断语音信号的起点和终点利用短时平均幅度和短时过零率可以判断语音信号的起点和终点。语音端点检测方法可采用测试信号的短时能量或短时对数能量、联合过零率等特征参数,并采用双门限判定法来检测语音端点,即利用过零率检测清音,用短时能量检测浊音,两者配合。首先为短时能量和过零率分别确定两个门限,一个是较低的门限数值较小,对信号的变化比较敏感,很容易超过;另一个是比较高的门限,数值较大。低门限被超过未必是语音的开始,有可能是很短的噪声引

5、起的,高门限被超过并且接下来的自定义时间段内的语音。四、实验步骤及程序实验步骤:1、取一段录音作为音频样本。2、利用公式分别编程计算这段语音信号的短时能量和短时过零率,然后分别画出它们的曲线。3、调整能量门限。4、进行幅度归一化并设置帧长、短时能量阈值、过零率阈值等参数。5、编写程序实现语音端点检测。6、最后得到语音端点检测图像。语音信号的端点检测程序流程图:输入语音信号幅度归一化输出样本端点检测图像x,fs,nbits=wavread(x=x/max(abs(x);%参数设置%帧长%未重叠部分图1.1语音信号的端点检测程序流程图语音信号的端点检测实验源程序:1.wav);%语音信号的端点检测

6、matlab实现%幅度归一化到-1,1FrameLen=256;inc=90;amp1=10;amp2=2;zcr1=10;%短时能量阈值%过零率阈值zcr2=5;else%语音将结束minsilenee=6;minlen=15;status=0;count=0;silenee=0;%用无声的长度来判断语音是否结束%判断是语音的最小长度%记录语音段的状态%语音序列的长度%无声的长度%计算过零率tmpl=enframe(x(1:end-1),FrameLen,inc);tmp2=enframe(x(2:end),FrameLen,inc);signs=(tmp1.*tmp2)0.02;zcr=s

7、um(signs.*diffs,2);else%语音将结束else%语音将结束%计算短时能量amp=sum(abs(enframe(filter(12);%调整能量门限amp1=min(amp1,max(amp)/4);amp2=min(amp2,max(amp)/8);%开始端点检测forn=1:length(zcr)goto=0;switchstatuscase0,1ifamp(n)amp1x1=max(n-count-1,1);status=2;silenee=0;-0.9375,1,x),FrameLen,%0=静音,1=可能开始%确信进入语音段%记录语音段的起始点count=coun

8、t+1;elseifamp(n)amp2|zcr(n)zcr2%可能处于语音status=1;count=count+1;else%静音状态inc).A2,status=0;count=0;endcase2,ifamp(n)amp2|zcr(n)zcr2%2=语音段%保持在语音段count=count+1;silenee=silence+1;ifsileneeminsileneecount=count+1;elseifcountminlenstatus=0;silenee=0;count=0;elsestatus=3;endendcase3,break;endendcount=count-si

9、lence/2;x2=x1+count-1;subplot(3,1,1)plot(x)axis(1length(x)-11)xlabel(帧数);ylabel(Speechline(x1*incx1*inc,-11,line(x2*incx2*inc,-11,subplot(3,1,2)plot(amp);axis(1length(amp)0max(amp)xlabel(帧数);ylabel(Energyline(x1x1,min(amp),max(amp),line(x2x2,min(amp),max(amp),subplot(3,1,3)plot(zcr);axis(1length(zcr

10、)0max(zcr)xlabel(帧数);ylabel(ZCR);line(x1x1,min(zcr),max(zcr),line(x2x2,min(zcr),max(zcr),%静音还不够长,尚未结束%语音长度太短,认为是噪声%语音结束%记录语音段结束点);Color,red);Color,red););Color,red);Color,red);Color,red);Color,red);五、实验结果与分析图1.2语音信号的端点检测实验结果输出图像(1)从图中可以明显看出,浊音的短时能量大、短时过零率低。清音的短时能量小、短时过零率高。(2)门限的选取对语音检测结果有很大影响。(3)仅仅根据能量判断是比较粗糙的,还需要根据过零率进行判断。因为清音和噪声的短时平均过零率比背景噪声的平均过零率要高出好几倍。六

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论