- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- TG-NET网吧万兆解决方案V2.01 .pdf
- SPARC蛋白在胃癌中的表达及与胃癌预后的关系的开题报告 .pdf
- SLC38A1基因在胃癌发生发展中的作用研究的开题报告 .pdf
- SA365N电子试题 _原创精品文档.pdf
- Python学习过程中的经验习题及答案解析_Python高级开发工程师.pdf
- pkpm抗震构造措施的抗震等级 .pdf
- PD-L1在三阴性乳腺癌中的表达及预后的开题报告 .pdf
- P53、NF-κB在胃腺癌中的表达及临床意义开题报告 .pdf
- mof热还原法合成纳米材料 .pdf
- microRNA在结直肠癌生物学行为中的作用及其分子机制研究的开题报告.pdf
- 鲁科版四上 Unit 2-Lesson2 She likes dancing课件PPT.pptx
- 鲁科版四上 Unit 1-Lesson3We sing here课件PPT.pptx
- 鲁科版四上 Unit 1-Lesson4 Again please课件PPT.pptx
- 鲁科版四上 Unit 3-Lesson2 I can dance on Friday课件PPT.pptx
- 鲁科版四上 Unit 2-Lesson3 What's your hobby课件PPT.pptx
- 鲁科版四上 Unit 1-Lesson1 We have Chinese课件PPT.pptx
- 鲁科版四上 Unit 2-Lesson4 Again please课件PPT.pptx
- 鲁科版四上 Unit 3-Lesson1 What day is today课件PPT.pptx
- 鲁科版四上 Unit 3-Lesson4 Again, please课件PPT.pptx
- 鲁科版四上 Unit 1-Lesson2What's your favourite subject课件.pptx
文档评论(0)