声音信号的分析处理.docx

上传人:b****5 文档编号:14887366 上传时间:2023-06-28 格式:DOCX 页数:18 大小:411.35KB
下载 相关 举报
声音信号的分析处理.docx_第1页
第1页 / 共18页
声音信号的分析处理.docx_第2页
第2页 / 共18页
声音信号的分析处理.docx_第3页
第3页 / 共18页
声音信号的分析处理.docx_第4页
第4页 / 共18页
声音信号的分析处理.docx_第5页
第5页 / 共18页
声音信号的分析处理.docx_第6页
第6页 / 共18页
声音信号的分析处理.docx_第7页
第7页 / 共18页
声音信号的分析处理.docx_第8页
第8页 / 共18页
声音信号的分析处理.docx_第9页
第9页 / 共18页
声音信号的分析处理.docx_第10页
第10页 / 共18页
声音信号的分析处理.docx_第11页
第11页 / 共18页
声音信号的分析处理.docx_第12页
第12页 / 共18页
声音信号的分析处理.docx_第13页
第13页 / 共18页
声音信号的分析处理.docx_第14页
第14页 / 共18页
声音信号的分析处理.docx_第15页
第15页 / 共18页
声音信号的分析处理.docx_第16页
第16页 / 共18页
声音信号的分析处理.docx_第17页
第17页 / 共18页
声音信号的分析处理.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

声音信号的分析处理.docx

《声音信号的分析处理.docx》由会员分享,可在线阅读,更多相关《声音信号的分析处理.docx(18页珍藏版)》请在冰点文库上搜索。

声音信号的分析处理.docx

声音信号的分析处理

 

《信号与系统》课程设计

语音信号的分析和处理

 

学院:

通信与信息工程学院

班级:

2010012030班

学生:

李雷(2010012030018)

阚姗蕾(2010012030037)

指导教师:

崔琳莉

 

2011年12月19日

 

一、摘要

声音是由物体的振动产生,以声波的形式在介质中传播,介质主要可分为固体,液体以及气体。

声波振动内耳的听小骨,这些振动被转化为微小的电子脑波,它就是我们觉察到的声音。

内耳采用的原理与麦克风捕获声波或扬声器的发音一样,它是移动的机械部分与气压波之间的关系。

在国际标准中,人声的频率范围是300Hz~3400Hz,不同的人或乐器产生的声音频率不一致,通过对声音信号的研究能够更好的处理声音信号的处理以及传输。

Matlab作为一款主要面对科学计算、可视化以及交互式程序设计的高科技计算软件,能够很好的完成对声音信号的分析和处理,快速的得出声音信号的时域图以及频域图。

关键字:

声音频率时域图频域图Matlab

 

Soundcomesfromtheshakeofobjectsandspreadsintheformofwavesinmediumconsistsofsolid,liquidandgas.Soundwavesshaketheossiclesintheears,transformedintofinalelectronicbrainwavesandthenwehearthesound.Theprincipletheearworkswhichisthesameastheprinciplethemicrophoneandthespeakerworks,isusingtherelationbetweenmechanicalpartandbarometricwave.InISO,thefrequencydomainisfrom300Hzto3400Hz,differsindifferentpeopleandmusicalinstruments.Thestudyofthesoundsignalhelptobetterdealwiththesignals.Asasoftwaremajorinscientificcalculation,Matlabisvisualandinteractive.Itiscapableofperfectlyfinishingtheanalysisanddisposeofthesoundsignalbysketchingthetimedomainfigureandfrequencydomainfigure.

Keywords:

sound,frequency,timedomainfigure,frequencydomainfigure,Matlab

二、实验要求

通过MATLAB的函数wavread()可以读入一个.wav格式的音频文件,并将该文件保存到指定的数组中。

例如下面的语句(更详细的命令介绍可以自己查阅MATLAB的帮助)中,将.wav读入后存放到矩阵y中。

y=wavread('SpecialEnglish.wav');

对于单声道的音频文件,y只有一行,即一个向量;对于双声道的音频文件,y有两行,分别对应了两个声道的向量。

我们这里仅对一个声道的音频进行分析和处理即可。

注意:

.wav文件的采样频率为44.1KHz,采样后的量化精度是16位,不过我们不用关心其量化精度,因为在MATLAB读入后,已将其转换成double型的浮点数表示。

在获得了对应音频文件的数组后,我们可以对其进行一些基本的分析和处理。

可以包括:

1、对语音信号进行频域分析,找到语音信号的主要频谱成分所在的带宽,验证为何电话可以对语音信号采用8KHz的采样速率。

2、分析男声和女声的差别。

我们知道男声和女声在频域上是有些差别的,一般大家都会认为女声有更多高频的成分,验证这种差别。

