《数字语音处理》实验指导书.docx

上传人:b****5 文档编号:2876013 上传时间:2022-11-16 格式:DOCX 页数:22 大小:101.80KB
下载 相关 举报
《数字语音处理》实验指导书.docx_第1页
第1页 / 共22页
《数字语音处理》实验指导书.docx_第2页
第2页 / 共22页
《数字语音处理》实验指导书.docx_第3页
第3页 / 共22页
《数字语音处理》实验指导书.docx_第4页
第4页 / 共22页
《数字语音处理》实验指导书.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

《数字语音处理》实验指导书.docx

《《数字语音处理》实验指导书.docx》由会员分享,可在线阅读,更多相关《《数字语音处理》实验指导书.docx(22页珍藏版)》请在冰豆网上搜索。

《数字语音处理》实验指导书.docx

《数字语音处理》实验指导书

 

《数字语音处理》

实验指导书

 

主编王都生

 

大连民族大学信息与通信工程学院

2015年10月

目录

 

实验一汉明窗加窗的时域波形以及频谱的显示...........................................3 

实验二 WAV格式文件的录制及其短时能量、短时平均幅度分析.............5 

实验三语音端点检测......................................................................................7 

实验四语音信号的倒谱的编程实现.............................................................11 

实验五基于短时自相关函数的基音周期估计.............................................15

实验六基于短时自相关函数的基音周期估计续.........................................19 

实验七声道冲激响应及激励信号的分离实现.............................................23 

实验一汉明窗加窗的时域波形以及频谱的显示

一、实验环境

1.WindowsXP,Windows98,Windows2000都行。

2.Matlab

二、实验目的

1.掌握加窗时域波形显示程序的编写。

2.了解清音和浊音的时域波形特征。

3.了解清音和浊音的频谱特征。

三、实验原理

1.窗函数

a汉明窗函数

b矩形窗函数

2.给输入语音信号加窗

3. MATLAB 程序设计 

分为两步,对于浊音的时域波形显示及其频谱,对于清音的时域波形及其频谱的计算和显示。

 

其中,语音信号必须放在该程序所在的文件夹下。

 

%汉明窗的短时傅里叶变换

 [y,Fs,bits]=wavread('1.wav'); %读出信号,采样率和采样位数。

 y=y(:

1); %这里假设声音是双声道,只取单声道作分析。

 y=y(4000:

4400);%分别这里选择浊音信号和清音信号分别进行讨论。

y=y.*hamming(length(y)); 

figure; 

subplot(2,1,1); 

plot(y); 

sigLength=length(y); 

Y=zeros(Fs,1); 

Y = 20*log10(abs(fft(y,sigLength)))

subplot(2,1,2)

plot(Y);%一点对应1HZ

xlabel('Frequency(Hz)');

ylabel('20lg|Xn(ejw)|');

四、实验步骤

1.汉明窗加窗的时域波形及其短时频谱显示的源代码。

①录音wavrecord(N,Fs,CH)

②读语音wavread(“sound.wav”)

③截取清浊音

④加窗y=y1.*hamming(length(y1))

2.利用编写的源代码分别显示浊音和清音的时域波形及频谱。

求频谱20lg|xn(ejw)|

五、实验报告要求

总结语音信号的频谱特征,并指出加矩形窗和汉明窗的浊音信号、清音信号的频谱特征。

实验二WAV格式文件的录制及其短时能量、短时平均幅度分析

一、实验环境

1、WindowsXP,Windows98,Windows2000都行。

2、Matlab

二、实验目的

1、掌握利用MATLAB录制WAV格式的语音文件编程。

2、掌握清音和浊音的短时能量和短时平均幅度计算的编程。

3、了解清音和浊音在不同的窗函数下的短时能量和短时平均幅度的特点。

4、了解在不同窗长的情况下,语音信号的短时能量及平均幅度的变化的规律。

三、实验原理

1、短时能量定义为:

其中,N为窗长。

可见,短时能量为一帧样点值的加权平方和。

若令:

短时能量可以理解为:

语音信号各个样点值平方,然后样点通过一个冲激响应为h(n)的滤波器,输出为由短时能量构成的时间序列。

因此,冲激响应h(n)的选择或者说窗函数的选择直接影响着短时能量的计算。

短时平均幅度函数Mn用来衡量语音幅度的变化,定义为:

2、MATLAB程序设计

a)利用MATLAB进行录音。

WAVRECORD利用WINDOWS的音频输入设备进行录音。

格式:

WAVRECORD(N,FS,CH)其中N为产生语音序列的长度,FS为选择的采样频率,CH为输入声道数。

标准的采样频率为8000,11025,22050,and44100Hz.CH是1或者2(单声道或双声道).采样序列的长度为N×CH.如没特殊说明,FS=11025Hz,andCH=1.

b)短时能量及短时平均幅度的参考程序:

短时能量的参考程序:

a=wavread('10.wav');

subplot(6,1,1);

plot(a);

N=32;

fori=2:

6

h=linspace(1,1,(i1)*N);%形成一个矩形窗,长度为N

En=conv(h,a.*a);%求卷积得其短时能量函数En

subplot(6,1,i);

