matlab编程实现语音信号分析

matlab编程实现语音信号分析

ID:15471189

大小:51.00 KB

页数:7页

时间:2018-08-03

matlab编程实现语音信号分析_第1页
matlab编程实现语音信号分析_第2页
matlab编程实现语音信号分析_第3页
matlab编程实现语音信号分析_第4页
matlab编程实现语音信号分析_第5页
资源描述:

《matlab编程实现语音信号分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一定时宽的语音信号,其能量的大小随时间有明显的变化。其中清音段(以清音为主要成份的语音段),其能量比浊音段小得多。短时过零数也可用于语音信号分析中,发浊音时,其语音能量约集中于3kHz以下,而发清音时,多数能量出现在较高频率上,可认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数,因而,对一短时语音段计算其短时平均能量及短时平均过零数,就可以较好地区分其中的清音段和浊音段,从而可判别句中清、浊音转变时刻,声母韵母的分界以及无声与有声的分界。这在语音识别中有重要意义。步骤(1)录了一段音,是我自己说的。采样率为8KHZ,量化精度为16比特线性码。(2)利用设计方

2、案中给定的公式分别编程计算这段语音信号的短时能量、短时平均幅度、短时过零率,然后分别画出它们的曲线;(3)然后画出短时零能比曲线。(4)根据上述结果判断找出其中的一帧浊音信号和一帧清音信号。判断依据是,浊音:短时能量大、短时平均幅度大、短时过零率低;清音:短时能量小、短时平均幅度小、短时过零率高。浊音,取13270--13510个点,清音,取12120--12360个点。分别计算他们的短时自相关函数和平均幅度差函数;(5)根据图形,分析浊音段语音的基音周期。结论与分析(1)从图中明显可以看出,浊音信号的具有明显的周期性,其自相关函数和平均幅度差函数也表现出周期性。清音信

3、号稍微差一点,但不是很明显,主要是由于清音信号的位置找的不是很好。(2)浊音:短时能量大、短时平均幅度大、短时过零率低;清音:短时能量小、短时平均幅度小、短时过零率高。(3)基音提取可直接利用短时自相关函数估计基音频率,其方法是:估算浊音段第一最大峰的位置,再利用抽样率计算基音频率,举例来说,若某一语音浊音段的第一最大峰值约为35个抽样点,设抽样频率为11.025KHZ,则基音频率为11025/35=315HZ。(4)画出的波形如下所示:图一从上到下分别表示:短时能量、短时平均幅度、短时过零率和零能比曲线,图二从上到下分别为浊音的短时自相关函数、短时平均幅度差函数和轻清

4、音的短时自相关函数、短时平均幅度差函数。图一图二六、附录源程序:N=240Y=wavread('C:UsersuserDesktophy.wav');L=length(Y)%30秒,每秒8000个点,一共240000个点LL=length(Y)/N%一共1000帧figure(1)set(1,'Position',[10,35,350,650])%短时能量Em=zeros(1,(LL-1)*240);forii=1:(LL-1)*240,temp=Y(ii:ii+240);Em(ii)=sum(temp.*temp);endsubplot(4,1,1)jj=[1

5、:(LL-1)*240];plot(jj,Em,'b');grid%axis([12000,16000,0.15,0.4])%短时平均幅度Mn=sum(abs(Y))/NMn=zeros(1,(LL-1)*240);forii=1:(LL-1)*240,temp=Y(ii:ii+240);Mn(ii)=sum(abs(temp))/N;endfigure(1)subplot(4,1,2)jj=[1:(LL-1)*240];plot(jj,Mn,'b');grid%axis([12000,16000,0.02,0.04])%短时过零率Zn=zeros(1,(LL-1)*2

6、40);forii=2:(LL-1)*240,temp1=sign(Y(ii:ii+240));temp=sign(Y(ii-1:ii+240-1));Zn(ii)=sum(abs(temp1-temp));endfigure(1)subplot(4,1,3)jj=[1:(LL-1)*240];plot(jj,Zn,'b');grid%axis([12000,16000,0,20])%零能比曲线figure(1)subplot(4,1,4)jj=[1:(LL-1)*240];plot(jj,Zn./Em,'b');grid%axis([12000,16000,0,100

7、])%%Wn=[60/8000,500/8000]%n=[1:240];%B=FIR1(239,Wn,'bandpass');%%%%%%浊音,取13270--13510个点%短时自相关函数temp=Y(13271:13510);%%wc1=0.0075;wc2=0.9625;%wn=[wc1/pi,wc2/pi];%h=fir1(239,wn,blackman(240));%h=reshape(h,240,1);%temp=temp.*abs(h);%%%%temp2=reshape(temp,1,240);%temp=temp2.*B

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

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

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