1、语音信号实验报告内蒙古工业大学信息工程学院实 验 报 告课程名称: 语音信号处理 实验名称: 语音信号采集与处理 实验类型: 验证性 综合性 设计性实验室名称: 信息学院机房 班级: 电子10-1班 学号:201080203002姓名: 王红霞 组别: 同组人: 成绩: 实验日期: 2013年6月21日 实验 语音信号采集与处理一、 实验目的、要求(1)掌握语音信号采集的方法(2)掌握一种语音信号基音周期提取方法(3)掌握短时过零率计算方法(4)了解Matlab的编程方法二、 实验原理基本概念:(a)短时过零率:短时内,信号跨越横轴的情况,对于连续信号,观察语音时域波形通过横轴的情况;对于离散
2、信号,相邻的采样值具有不同的代数符号,也就是样点改变符号的次数。对于语音信号,是宽带非平稳信号,应考察其短时平均过零率。其中sgn.为符号函数 短时平均过零的作用1.区分清/浊音: 浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。2.从背景噪声中找出是否有语音,以及语音的起点。(b)基音周期基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一
3、种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。 由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有
4、关的激励信号的信息并不容易。语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。基音周期变化范围大,从老年男性的50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。 尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、
5、倒谱法、SIFT、谱图法、小波法等等。三、 实验步骤(1)利用给出的清音和浊音语音信号进行短时能量仿真。(2)利用给出的清音和浊音语音信号计算短时过零率。(3)利用给出的清音和浊音语音信号,采用短时相关函数计算语音信号浊音基音周期。其中自相关函数表达式为: 四、实验结果及分析五、思考题1通过实验数据说明浊音和清音的平均能量及短时平均过零数有什么不同?2由仿真波形说明浊音和清音的自相关函数有什么不同?六、实验参考程序duanshnl=0;maxx=0;speech=zeros(1,500);x,fs,nbit=wavread(C:whxa.wav); maxx=max(x);speech(1:5
6、00)=x(1:500); duanshnl=speech(1:500)*speech(1:500);duanshnl=duanshnl/(maxx2)figure(1);plot(x(1:200);hold on1短时能量a duanshnl =91.0308 plot(x(1:200); plot(x(100:800)所以是浊音若将采样频率改为800时,波形不发生改变。因为能量不能凭空消失,它只能从一个地方转移到另一个地方,波形如下:duanshnl =91.0308 plot(x(1:800);若将采样点改为8000时,波形发生改变。采样点增加,波形变密。a2 duanshnl =43.
7、6081 plot(x(1:200);所以波形为浊音Bp 无f duanshnl =34.2189 plot(x(1:200);当采样点改为(200,800)时,f为浊音。duanshnl =34.2189 plot(x(200:800);所以波形为浊音noise duanshnl =1.2137 plot(x(1:200);所以波形为清音S duanshnl =209.6800 plot(x(1:200);所以波形为清音浊音具有周期性,清音具有非周期性2 短时过零率sp1=wavread(C:123a2.wav);sp=wavread(C:123s.wav);L=mean(sp);sp=sp
8、-L;L2=mean(sp1);sp1=sp1-L2;%以下程序计算短时过零率m1=0;m2=0;for i=1:500 if sp1(i)0 spp1(i)=1; else spp1(i)=-1; endendfor i=1:500 if sp(i)0 spp(i)=1; else spp(i)=-1; endendfor i=2:500 m1=m1+0.5*abs(spp1(i)-spp1(i-1); m2=m2+0.5*abs(spp(i)-spp(i-1); % m2 m1endplot(sp1(1:500),r);figure(1)hold onfigure(2)plot(sp(1:
9、500), b);sp1=wavread(C:whxa2.wav);sp=wavread(C:whxs.wav);波形如下:若修改为sp1=wavread(C:whxa.wav);sp=wavread(C:whxf.wav);波形如下:通过以上波形可以得出结论:蓝色为清音,红色为浊音。清音能量大,浊音能量小。区分清/浊音: 浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。3相关函数法计算基音周期R=zeros(1,1000);z,fs,nbit =wavread(C:whxa.wav); for i=1:1000 for j=1:601-1-i R(i)=R(i)+z(j)*
10、z(j+i); endendfigure(5);plot(R/14)hold onR=zeros(1,1000);z,fs,nbit =wavread(C:whxa2.wav); for i=1:1000 for j=1:601-1-i R(i)=R(i)+z(j)*z(j+i); endendfigure(6);plot(R/14)hold ona波形R=zeros(1,1000); for j=1:601-1-iA2波形R=zeros(1,1000); for j=1:601-1-iF波形R=zeros(1,1000); for j=1:601-1-inoise波形R=zeros(1,10
11、00); for j=1:601-1-is波形R=zeros(1,1000); for j=1:601-1-i结论:根据以上波形可知,此波形为浊音。基音周期为:(1/8000)*50=0.00625七 思考题解答1 通过实验数据说明浊音和清音的平均能量及短时平均过零数有什么不同?平均能量:是基于语音信号幅度随时间变化。清音段幅度小,其能量集中于高频段。浊音段幅度大,其能量集中于低频段。短时平均过零数:浊音平均过零率低,集中在低频端; 清音平均过零率高,集中在高频端。2由仿真波形说明浊音和清音的自相关函数有什么不同?短时自相关函数:浊音语音的自相关函数具有一定的周期性 清音语音的自相关函数不具有周期性,类似噪声。八 心得体会通过本次实验,掌握了语音信号采集的方法、语音信号基音周期提取方法、短时过零率计算方法以及了解Matlab的编程方法。我学到了很多的东西不仅巩固了我以前所学过的知识还让我学到很多在书本上所没有学到过的知识。同时进一步加深了对语音信号的了解和熟练对Matlab的使用,让我对语音信号处理这门课有了更加浓厚的兴趣。因为以前都是基于课本上所学的理论知识,然而通过这次实验之后才能真正理解其意义。同时进一步加强对Matlab的学习与研究对我今后的学习将会起到很大的帮助。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1