同时,提出一种方法,能够对一段音频信号是男声信号、还是女声信号进行自动的判断。

3、语音与乐器音频的差别。

比较语音信号与乐器音频信号的差别,尤其是在频域上的差别。

4、.wav文件的采样速率为44.1KHz,仍然远远高于我们通常说的语音信号需要的频谱宽度,例如在电话对语音信号的采样中,我们仅仅使用8KHz的采样速率。

对读入的音频数据进行不同速率的降采样,使用wavplay()命令播放降采样后的序列,验证是否会对信号的质量产生影响。

降采样的方法很简单,例如命令y=wavread('SpecialEnglish.wav');将语音文件读入后保存在向量y中,这时对应的采样频率为44.1KHz。

使用y1=y(1:

2:

length(y))命令,就可以将原序列y每隔1个采样后放入序列y1中,这时y1序列对应的采样频率即为22KHz。

5、自己下载获得一段中文语音信号(可以使用诸如“千千静听”等工具将.mp3文件转换成.wav文件),对中文语音与英文语音进行比较。

三、实验内容

3.1、对语音信号进行频域分析,找到语音信号的主要频谱成分所在的带宽,验证为何电话可以对语音信号采用8KHz的采样速率。

对声音信号

的频谱图进行分析,使用Matlab绘制该语音信号的频谱图,观察频谱图,读出声音信号的频率范围,由采样定理可知,如果需要重建声音信号

,需产生一个周期冲激串,其冲激幅度就是采样得到的样本值,将该冲激串通过一个增益为T,截止频率为

,而小于

的理想低通滤波器,该低通滤波器的输出就是

使用Matlab中的快速傅里叶变换(fft),绘制出声音文件

的时域图和频域图,对频域图进行分析,观察可得声音信号

的主要频率范围为200Hz~1800Hz,根据采样定理可得,采样频率应不小于3600Hz,故电话使用8kHz的采样频率能保证声音无失真采样及恢复。

程序代码:

[x,fs,bits]=wavread('相声.wav');%将原声音信号转化为字符串%

subplot(211);

plot(x);%绘制声音信号的时域图%

title('时域分析图');

subplot(212);

y=fft(x,fs);

df=fs/length(y);

fx=df*(0:

length(y)-1);%将横坐标转化为频率值%

plot(fx,abs(y));%绘制声音信号的频谱图%

axis([080000500]);

title('频域分析图');

3.2、分析男声和女声的差别。

我们知道男声和女声在频域上是有些差别的,一般大家都会认为女声有更多高频的成分,验证这种差别。

同时,提出一种方法,能够对一段音频信号是男声信号、还是女声信号进行自动的判断。

首先,我们选择了普通的男生和女生分别演唱同一首歌,用matlab分别绘出两段声音信号的频谱图,从图中可以看出,男生的声音频率主要分布在200Hz~800Hz,女生的声音频率主要分布在300Hz~1800Hz,女生的声音高频成分较多。

这是因为,声波是由物体振动产生的机械波,男人声带宽而厚,振动频率低;女人声带窄而薄,振动频率高。

而我们平时所感受得男生声音低沉,女生声音尖细,则是由于发声时男女声带的振动频率的高低不同,所以男女音调的高低不同。

使用Matlab对男声女声的声音信号在不同频率的分布比例进行分析,运行程序后可得出,在低频范围(150Hz~1000Hz)内

男声低频比例n1=9.5343e-006女声低频比例n2=8.6394e-006

在高频范围(1000Hz~1800Hz)内

男声高频比例m1=7.5965e-006女声高频比例m2=8.2355e-006

以上的数据计算进一步验证了女声频率较高的假设,我们可以通过这种计算来分辨男声女声。

程序代码:

%画男生声音、女生声音的频谱图

y1=wavread('lu_ll.wav');

Fs=44100;%采样频率%

yt1=fft(y1);%傅里叶变换%

df=Fs/length(yt1);

Fx=df*(0:

length(yt1)-1);%将横轴变为频率轴%

figure

(1)

subplot(211);%subplot将图像画在一张图上%

plot(y1);title('男声时域波形');%画语音信号的时域波形%

subplot(212);

plot(Fx,abs(yt1));axis([010000010000]);

title('男声频谱图');xlabel('频率/Hz');

y2=wavread('lu_ksl.wav');

Fs=44100;%采样频率%

yt2=fft(y2);%傅里叶变换%

df=Fs/length(yt2);

Fx=df*(0:

length(yt2)-1);%将横轴变为频率轴%

figure

(2)

subplot(211);%subplot将图像画在一张图上%

plot(y2);title('女声时域波形');%画语音信号的时域波形%

subplot(212);

plot(Fx,abs(yt2));axis([01000005000]);

title('女声频谱图');xlabel('频率/Hz');