plot(En);

if(i==2)

legend('N=32');

elseif(i==3)

legend('N=64');

elseif(i==4)

legend('N=128');

elseif(i==5)

legend('N=256');

elseif(i==6)

legend('N=512');

end

end

%加hamming窗的短时能量函数:

%把h=linspace(1,1,(i1)*N);

%改为h1=hamming((i1)*N);

短时平均幅度的参考程序:

%加矩形窗的短时平均幅度:

a=wavread('10.wav');

subplot(6,1,1),

plot(a);

N=32;

fori=2:

6

h=linspace(1,1,(i1)*N);%形成一个矩形窗,长度为N

En=conv(h,abs(a));%求卷积得其短时能量函数En

subplot(6,1,i),plot(En);

if(i==2)

legend('N=32');

elseif(i==3)

legend('N=64');

elseif(i==4)

legend('N=128');

elseif(i==5)

legend('N=256');

elseif(i==6)

legend('N=512');

end

end

四、实验步骤

1、分别在矩形窗和汉明窗加窗时的时域波形的程序。

2、编写计算短时能量及短时平均幅度的程序。

五、实验报告要求

修改程序,不用滤波器卷积的方法实现而用一帧样点值加权平方和实现。

实验三语音端点检测

一、实验环境

1、WindowsXP,Windows98,Windows2000都行。

2、Matlab

二、实验目的

1、掌握短时能量计算的编程及了解清、浊音波形特点。

2、掌握短时平均过零率计算的编程及了解清、浊音波形特点。

3、掌握语音端点检测的判断方法。

三、实验原理

1、短时能量定义为:

其中,N为窗长。

可见,短时能量为一帧样点值的加权平方和。

若令:

短时能量可以理解为:

语音信号各个样点值平方,然后样点通过一个冲激响应为h(n)的滤波器,输出为由短时能量构成的时间序列。

因此,冲激响应h(n)的选择或者说窗函数的选择直接影响着短时能量的计算。

2、短时平均过零率

在矩形窗条件下,短时平均过零率定义为:

短时平均过零率可以粗略估计语音的频谱特性。

由于高频率对应着高的过零率,低频率对应着低过零率,那么过零率与语音的清浊音特征就存在着对应关系。

一般经验结论是,清音和浊音的过零率分布大致为高斯分布,清音每10ms的短时平均过零次数的均值为49次,浊音每10ms的短时平均过零次数的均值为14次。

3、语音端点的判断

在语音端点检测中,可以采用多种特征参数综合判决的方法,如使用短时平均能量和短时平均过零率来进行检测。

由于语音一般都存在能量较高浊音段,因此考察语音的短时能量的轮廓可以设定一个较高的门限T1,使语音的起点和终点落在T1所确定的时间间隔AB之外。

然后根据背景噪声的平均能量确定—个门限较低的T2,并从A点往起点方向、从B点往终点方向搜索,分别找到与门限T2相交的两个点C、D。

这样我们就用双门限完成了第—级粗判。

第二级判决要利用短时平均过零率。

同样根据背景噪声的Zn可以设定一个较低的门限T3,从C点和D点分别向起点和终点方向搜索。

可以找到Zn与门限T3相交的两个点E、F。

这样就确定出了语音的端点E、F。

4、MATLAB程序设计

参考程序:

%短时过零率:

a=wavread('6.wav');

n=length(a);

N=320;

subplot(3,1,1);

plot(a);

h=linspace(1,1,N);%形成一个矩形窗,长度为N

En=conv(h,a.*a);%求卷积得其短时能量函数En

subplot(3,1,2);

plot(En);

fori=1:

n-1

ifa(i)>=0

b(i)=1;

else

b(i)=-1;

end

ifa(i+1)>=0

b(i+1)=1;

else

b(i+1)=1;

end

w(i)=abs(b(i+1)b(i));

end%求出每相邻两点符号的差值的绝对值k=1;j=0;

while(k+N1)

Zm(k)=0;

fori=0:

N1

Zm(k)=Zm(k)+w(k+i);

end

j=j+1;

k=k+160;%每次移动半个窗

end

forw=1:

j

Q(w)=Zm(160*(w1)+1)/640;%短时平均过零率

end

subplot(3,1,3),

plot(Q);

四、实验步骤

1、短时能量计算的编程。

2、短时平均过零率计算的编程。

3、判断语音的端点(起始点及终点)。

五、实验报告要求

1利用短时平均幅度代替En计算;

2修改程序是的Zn与En的样点值一一对应;

3将Zn与En的横轴用时间表示;

4实验报告上画出语音端点的判断过程。

实验五基于短时自相关函数的基音周期估计

一、实验环境:

1.WindowsXP,Windows98,Windows2000都行。

2.matlab.

3、耳机,话筒。

二、实验目的

1.编写计算短时自相关函数的程序。

2.从一段语音信号中求出该段语音信号的基音周期。

三、实验原理

1、基于短时自相关函数的基音周期估计原理

短时自相关函数在基音周期的整数倍位置存在较大的峰值。

如果找出第一个最大峰值的位置就可以估计出基音周期。

但由于共振峰的影响

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1