Matlab语音信号处理 .pdfVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

MATLAB语⾳信号处理

数字信号处理课设,我们使⽤MATLAB对语⾳信号进⾏了⼀系列处理,并将其所有功能集中于下图界⾯中:

这个界⾯涉及功能众多,其中包括语⾳信号的观察分析、⾳⾊变换、AM调制解调、减抽样、加噪去噪、相频分析和幅频滤波等,最重要的是对MATLAB中函数的掌握,通过不

同函数的组合实现你想要实现的功能。

本篇不会给出整个界⾯的程序,下⾯会分块给出每个功能的程序,整个界⾯只需GUI设计界⾯⽂件、定义结构体并把对应键程序打进去即可。

1、语⾳信号的采集

1.1题⽬要求

使⽤windows下的录⾳机录制⼀段语⾳信号、⾳乐信号或者采⽤其他软件截取⼀段⾳乐信号(要求:时间不超过5s,⽂件格式为WAV。)

①请每位同学都参与录⾳,内容⾃定。

②使⽤wavread语句读取语⾳/⾳乐信号获取抽样率;(注意:读取的信号是双声道信号,即为双列向量,需要分列处理);

③输出时域语⾳/⾳乐信号的波形。

④实现对录⾳信号的声⾳⼤⼩的调节。

⑤实现对两种语⾳/⾳乐信号的混⾳⾳效。

⑥实现⾳乐信号的回⾳⾳效。

1.2设计内容及⽅案

①读取⾳频信号:我是通过wavread函数读取.wav⽂件的⽅式来获得,当然⾸先要⾃⼰创建⼀个.wav⾳频,我是通过电脑录⾳⽣成.mp3然后格式⼯⼚转成.wav的,需保存到同⼀

⽂件夹下。

②分声道处理:⼀般⾳乐和语⾳信号都是双声道信号,时域和频谱图会有两个颜⾊,所以要取单列来分析,通过x1=x(:,1)语句来实现。

③画时域波形图:⽤plot函数来画图,注意横坐标为时间t。

④⾳量⼤⼩调节:通过将⾳频直接乘⼀个系数来实现调⾳量。

⑤混⾳和回声:混⾳即将两个⾳频相加,要相加就得保证矩阵⼀样,所以要通过截取并补零矩阵来实现;回声是把三个信号叠加,这三个信号在不同位置补零⾳量也逐渐变⼩,

就可以实现回声。

⑥播放声⾳:本题我使⽤wavplay来播放声⾳,会有警告,后⾯的题我⽤sound⽐较好。

1.3程序源码及注释

clear

[x,fs]=wavread(beautiful.wav);%⾳乐信号

[y,fs1]=wavread(1.wav);%⼥⽣声⾳

[z,fs2]=wavread(2.wav);%男⽣声⾳

%输出频率

fs

fs1

fs2

%⾳乐语⾳信号分声道处理

x1=x(:,1);

y1=y(:,1);

z1=z(:,1);

%画⾳乐信号时域图

n1=length(x1);%length取数列长度即元素个数

figure(1)

t1=(0:(n1-1))/fs;

plot(t1,x1);

axis([0,5,-1,1]);

xlabel(时间t);

ylabel(幅度);

title(⾳乐信号时域波形);

%画语⾳信号时域图

n2=length(y1);

figure(2)

subplot(2,1,1);

t2=(0:(n2-1))/fs1;

plot(t2,y1);%⼥⽣

axis([0,4,-0.5,0.5]);

xlabel(时间t);

ylabel(幅度);

title(⼥⽣语⾳信号时域波形);

n3=length(z1);

subplot(2,1,2);

t3=(0:(n3-1))/fs2;

plot(t3,z1);%男⽣

axis([0,4,-0.5,0.5]);

xlabel(时间t);

ylabel(幅度);

title(男⽣语⾳信号时域波形);

%对语⾳信号声⾳⼤⼩调节

wavplay(y,fs1);%播放原语⾳

y11=10*y;

wavplay(y11,fs1);%加⼤⾳量播放

y22=0.5*y;

wavplay(y22,fs1);%减⼩⾳量播放

%两种语⾳信号的混⾳

[m,n]=size(y1);%size取矩阵的⾏列数

[m0,n0]=size(z1);

a=zeros(abs(m-m0),n);%两矩阵⾏数差为零矩阵⾏数

iflength(y1)length(z1)

y2=[y1;a];

y3=y2+z1;%两个矩阵⾏数⼀样才能相加,所以要补零

else

y2=[z1;a];

y3=y2+y1;%y1和z1中长的那个不变,短的那个补零

end;

wavp

文档评论(0)

188****1217 + 关注
实名认证
文档贡献者

办公室文员

1亿VIP精品文档

相关文档