语音信号处理 实验报告Word格式.docx
《语音信号处理 实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《语音信号处理 实验报告Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
程序1.
a=wavread('
D:
\II.wav'
);
%读取语音信号的数据,赋给变量x1,这里的文件的全路径和文件名由个人设计
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)>
b(i+1)=1;
b(i+1)=-1;
w(i)=abs(b(i+1)-b(i));
end%求出每相邻两点符号的差值的绝对值
k=1;
j=0;
while(k+N-1)<
n
Zm(k)=0;
fori=0:
N-1;
Zm(k)=Zm(k)+w(k+i);
j=j+1;
k=k+160;
%每次移动半个窗
forw=1:
j
Q(w)=Zm(160*(w-1)+1)/640;
%短时平均过零率
subplot(3,1,3),plot(Q);
实验结果打印粘贴到右侧:
程序2:
fs=22050;
%语音信号采样频率为22050
x1=wavread('
D:
%读取语音信号的数据,赋给变量x1
sound(x1,22050);
%播放语音信号
f=fs*(0:
511)/1024;
t=0:
1/22050:
(size(x1)-1)/22050;
%将所加噪声信号的点数调整到与原始信号相同
Au=0.03;
d=[Au*cos(2*pi*5000*t)]'
;
%噪声为5kHz的余弦信号
x2=x1+d;
sound(x2,22050);
%播放加噪声后的语音信号
y2=fft(x2,1024);
%对信号做1024点FFT变换
figure
(1)
subplot(2,1,1);
plot(x1)%做原始语音信号的时域图形
title('
原始语音信号'
xlabel('
timen'
ylabel('
幅值n'
subplot(2,1,2);
plot(t,x2)
加噪后的信号'
figure
(2)
plot(f,abs(x1(1:
512)));
原始语音信号频谱'
Hz'
幅值'
plot(f,abs(y2(1:
加噪后的信号频谱'
四、实验分析
加入噪声后音频文件可辨性下降,波形的平缓,频谱图上看,能量大部分集中在2000HZz到4000Hz之间。
五、实验总结
通过这次实验,我学会了如何用M语言将WAV音频文件读入MATLAB软件,并对它们加噪处理,也了解了音频的频谱分析,联系课本知识与实验,加深对理论的理解。
实验二:
语音信号的时域特征与频域特征
一、实验目的
使学生通过本实验观察语音信号在时域和频域的基本特征(语音波形、基音频率、过零数、共振峰),验证教材中关于语音信号在时域和频域的基本特征的概念与论述;
通过采集语音数据与在实验中记录每个元音的基音周期、过零数、共振峰等环节熟悉这些语音的基本特征,为今后深入学习语音信号处理奠定基础。
二、实验内容
学习音频编辑软件CoolEdit的使用方法及语音文件的建立;
采集语音数据;
观察语音波形;
记录每个元音的基音周期(其倒数为基音频率)、过零数、共振峰;
观察语音频域特征;
分析不同元音的共振峰模式的特点(频率、相对振幅)。
三、实验原理
元音与辅音在发音方法有如下基本区别:
发元音时气流顺利通过声腔,声带颤动,形成的声波是周期性的;
发辅音时气流暂时被阻不能通过或只能勉强挤出去。
元音具有基音与共振峰结构,辅音则不具有这两者。
基音由声带振动频率产生,决定语音的音高、音调。
在语音波形中表现为准周期峰值。
共振峰是语音频谱上的强频区,表现为频谱上呈峰状。
共振峰由声腔形状的变化决定,不同的声腔形状有不同的固有频率,产生不同的共振峰模式。
每个元音有特定的共振峰模式。
四、实验方法与实验步骤
(一)音频编辑软件CoolEdit的使用方法及语音文件的建立
1点击桌面上“cooledit”图标,选不同项可激活cooledit菜单中不同功能。
②点击“file”菜单中的“new”,设抽样频率为8KHz,单声道“mono”,“8bit”。
2点击“Record”录音,将录音存成“.wav”文件。
3点击菜单中“View”中的“SpectralView”可观看语谱图。
4点击菜单中“Analyze”中的“FrequenceAnalysis”可分析频谱。
5点击菜单中“Effects”中的“Amplitude”可改变幅度。
其它菜单功能可通过点击试验熟悉。
(二)观察语音时域特征
在E盘或D盘建立实验者本人的文件夹,然后做以下实验。
1发【a】、【i】、【e】、【u】这四个元音,由麦克风采集语音数据,分别存成“a.wav”、
“i.wav”、“e.wav”、“u.wav”文件,存在本人的文件夹中。
2利用CoolEdit打开并观察以上语音数据的波形。
③元音波形中的准周期结构与声带振动频率对应,其周期称为“基音周期”(其倒数为基音频率),利用CoolEdit观察元音的波形,记录每个元音的前部、中部和后部的各一个基音周期。
④记录每个元音的任意一个基音周期中的过零数。
A
10个
E
5个
I
10个
U
6个
⑤共振峰是语音频谱的峰状区域,利用CoolEdit观察上述每个元音的频谱,记录每个元音的前三个共振峰的数值。
前面图用praat5332_win32,后面图用的是CoolEditPro
A69215872538HZ
E34816892637HZ
I70614672497HZ
U41116152461HZ
表格:
钟敏华
基音频率
过零数
共振峰(HZ)
A
166
10
692
1587
2538
E
5
348
1689
2637
I
167
706
1467
2497
143
6
411
1615
2461
(三)观察语音频域特征
对你发的【a】、【i】、【e】、【u】这四个元音中每一个元音,分别选取稳定段的256个抽样,利用Matlab的FFT计算其频谱,并利用subplot命令以波形和频谱对应的形式画出图形。
部分参考程序如下
y=wavread('
D:
Ewav'
t=1:
length(y)
y2=wavread('
D.Ewav'
[40004512]);
y2F=fft(y2);
subplot(3,1,1)
plot(t,y,'
-b'
4000,[0.2:
0.005:
0.4],'
-r'
4512,[0.2:
)
subplot(3,1,2)
plot(y2);
gridon
subplot(3,1,3)
plot(log(abs(y2F)));
U
五、思考题
(1)共振峰与语音波形有什么相关之处?
共振峰是语音频谱上的加强频区,表现为频谱上呈峰状。
共振峰由声腔形状的变化决定,不同的声腔形状有不同的固有频率,产生不同的共振峰模式,故每个元音有特定的共振峰模式,而且不同的人因声带不同也会产生不同的共振峰。
(2)基音周期与音调的高低有什么对应关系?
因此,音调的高低决定了基音频率,从而决定了基音周期大小。
六、实验体会
通过此次语音信号的时域特征与频域特征特别是元音字母的分析实验,使我对音频分析工具CoolEdit和有了最初步应用有了一定的认识和使用经验,同时也加深我对语音信号的时域特征与频域特征这方面的理论知识理解。
遇到的问题是CoolEdit统计的共振峰频率不对,在老师和同学的帮助下,使用praat5332_win32,问题能够逐一得到解决,顺利完成实验,还有我发现有时候M程序在文件模式下不能得出结果,要在MATLAB势利窗口下才能正确运行。
总之,这次实验让我受益良多。