ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:624.16KB ,
资源ID:12883803      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12883803.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLAB的语音处理.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MATLAB的语音处理.docx

1、基于MATLAB的语音处理基于MATLAB的语音滤波实验实验目的:1在Matlab环境下对语音的频谱进行处理(数字滤波)并试听效果;2在Matlab环境下对语音的抽样率进行处理(语音压缩)并试听效果实验步骤:一、音频文件的压缩(抽取)。1利用windows附件中的录音机功能录制810秒的.wav语音文件,并以lei为文件名保存到Matlab/work的文件夹中。a.打开 开始/程序/附件/娱乐/录音机;b.用windows media player播放一首音乐并用MIC对着耳机录音或自已说话录音(按键),到10秒时停止(按键);c.将录制的文件加存为C:/Matlab/work中,文件名为le

2、ii.wav; 2打开Matlab并新建一.m文件;3在.m文件中用y=wavread(lei.wav)命令读入语音文件。4语音压缩:在m命令窗中输入如下命令: 5运行sample2.m之后会在work文件夹中生成一个名为lei2的.wav文件,如下图:6双击lei2音频文件,用耳机试听效果,并跟lei1的效果比较。7在sample2.m文件中改变抽取倍率s (必须为正整数),重复4、5、6步,观察在不同抽取倍率s下的音频质量,(注意:在运行sample2.m之前必须将work中名为lei2的.wav音频文件删除,或在.m文件中wavwrite()中的保存文件名改为其它的名字。)二、音频信号的

3、时域滤波(音频数据的时域卷积)。 (一)、低通滤波1打开Matlab并新建一.m文件,在.m文件中用y=wavread(lei.wav)命令读入语音文件。2在m命令窗中输入如下命令,并加存为sample3.m,运行该m文件。3双击lei3音频文件,用耳机试听效果,并跟lei1的效果比较。4再加一级h(n)的低通滤波,重复2、3步,如下图:(注意:在运行lei2.m之前必须将work中名为lei3的.wav音频文件删除,或在.m文件中wavwrite()中的保存文件名改为其它的名字。)5重复2、3、4步,观察在不同阶数的低通滤波下的音频质量。(二)、高通滤波打开Matlab并新建一.m文件,在.

4、m文件中用y=wavread(lei.wav)命令读入语音文件。在m命令窗中输入如下命令,并加存为sample.m,运行该m文件。6双击lei4音频文件,用耳机试听效果,并跟lei1的效果比较。7再加一级h(n)的低通滤波,重复2、3步,如下图:(注意:在运行lei2.m之前必须将work中名为lei4的.wav音频文件删除,或在.m文件中wavwrite()中的保存文件名改为其它的名字。)再加一级高通滤波:(三)时域低通滤波时频域的频谱变化:打开在第(一)步中创建的sample3.m文件,并在原文件中加入以下命令,另存为sample33.m频谱如下图:下图为h(n)为31点的三重低通滤波程序

5、和频谱图:(四)时域高通滤波时频域的频谱变化:打开在第(二)步中创建的sample4.m文件,并在原文件中加入以下命令,另存为sample44.m频谱如下图:下图为h(n)为3点的三重低通滤波程序和频谱图:二、音频信号的频域理想滤波处理:原音频信号的抽样频率:,该式即为模拟域频率f跟频率域(变换)中k的关系(一)理想低通滤波:设计一截止频率为对应的数字频率域()的系统函数的频率特性为:按下图所示输入m文件,另存为lowfilter1.m,并运行该程序。双击lei音频文件,用耳机试听效果,并跟lei1的效果比较。将该m文件中的f0=2000分别改为1000、500、300、200、4000、.后

6、,运行程序试听效果。在该m 文件中加入如下命令,重复第3步,并观察Xw、w、w的频谱。(二)理想高通滤波:设计一截止频率为对应的数字频率域()的系统函数的频率特性为:按下图所示输入m文件,另存为lowfilter1.m,并运行该程序。双击lei6音频文件,用耳机试听效果,并跟lei1的效果比较。将该m文件中的f0=1000分别改为800、500、300、200、1500、2000.后,运行程序试听效果。在该m 文件中加入如下命令,重复第3步,并观察Xw、w、w的频谱。(二)理想高通滤波:设计一截止频率为对应的数字频率域()的系统函数的频率特性为:按下图所示输入m文件,另存为lowfilter1

7、.m,并运行该程序。双击lei音频文件,用耳机试听效果,并跟lei1的效果比较。将该m文件中的fl和fh分别改.后,运行程序试听效果。在该m 文件中加入如下命令,重复第3步,并观察Xw、w、w的频谱。基于MATLAB的语音加去噪和延时混响实验实验说明:1.本实验提供的beiguo.wav,lei1.wav,music.wav,shao.wav,wang.wav均为原始语音信号.2.本实验中的jiazao.m为语音加噪实验,xiaozao.m为语音消噪实验,musicadd.m为语音全成实验,musicfilter.m为语音滤波实验,dlaymusic.m为语音混响实验.实验步骤:1.将本文件夹

