语音信号处理实验报告_第1页
语音信号处理实验报告_第2页
语音信号处理实验报告_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、语音信号处理实验报告 语音信号实验报告 homework1 语音信号的时域处理 实验内容简介: (1)采集一段语音信号,采样率为8khz,量化精度为16比特线性码; (2)分析帧长30ms(或10ms50ms); (3)利用上述公式分别计算这段语音信号的短时能量、短时平均幅度、短时过零率曲 线; (4)利用(3)中的结果画出短时零能比曲线;(零能比: 即同一时间段内的过零率和 能量的比值) (5)根据上述结果判断找出其中的一帧浊音信号和一帧清音信号,分别计算他们的短 时自相关函数和平均幅度差函数; (6)根据(5)中的结果,分析浊音段语音的基音周期。 编写程序完成上述计算 实验步骤: (1)

2、(2) 用cooledit录了一段音,是我自己说的。采样率为8khz,量化精度为16比特线性码。 利用讲义中给定的公式分别编程计算这段语音信号的短时能量、短时平均幅 度、短时过零率,然后分别画出它们的曲线; (3) 然后画出短时零能比曲线。 (4) 根据上述结果判断找出其中的一帧浊音信号和一帧清音信号。判断依据是, 浊音:短时能量大、短时平均幅度大、短时过零率低;清音:短时能量小、短时平均幅度小、短时过零率高。浊音,取13270-13510个点,清音,取12120-12360个点。分别计算他们的短时自相关函数和平均幅度差函数; (5) 根据图形,分析浊音段语音的基音周期。 实验结论分析: (1

3、) 从图中明显可以看出,浊音信号的具有明显的周期性,其自相关函数和平均幅度差 函数也表现出周期性。清音信号稍微差一点,但不是很明显,主要是由于清音信号的位置找的不是很好。 (2) 浊音:短时能量大、短时平均幅度大、短时过零率低;清音:短时能量小、短时平 均幅度小、短时过零率高。 (3) 基音提取消除共振峰的影响。从画出的图形中间可以看出,没有加滤波器的声音 信号处理后共振峰的影响很大。但是加一个60500hz的带通滤波器,利用滤波后的信号进行基因估计,这样可除去大部分共振峰的影响,自相关函数和短时平均幅度差函数具有更尖锐地峰值,有利于判决地准确性。 (4) 我开始试着用matlab编一个滤波器

4、,但是有点麻烦,最后我直接用cooledit提供的 功能直接滤波,方便快速。滤波后的语音信号为 jiachuanghou.wav (5) 画出的波形如下图所示: 2 把图形放大后,可以看出,我的基音频率是 1000/(0.125*54)=148hz。 实验心得和体会:通过这次实验,我对理论的理解更加深入了,通过自己动手,实际 得出了自己的基音频率,觉得很兴奋。实验中,还学会了cooledit的不少功能,对matlab的应用也更加熟练了。总的说来,这次实验的内容很简单,因为所有的公式都已经给出,分析的方法都有了,自己要做的仅仅只是把它们转化成计算机语言。 附录:源程序 n=240 y=wavre

5、ad(jiachuanghou,1 18000); l=length(y)0秒,每秒8000个点,一共240000个点 ll=length(y)/n %一共 1000帧 figure(1) 3 set(1,position,10,35,350,650) %短时能量 em=zeros(1,(ll-1)*240); for ii=1:(ll-1)*240, temp=y(ii:ii+240); em(ii)=sum(temp.*temp); end subplot(4,1,1) jj=1:(ll-1)*240; plot(jj, em,b); grid % axis(0,(ll-1)*240,0,

6、0.6) % axis(12000,16000,0,0.06) %短时平均幅度mn=sum(abs(y)/n mn=zeros(1,(ll-1)*240); for ii=1:(ll-1)*240, temp=y(ii:ii+240); mn(ii)=sum(abs(temp)/n; end figure(1) subplot(4,1,2) jj=1:(ll-1)*240; plot(jj, mn,b); grid % axis(12000,16000,0,0.015) %短时过零率 zn=zeros(1,(ll-1)*240); for ii=2:(ll-1)*240, temp1=sign

7、(y(ii:ii+240); temp=sign(y(ii-1:ii+240-1); zn(ii)=sum(abs(temp1-temp); end figure(1) subplot(4,1,3) jj=1:(ll-1)*240; plot(jj, zn,b); grid % axis(12000,16000,0,60) %零能比曲线 4 figure(1) subplot(4,1,4) jj=1:(ll-1)*240; plot(jj, zn./em,b); grid %axis(12000,16000,0,3*10) % % wn=60/8000 ,500/8000 % n=1:240;

8、 % b = fir1(239,wn,bandpass); %浊音,取13270-13510个点 %短时自相关函数 temp=y(13271:13510); % %temp2=reshape(temp,1,240); %temp=temp2.*b; rn1=zeros(1,240); for nn=1:240, for ii=1:240-nn, rn1(nn) =rn1(nn)+ temp(ii)*temp(nn+ii); end end figure(2) set(2,position,400,35,350,650) subplot(4,1,1) jj=1:240; plot(jj, rn1

9、,b); grid %axis(9,50,-0.01,0.02) %短时平均幅度差函数 yn1=zeros(1,240); for nn=1:240, for ii=1:240-nn, yn1(nn) =yn1(nn)+ abs(temp(ii)-temp(nn+ii); end end figure(2) 5 subplot(4,1,2) jj=1:240; plot(jj, yn1,b); grid %清音,取12120-12360个点 %短时自相关函数 temp=y(12121:12360); % %temp2=reshape(temp,1,240); %temp=temp2.*b; rn2=zeros(1,240); for nn=1:240, for ii=1:240-nn, rn2(nn) =rn2(nn)+ temp(ii)*temp(nn+ii); end end figure(2) subplot(4,1,3) jj=1:240; plot(jj, rn2,b); grid %axis(9,50,-0.01,0.02) %短时平均幅度差函数 yn2=zer

温馨提示

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

评论

0/150

提交评论