太原理工大学语音信号实验报告.docx

上传人:b****5 文档编号:3389649 上传时间:2022-11-22 格式:DOCX 页数:16 大小:175.54KB
下载 相关 举报
太原理工大学语音信号实验报告.docx_第1页
第1页 / 共16页
太原理工大学语音信号实验报告.docx_第2页
第2页 / 共16页
太原理工大学语音信号实验报告.docx_第3页
第3页 / 共16页
太原理工大学语音信号实验报告.docx_第4页
第4页 / 共16页
太原理工大学语音信号实验报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

太原理工大学语音信号实验报告.docx

《太原理工大学语音信号实验报告.docx》由会员分享,可在线阅读,更多相关《太原理工大学语音信号实验报告.docx(16页珍藏版)》请在冰豆网上搜索。

太原理工大学语音信号实验报告.docx

太原理工大学语音信号实验报告

 

太原理工大学现代科技学院

 

语音信号处理课程实验报告

 

……………………………………装………………………………………订…………………………………………线………………………………………

实验名称语音短时平均能量的实现同组人

专业班级学号姓名成绩

一、实验目的

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、分析清音的修正的短时自相关图形。

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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