8、中的所有.m文件和所有原始语音信号都复制到MATLAB的work文件夹中。2.打开MATLAB程序。一、语音消噪实验 %在语音中加噪声%x1=wavread(lei1.wav);%读取原语音信号,lei1中无噪声.fs=22050; %原语音信的采样率为22050Hzfn=1000; %设定噪声的频率为1000Hzt=1:length(x1); %设置噪声的度度跟原语音信一样长,x2=2*sin(2*pi*fn/fs*t);%产生幅度为2频率为fn的正弦波作为噪声.x=x1+x2; %将原子核语音信号跟噪声相加,x为带有噪声的语音信号.wavwrite(x,22050,lei2.wav);%将

9、带有噪声的语音信号转换为声音,lei2中将有噪声1).在MATLAB中打开名为jiazao.m的程序,运行该程序,将在work中产生一个新的语音文件lei2.wav2).通过试听对比lei1.wav和lei2.wav语音,看噪声是否加上。二、语音消噪实验%消除语音中的噪声%x1=wavread(lei2.wav);%读取原语音信号,lei2中带有噪声.y=filter(hn,1,x); %将带有噪声的语音信号x经过带阻滤波器进行滤波,以达到消噪目的.%Bndstop,FIR,Equiripple,Minimum order,Fs=22050,Fpass1=950,Fstop1=980,Fsto

10、p2=1020,Fpass2=1050,Apass1=1,Astop=60,Apass2=1wavwrite(y,22050,lei3.wav);%将经带阻滤波消噪后的信号转换为语音,lei3中将不再有噪声1).在MATLAB中打开名为xiaozao.m的程序(暂时不运行)2).在MATLAB左下角start中打开FDATool界面,按本程序m文件中注释的参数设计带阻滤波器, 并通过File-Export-填hn,将设计的滤波器系数导到工作空间。3).运行该程序,将在work中产生另一个新的语音文件lei3.wav4).通过试听对比lei2.wav和lei3.wav语音,看噪声是否消除。三、语

11、音滤波实验%带阻和低通滤波%x=wavread(shao.wav);%读取名为shao.wav的原语音信号y=filter(hns,1,x); %带阻滤波,滤波器在FDATool中设计,并导到工空间,因本人的中低音太重,高音不足%Hpass,FIR,Equiripple,Minmum order,Fs=22050,Fpass1=100,Fstop1=1500,Fstop2=1600,Fpass2=3000,Apass1=1,Astop=30,Apass=1.yy=filter(hnh,1,y); %高通滤波,滤波器在FDATool中设计,并导到工空间,因本人的低音太重,高音不足%Hpass,F

12、IR,Equiripple,Minmum order,Fs=22050,Fstop=10,Fpass=4000,Astop=20,Apass=1wavwrite(yy,22050,shao2.wav);%将经混响后的信转换为语音,shao2.wav的语音中的中低频分量将有所衰减.1).在MATLAB中打开名为musicfilter.m的程序(暂时不运行)2)按本程序m文件中注释的参数分别设计带阻和高通滤波器,并通过File-Export-填hns和hnh,将设计的滤波器系数导到工作空间。3).运行该程序,将在work中产生另一个新的语音文件lei4.wav4).通过试听对比shao.wav和s

13、hao2.wav语音,看语音有可不同。四、语音混响实验%延时混响%x=wavread(shao2.wav); %读入原始声音n=1200; %设定延迟时间t=n/fs秒,改变该数据可改变混响深度(时间间隔)N=60; %y设定延迟级数为N级,改变该数据可改变次数x1=x;zeros(N*n,1); %将x通过补零延长到经N级延时后的长度for i=1:N %进行N次延时,第一次延时在x前补n 个0,后补(N-1)*n个0x2=zeros(i*n,1);x;zeros(N-i)*n,1); %第i次延时在x前补i*n个0,后补(N-i)*n个0x1=x1+1/(2*i)*x2; %将经延时的信号

14、x1跟x逐次相加endwavwrite(x1,22050,shao3.wav); %将混响后的数据转换为声音1).在MATLAB中打开名为dlaymusic.m的程序2).运行该程序,将在work中产生另一个新的语音文件shao3.wav3).通过试听对比shao.wav、shao2.wav和shao3.wav语音,看语音有可不同。4).修改本程序中的n和N,并重复2)和3)的步骤。五、语音合成实验%将两首语音全成一首%m1=wavread(beiguo.wav);%读取一首语音m1m2=wavread(wang.wav); %读取另一首语音m2if length(m1)length(m2) %比较两首语音的长度,将短的补成跟长的相等 m3=m2;zeros(length(m1)-length(m2),1);else m3=m1;zeros(length(m2)-length(m1),1);end m=0.6*m1+m3; %将两个语音相加,为分辩明,将其中一个衰减wavwrite(m,22050,mu3.wav); %将合成后的信转为语音1).在MATLAB中打开名为musicadd.m的程序2).运行该程序,将在work中产生另一个新的语音文件mu3.wav3).通过试听对比beiguo.wav、wang.wav和mu3.wav语音,看语音有否不同。

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

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