%计算男生和女生信号中高频和低频信号所占的比例:

[y1Fs]=wavread('lu_ll.wav');y1=y1(:

1);

yt1=fft(y1);

[y2Fs]=wavread('lu_ksl.wav');y2=y2(:

1);

yt2=fft(y2);

sum1=0;

fori=200:

1000%计算男声的低频比例%

sum1=sum1+abs(yt1(i));

end

sum=0;

fori=1:

length(yt1)

sum=sum+abs(yt1(i));

end

n1=sum1/sum;

sum1%低频信号量

sum%总信号量

n1%比例

sum1=0;

fori=200:

1000%计算女声的低频比例%

sum1=sum1+abs(yt2(i));

end

sum=0;

fori=1:

length(yt2)

sum=sum+abs(yt2(i));

end

n2=sum1/sum;

sum1

sum

n2

%高频%

sum1=0;

fori=3000:

3800%计算男声的高频比例%

sum1=sum1+abs(yt1(i));

end

sum=0;

fori=1:

length(yt1)

sum=sum+abs(yt1(i));

end

m1=sum1/sum;

sum1

sum

m1

sum1=0;

fori=3000:

3800%计算女声的高频比例%

sum1=sum1+abs(yt2(i));

end

sum=0;

fori=1:

length(yt2)

sum=sum+abs(yt2(i));

end

m2=sum1/sum;

sum1

sum

m2

3.3、语音与乐器音频的差别。

比较语音信号与乐器音频信号的差别,尤其是在频域上的差别。

我们找了五种不同的乐器演奏的《梁祝》,试图不仅分析语音信号和乐器音频信号的差别,还要分析不同乐器音频信号的差别。

使用狸窝软件进行时间截取和格式转换,分析得到频谱如下:

对于乐器来说,低频段表示音色的丰满度,高频段表示音色的明亮度。

从图中可以看出,古筝的泛音较强,这印证了我们听觉的感受,钢琴和笛子的频谱主要集中在500~1000Hz的低频范围内,音色最为丰满,它们的主要区别在于钢琴泛音较多。

相比于前面所绘制的语音信号的频谱,乐器在某些频率点的小范围内会形成一个冲击,所以声音会比较有冲击力。

并且,乐器有基音和泛音,而人声没有泛音,所以会产生乐器声悠扬的效果。

程序代码:

y1=wavread('笛子_0.wav');

y2=wavread('钢琴_0.wav');

y3=wavread('小提琴_0.wav');

y4=wavread('萨克斯_0.wav');

y5=wavread('古筝_0.wav');

Fs=44100;%采样频率%

yt1=fft(y1);%傅里叶变换%

yt2=fft(y2);

yt3=fft(y3);

yt4=fft(y4);

yt5=fft(y5);

df1=Fs/length(yt1);

Fx1=df1*(0:

length(yt1)-1);

df2=Fs/length(yt2);

Fx2=df2*(0:

length(yt2)-1);

df3=Fs/length(yt3);

Fx3=df3*(0:

length(yt3)-1);

df4=Fs/length(yt4);

Fx4=df4*(0:

length(yt4)-1);

df5=Fs/length(yt5);

Fx5=df5*(0:

length(yt5)-1);

figure

(1)

plot(Fx1,abs(yt1));axis([08000010000]);

title('笛子频谱图');xlabel('频率/Hz');

figure

(2)

plot(Fx2,abs(yt2));axis([08000010000]);

title('钢琴频谱图');xlabel('频率/Hz');

figure(3)

plot(Fx3,abs(yt3));axis([08000010000]);

title('小提琴频谱图');xlabel('频率/Hz');

figure(4)

plot(Fx4,abs(yt4));axis([08000010000]);

title('萨克斯频谱图');xlabel('频率/Hz');

figure(5)

plot(Fx5,abs(yt5));axis([08000010000]);

title('古筝频谱图');xlabel('频率/Hz');

3.4、.wav文件的采样速率为44.1KHz,仍然远远高于我们通常说的语音信号需要的频谱宽度,例如在电话对语音信号的采样中,我们仅仅使用8KHz的采样速率。

对读入的音频数据进行不同速率的降采样,使用wavplay()命令播放降采样后的序列,验证是否会对信号的质量产生影响。

使用Matlab对声音信号进行降采样,分别把声音信号的采样频率将为原采样频率的1/2,1/5,1/10。

当采样频率为原信号采样频率的1/2时,声音与原声音无明显变化,观察频谱图,亦无明显变化;当采样频率为原信号采样频率的1/5时,声音与原声音相比有差别,观察频谱图,发现频谱图变化很大;当采样频率为原信号采样频率的1/10时,声音与原声音相比已明显失真,信号内容不可辨别,观察频谱图,频谱图已完全不一致,降采样后的信号失真严重。

