太原理工大学语音信号实验报告.docx
- 文档编号:3389649
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:16
- 大小:175.54KB
太原理工大学语音信号实验报告.docx
《太原理工大学语音信号实验报告.docx》由会员分享,可在线阅读,更多相关《太原理工大学语音信号实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
太原理工大学语音信号实验报告
太原理工大学现代科技学院
语音信号处理课程实验报告
……………………………………装………………………………………订…………………………………………线………………………………………
实验名称语音短时平均能量的实现同组人
专业班级学号姓名成绩
一、实验目的
1、熟悉Matlab基本程序的运用。
2、充分理解取不同窗长时的语音短时平均能量的变化情况。
3、熟悉Matlab编程语言在语音信号处理中的作用。
4、能够实现程序的重新编制。
二、实验要求
1、实验前自己用CoolEdit音频编辑软件录制声音“我到北京去”,并把它保存为.txt文件。
2、编程实现不同矩形窗长N=50、100、400、800的短时平均能量。
3、用Matlab画出不同窗长的短时平均能量的图形。
4、写出实验报告,分析实验结果。
三、实验步骤
1、用CoolEdit读入语音“我到北京去”。
设置采样率为8kHz,16位,单声道。
2、将读入的语音wav文件保存为txt文件。
3、把保存的文件speech.txt读入Matlab。
四、程序及运行成果
fid=fopen('zxq.txt','rt');
x=fscanf(fid,'%f');
fclose(fid);
s=fra(50,25,x)
s2=s.^2;
energy=sum(s2,2)
subplot(2,2,1)
plot(energy)
xlabel('帧数')
ylabel('短时能量E')
legend('N=50')
axis([0,1000,0,4*10^8])
s=fra(100,50,x)
s2=s.^2;
energy=sum(s2,2)
subplot(2,2,2)
plot(energy)
xlabel('帧数')
ylabel('短时能量E')
legend('N=100')
axis([0,500,0,8*10^8])
s=fra(400,200,x)
s2=s.^2;
……………………………………装………………………………………订…………………………………………线………………………………………
energy=sum(s2,2)
subplot(2,2,3)
plot(energy)
xlabel('帧数')
ylabel('短时能量E')
legend('N=400')
axis([0,150,0,3*10^9])
s=fra(800,400,x)
s2=s.^2;
energy=sum(s2,2)
subplot(2,2,4)
plot(energy)
xlabel('帧数')
ylabel('短时能量E')
legend('N=800')
axis([0,75,0,6*10^9])
五、思考题
……………………………………装………………………………………订…………………………………………线………………………………………
1、通过改动不同的窗长和窗移,观看短时平均能量的变化。
……………………………………装………………………………………订…………………………………………线………………………………………
答:
窗长越小短时平均能量越小,细节越多,随着窗长的增大短时平均能量越大,曲线越光滑,个别细节被平滑掉了。
2、在相同的实验环境下,把本文中的矩形窗改成hamming窗,来实现语音短时平均能量。
……………………………………装………………………………………订…………………………………………线………………………………………
实验名称语音修正的短时自相关的实现同组人
专业班级学号姓名成绩
一、实验目的
1、熟悉语言修正自相关的意义。
2、充分理解取不同窗长时的语言的修正自相关的变化情况。
3、熟悉Matlab编程语言在语言信号处理中的作用。
4、能够实现程序的重新编制。
二、实验要求
1、实验前自己用CoolEdit音频编辑软件录制声音,并把它保存为.txt文件。
2、编程实现不同矩形窗长N=320,160,70的短时修正自相关。
3、用Matlab画出短时修正自相关的图形。
4、写出实验报告,分析实验结果。
三、实验步骤
1、用CoolEdit读入浊音语音,设置采样率为8kHz,16位,单声道。
2、将读入的语音wav文件保存为txt文件。
3、读入Matlab中,并且对照取不同矩形窗长N的短时修正自相关函数,画出图形。
四、程序及运行结果
fid=fopen('zhuoyin.txt','rt');
b=fscanf(fid,'%f');
b1=b(1:
320);
N=160;
A=[];
fork=1:
160;
sum=0;
form=1:
N;
sum=sum+b1(m)*b1(m+k-1);
end
A(k)=sum;
end
fork=1:
160
A1(k)=A(k)/A
(1);
end
figure
(1)
subplot(3,1,1)
plot(A1);
ylabel('R(k)')
legend('N=160')
axis([0,320,-1,1]);
b2=b(1:
200);
N=100;
…………………………………装……………………………………订………………………………………线……………………………………………
B=[];
fork=1:
100;
sum=0;
form=1:
N;
sum=sum+b2(m)*b2(m+k-1);
end
B(k)=sum;
end
fork=1:
100
B1(k)=B(k)/B
(1);
end
figure
(1)
subplot(3,1,2)
plot(B1);
ylabel('R(k)')
legend('N=100')
axis([0,320,-1,1]);
L=1;
b3=b(1:
140);
N=70;
C=[];
fork=1:
70;
sum=0;
form=1:
N;
sum=sum+b3(m)*b3(m+k-1);
end
C(k)=sum;
end
fork=1:
70
C1(k)=C(k)/C
(1);
end
figure
(1)
subplot(3,1,3)
plot(C1);
ylabel('R(k)')
legend('N=70')
axis([0,320,-1,1]);
五、思考题
1、在相同的实验环境下,用Matlab程序实现语音的短时自相关的图形,并与修正自相关进行比较,加深对修正自相关的理解。
答:
由于在计算短时自相关时,窗选语音段为有限长度N,而求和上限是N-1-k,因此当k增加时可用于计算的数据就越来越少了,从而导致k增加时自相关函数的幅度减小了。
采用修正的自相关函数可以避免这个问题。
2、通过实验的图形,试分析它在语音信号处理中的应用。
答:
1)可以作为区分清音浊音的特征参数;
2)在信噪比较高的情况下,短时能量还可以作为区分有声和无声的依据;
3)可以作为辅助的特征参数用于语音识别中。
……………………………………装………………………………………订…………………………………………线………………………………………
实验名称用修正的短时自相关检测语言的基音周期同组人
专业班级学号姓名成绩
一、实验目的
1、熟悉前一个实验程序以及中心削波的意义。
2、用Matlab实现用修正的短时自相关检测语音的基音周期。
3、分析修正的短时自相关在基音周期检测中的应用。
4、能够对程序进行重新编制。
二、实验要求
1、实验前自己用CoolEdit音频编辑软件录制浊音声音,并把它保存为.txt文件。
2、分别取长度N=160和N'=N+K的矩形窗函数作用于语音信号上,首先对其进行中心削波,比较削波前和削波后语音信号波形,并使得削波后的信号进行乘积并求和,计算延迟为0 3、写出实验报告,分析实验结果。 三、实验步骤 1、用CoolEdit读入浊音语音。 设置采样率为8kHz,16位,单声道。 2、将读入的语音wav文件保存为txt文件。 3、编程实现中心削波前后的语音波形。 四、程序及运行结果 1.用Cooledit读入浊音语音。 设置采样率为8kHz,16位,单声道。 2.将读入的语音wav文件保存为txt文件。 3.编程实现中心削波前后的语音波形。 fid=fopen('voice.txt','rt'); [a,count]=fscanf(fid,'%f',[1,inf]); L=length(a); m=max(a); fori=1: L a(i)=a(i)/m; end m=max(a); n=min(a); ht=(m+n)/2; fori=1: L; a(i)=a(i)-ht; end figure (1); subplot(2,1,1); plot(a,'k'); axis([0,1711,-1,1]); title('中心削波前语音波形'); xlabel('样点数'); ylabel('幅度值'); ……………………………………装………………………………………订…………………………………………线……………………………………… coeff=0.7; th0=max(a)*coeff; fork=1: L; ifa(k)>=th0 a(k)=a(k)-th0; elseifa(k)<=(-th0); a(k)=a(k)+th0; else a(k)=0; end end m=max(a); fori=1: L; a(i)=a(i)/m; end subplot(2,1,2); plot(a,'k'); axis([0,1711,-1,1]); title('中心削波后语音波形'); xlabel('样点数'); ylabel('幅度值'); fclose(fid); 4.编程实现削波前后的修正自相关,并检测出基音周期。 fid=fopen('voice.txt','rt'); [b,count]=fscanf(fid,'%f',[1,inf]); fclose(fid); N=320; A=[]; fork=1: 320; sum=0; form=1: N; sum=sum+b(m)*b(m+k-1); end A(k)=sum; end fork=1: 320 B(k)=A(k)/A (1); end figure (2); subplot(2,1,1); ……………………………………装………………………………………订…………………………………………线……………………………………… plot(B,'k'); title('中心削波前修正自相关'); xlabel('延迟k'); ylabel('幅度值'); axis([0,320,-1,1]); N=320; A=[]; fork=1: 320; sum=0; form=1: N; sum=sum+a(m)*a(m+k-1); end A(k)=sum; end fork=1: 320 C(k)=A(k)/A (1); end subplot(2,1,2); plot(C,'k'); title('中心削波后修正自相关'); xlabel('延迟k'); ylabel('幅度值'); axis([0,320,-1,1]); 四、思考题 1在相同的实验环境下,用Matlab程序实现程序短时自相关检测语音的基音周期的图形,并与修正的短时自相关进行比较。 答: 修正自相关使得在基音周期位置的峰值更加尖锐,使得由于声道共振特性引起的峰值有 效减少,从而减少倍频或半频错误。 2、分析清音的修正的短时自相关图形。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太原 理工大学 语音 信号 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)