《数字语音处理》实验指导书文档格式.docx
- 文档编号:15787052
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:22
- 大小:101.80KB
《数字语音处理》实验指导书文档格式.docx
《《数字语音处理》实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《《数字语音处理》实验指导书文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
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)
N=64'
elseif(i==4)
N=128'
elseif(i==5)
N=256'
elseif(i==6)
N=512'
end
%加hamming窗的短时能量函数:
%把h=linspace(1,1,(i1)*N);
%改为h1=hamming((i1)*N);
短时平均幅度的参考程序:
%加矩形窗的短时平均幅度:
subplot(6,1,1),
N=32;
6
h=linspace(1,1,(i1)*N);%形成一个矩形窗,长度为N
En=conv(h,abs(a));%求卷积得其短时能量函数En
subplot(6,1,i),plot(En);
四、实验步骤
1、分别在矩形窗和汉明窗加窗时的时域波形的程序。
2、编写计算短时能量及短时平均幅度的程序。
修改程序,不用滤波器卷积的方法实现而用一帧样点值加权平方和实现。
实验三语音端点检测
1、掌握短时能量计算的编程及了解清、浊音波形特点。
2、掌握短时平均过零率计算的编程及了解清、浊音波形特点。
3、掌握语音端点检测的判断方法。
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程序设计
参考程序:
%短时过零率:
6.wav'
n=length(a);
N=320;
subplot(3,1,1);
h=linspace(1,1,N);%形成一个矩形窗,长度为N
En=conv(h,a.*a);%求卷积得其短时能量函数En
subplot(3,1,2);
fori=1:
n-1
ifa(i)>
=0
b(i)=1;
else
b(i)=-1;
ifa(i+1)>
b(i+1)=1;
b(i+1)=1;
w(i)=abs(b(i+1)b(i));
end%求出每相邻两点符号的差值的绝对值k=1;j=0;
while(k+N1)<
n
Zm(k)=0;
fori=0:
N1
Zm(k)=Zm(k)+w(k+i);
end
j=j+1;
k=k+160;%每次移动半个窗
forw=1:
j
Q(w)=Zm(160*(w1)+1)/640;%短时平均过零率
subplot(3,1,3),
plot(Q);
1、短时能量计算的编程。
2、短时平均过零率计算的编程。
3、判断语音的端点(起始点及终点)。
1利用短时平均幅度代替En计算;
2修改程序是的Zn与En的样点值一一对应;
3将Zn与En的横轴用时间表示;
4实验报告上画出语音端点的判断过程。
实验五基于短时自相关函数的基音周期估计
一、实验环境:
2.matlab.
3、耳机,话筒。
1.编写计算短时自相关函数的程序。
2.从一段语音信号中求出该段语音信号的基音周期。
1、基于短时自相关函数的基音周期估计原理
短时自相关函数在基音周期的整数倍位置存在较大的峰值。
如果找出第一个最大峰值的位置就可以估计出基音周期。
但由于共振峰的影响
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字语音处理 数字 语音 处理 实验 指导书