结论:

当采样频率越低时,采样得到的声音信号的音质将降低。

程序如下:

[x,fs,bits]=wavread('星空的旋律.wav');%将声音信号采样称字符串%

fs%声音x(t)信号频率%

x1=x(1:

2:

length(x));%对原声音信号进行1/2降采样%

x2=x(1:

5:

length(x));%对原声音信号进行1/5降采样%

x3=x(1:

10:

length(x));%对原声音信号进行1/10降采样%

subplot(411);

%wavplay(x,fs);%播放原声音信号%

y=fft(x,fs);

df=fs/length(y);

fx=df*(0:

length(y)-1);

plot(fx,abs(y));%绘制原声音信号的频谱分析图%

axis([080000500]);

title('原声音频谱分析图');

subplot(412);

%wavplay(x1,fs/2);%播放1/2降采样声音信号%

y1=fft(x1,fs/2);

df=fs/length(y1);

fx=df*(0:

length(y1)-1);

plot(fx,abs(y1));%绘制1/2降采样后信号的频谱分析图%

axis([080000500]);

title('采样频率为原信号的1/2频谱分析图');

subplot(413);

%wavplay(x2,fs/5);%播放1/10降采样声音信号%

y2=fft(x2,fs/5);

df=fs/length(y2);

fx=df*(0:

length(y2)-1);

plot(fx,abs(y2));%绘制1/5降采样后信号的频谱分析图%

axis([080000500]);

title('采样频率为原信号的1/5频谱分析图');

subplot(414);

%wavplay(x3,fs/10);%播放1/10降采样声音信号%

y3=fft(x3,fs/10);

df=fs/length(y3);

fx=df*(0:

length(y3)-1);

plot(fx,abs(y3));%绘制1/10降采样后信号的频谱分析图%

axis([080000500]);

title('采样频率为原信号的1/10频谱分析图');

四、实验结论

在实验开始的时候,使用录音软件(AdobeAudition)录制所需的男声女声,同时,在各大音乐网站下载所需的音频文件,但是一般下载到的只有.mp3格式的音频文件,故使用狸窝全能视频转换器将.mp3文件或其他格式的音频文件转化为.wav格式的音频文件。

使用Matlab对下载到的音频文件(相声.wav)进行时域分析和频域分析,并绘制相应的时域图和频域图,时域图可以显示幅值与时间的关系,频域图可以显示幅值与频率的关系。

对绘制频域图进行解读,该文件的主要频率范围为200Hz~1800Hz,通过查阅文献得知,人声的主要范围为200Hz~3400Hz,根据采样定理可得,电话使用8kHz的采样频率,能保证人声无失真恢复。

在对男声女声的差异分析中,使用自己录制的男声(lu_ll.wav)和女声(lu_ksl.wav),分别绘制男声女声的频谱图,再分别计算男声女声在低频范围和高频范围内的比重。

分析男声的频谱图可以发现,男声的主要频率范围为200Hz~800Hz,女声的主要频率范围为300Hz~1800Hz,对实验数据分析发现,男声的频率要普遍低于女声。

将人声与乐器的声音进行比较发现,乐器在某些频率点的小范围内会形成一个冲击,所以声音会比较有冲击力。

并且,乐器有基音和泛音,而人声没有泛音,所以会产生乐器声悠扬的效果。

对原声音信号分别进行1/2,1/5,1/10降采样,发现采样频率越低,采样得到的声音信号的音质越差。

五、参考文献

[1]Alan.V.Oppenheim,SignalandSystem,电子工业出版社,2009.

[2]数学实验讲义,电子科技大学出版社,2010.

[3]刘树棠,《信号与系统》计算机练习——利用MATLAB,西安交通大学出版社,2006.

[4]谢云荪,数学实验,科学出版社,1999.

[5]苏金明,MATLAB实用教程,电子工业出版社,2005.

[6]徐全智,概率论与数理统计,高等教育出版社,2004.

[7]杨克昌,计算机程序设计典型例题精解,国防科技大学出版社,1999.

(2) 

 

 

   

(3)

 

【结果分析】 

男声频谱高于女声频谱。

 【自主学习内容】 

基频改变方法,频谱线性插值的实现,时间长度的归整。

 

【阅读文献】 

[1].陈后金.信号与系统[M].高等教育出版社,2010:

245-250。

 

[2].XX文库。

  

【发现问题】 

只通过改变频率来实现男女声转换是否可以?

 【问题探究】 

若只改变频率,可以在一定程度上实现男女声的转换,但是改变频率后,音频的播放时长也会发生改变,听起来播放速度会有所不同,频率改变越大,速度越大。

我们可以通过在中间改变频率,同时对时长进行归整,保证播放速度和原音频基本一致。

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

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2