声音信号的分析处理.docx
- 文档编号:27218424
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:18
- 大小:411.35KB
声音信号的分析处理.docx
《声音信号的分析处理.docx》由会员分享,可在线阅读,更多相关《声音信号的分析处理.docx(18页珍藏版)》请在冰豆网上搜索。
声音信号的分析处理
《信号与系统》课程设计
语音信号的分析和处理
学院:
通信与信息工程学院
班级:
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文库。
【发现问题】
只通过改变频率来实现男女声转换是否可以?
【问题探究】
若只改变频率,可以在一定程度上实现男女声的转换,但是改变频率后,音频的播放时长也会发生改变,听起来播放速度会有所不同,频率改变越大,速度越大。
我们可以通过在中间改变频率,同时对时长进行归整,保证播放速度和原音频基本一致。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 声音 信号 分析 处理