当前位置:文档之家› 基于MATLAB的语音信号特技处理-延时与混响

基于MATLAB的语音信号特技处理-延时与混响

DSP应用课程设计(学年论文)说明书课题名称:DSP应用课程设计学生学号:专业班级:学生姓名:学生成绩:指导教师:课题工作时间:至武汉工程大学教务处制填写说明:1. 一、二、三项由指导教师在课程设计(学年论文)开始前填写并交由学生保管;2. 四、五两项由学生在完成课程设计后填写,并将此表与课程设计一同装订成册交给指导教师;3. 成绩评定由指导教师按评定标准评分。

4. 此表格填写好后与正文一同装订成册。

课程设计评审标准(指导教师用)(报告正文)一、课程设计目的综合运用数字信号处理的理论知识惊醒频谱分析和滤波器设计,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。

二、课程设计要求1.熟悉离散信号和系统的时域特性。

2.熟悉语音信号的特点。

3.掌握数字信号处理的基本概念,基本理论和基本方法。

4.掌握序列快速傅里叶变换的基本方法。

5.学会MATLAB的使用,掌握MATLAB的程序设计方法。

6.掌握MATLAB设计各种数字滤波器的方法核对信号进行滤波的方法。

三、详细设计过程1.基本原理1.1信号采样(1)采样频率采样频率是指计算机每秒钟采集多少个声音样本,采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。

只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。

(2)采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。

声卡的位客观地反映了数字声音信号对输入声音信号描述的准确程度。

声卡的主要的作用之一是对声音信息进行录制与回放,在这个过程中采样的位数和采样的频率决定了声音采集的质量。

1.2混响与延时(1)混响效果主要是用于增加音源的融合感。

自然音源的延时声阵列非常密集、复杂,所以模拟混响效果的程序也复杂多变。

常见参数有以下几种:混响时间:能逼真的模拟自然混响的数码混响器上都有一套复杂的程序,其上虽然有很多技术参数可调,然而对这些技术参数的调整都不会比原有的效果更为自然,尤其是混响时间。

高频滚降:此项参数用于模拟自然混响当中,空气对高频的吸收效应,以产生较为自然的混响效果。

一般高频混降的可调范围为0.1~1.0。

此值较高时,混响效果也较接近自然混响;此值较低时,混响效果则较清澈。

扩散度:此项参数可调整混响声阵密度的增长速度,其可调范围为0~10,其值较高时,混响效果比较丰厚、温暖;其值较低时,混响效果则较空旷、冷僻。

预延时:自然混响声阵的建立都会延迟一段时间,预延时即为模拟次效应而设置。

声阵密度:此项参数可调整声阵的密度,其值较高时,混响效果较为温暖,但有明显的声染色;其值较低时,混响效果较深邃,切声染色也较弱。

频率调制:这是一项技术性的参数,因为电子混响的声阵密度比自然混响稀疏,为了使混响的声音比较平滑、连贯,需要对混响声阵列的延时时间进行调制。

此项技术可以有效的消除延时声阵列的段裂声,可以增加混响声的柔和感。

调治深度:指上述调频电路的调治深度。

(2)延时就是将音源延迟一段时间后,再欲播放的效果处理。

依其延迟时间的不同,可分别产生合唱、镶边、回音等效果。

当延迟时间在3~35ms之间时人耳感觉不到滞后音的存在,并且他与原音源叠加后,会因其相位干涉而产生"梳状滤波"效应,这就是镶边效果。

如果延迟时间在50ms以上时,其延迟音就清晰可辨,此时的处理效果才是回音。

回音处理一般都是用于产生简单的混响效果。

延时、合唱、镶边、回音等效果的可调参数都差不多,具体有以下几项:*延时时间(Dly),即主延时电路的延时时间调整。

*反馈增益(FB Gain),即延时反馈的增益控制。

*反馈高频比(Hi Ratio),即反馈回路上的高频衰减控制。

*调制频率(Freq),指主延时的调频周期。

*调制深度(Depth),指上述调频电路的调制深度。

*高频增益(HF),指高频均衡控制。

*预延时(Ini Dly),指主延时电路预延时时间调整。

*均衡频率(EQ F),这里的频率均衡用于音色调整,此为均衡的中点频率选择。

由于延时产生的效果都比较复杂多变,如果不是效果处理专家,建议使用设备提供的预置参数,因为这些预置参数给出的处理效果一般都比较好。

1.3离散傅立叶变换在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。

下面介绍这些函数。

函数FFT用于序列快速傅立叶变换。

函数的一种调用格式为y=fft(x)其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT。

且和x相同长度。

若x为一矩阵,则y是对矩阵的每一列向量进行FFT。

如果x长度是2的幂次方,函数fft执行高速基-2FFT算法;否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。

函数FFT的另一种调用格式为y=fft(x,N)式中,x,y意义同前,N为正整数。

函数执行N点的FFT。

若x为向量且长度小于N,则函数将x补零至长度N。

若向量x 的长度大于N,则函数截短x使之长度为N。

若x 为矩阵,按相同方法对x进行处理。

经函数fft求得的序列y一般是复序列,通常要求其幅值和相位。

MATLAB提供求复数的幅值和相位函数:abs,angle,这些函数一般和FFT同时使用。

函数abs(x)用于计算复向量x的幅值,函数angle(x)用于计算复向量的相角,介于和之间,以弧度表示。

函数unwrap(p)用于展开弧度相位角p ,当相位角绝对变化超过时,函数把它扩展至。

用MATLAB工具箱函数fft进行频谱分析时需注意:(1)函数fft返回值y的数据结构对称性。

(2) 频率计算。

(3) 作FFT 分析时,幅值大小与FFT 选择点数有关,但不影响分析结果。

1.4滤波器设计单回声滤波器的系统函数:R az z H -+=1)( , a <1 (3-1)无限个回声滤波器的系统函数:RRaz z z H ---=1)( , a <1 (3-2) 全通结构的混响器的系统函数:R Razz a z H --++=1)( , a <1 (3-3) 本次设计用IIR 滤波器对信号进行滤波,函数名为filter函数filter 的调用格式为 y=filter(b,a,x)该格式采用数字滤波器对数据进行滤波,既可以用于IIR 滤波器,也可以用于FIR 滤波器。

其中向量b 和a 分别表示系统函数的分子、分母多项式的系数,若a =1,此时表示FIR 滤波器,否则就是IIR 滤波器。

该函数是利用给出的向量b 和a ,对x 中的数据进行滤波,结果放入向量y 。

1.5 图形用户界面设计图形用户界面GUI (Graphics User Interface) 是由各种图形对象,如图形窗口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交流信息的工具和方法。

GUI 设计即可以基本的MATLAB 程序设计为主,也可以鼠标为主利用GUIDE 工具进行设计。

GUIDE ( Graphics User Interface Design Environ2ment) 是一个专用于GUI 程序设计的快速开发环境,使用者通过鼠标就能迅速地产生各种GUI 控件,并随心所欲地改变它们的外形、大小及颜色等,从而帮助用户方便地设计出各种符合要求的图形用户界面。

调用GUIDE 的方法有2 种,在MATLAB 命令窗口中输入guide 命令,或在MATLAB 主菜单中点击File →New →GUI 即可打开一个可编辑的新窗口。

在GUIDE 设计环境中,需要用到的工具有属性编辑器、控件布置编辑器、菜单编辑器、对象浏览器、网格标尺设置编辑器以及GUI 应用属性设置编辑器等。

GUI 设计面板是GUI 设计工具应用的平台,面板上部提供了菜单和常用工具按钮,左边提供了多种GUI 控件,如按钮、单选按钮、复选框、文本框等。

进行GUI 设计时,首先单击GUI 面板左边所需的控件,然后在右边的图形界面编辑区中再次单击某一恰当的位置,这时将在该位置上为图形界面添加一相应的控件,接下来,通过属性编辑器和对齐编辑器对各控件设置相关属性和进行界面布置,以完善界面功能。

2.方案选择及设计(1)利用Windows 下的录音机或其他软件,录制一段自己的语音信号,时间控制在1s左右,并对录制的信号进行采样。

(2)语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图。

(3)将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较。

(4)设计几种特殊类型的滤波器:单回声滤波器,多重回声滤波器,无限个回声滤波器,全通结构的混响器,并画出滤波器的频域响应。

(5)用自己设计的滤波器对采集的语音信号进行滤波。

(6)分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。

(7)回放语音信号。

3.程序设计流程四、调试分析1.软件中设置问题,通过edit—figure-copy-figure时发现粘贴到word里面的图形有问题通过设置图片属性可以解决此问题,通过这个问题的解决加深了对软件的了解,更加熟悉软件的运行。

2.GUI界面问题在界面运行时发现按钮覆盖住了图形,通过改变subplot函数的后面的参数,进行修改,改为subplot(2,15 ,[2 13])和subplot(2,15,[17,28])是按钮和图形分开。

3.程序中的细节问题a对信号进行采样时,采样区间为[20000 26000],做DFT变换点数应该为6001,刚开始做的时候就直接写为6000.b语音信号的音道问题,采取的语音信号为双声道,只需要取其中的一个声道进行分析,函数为y=y(:,1);五、结果分析与体会GUI设计界面运行结果:对信号采样后,信号时域波形出现了离散化的分布,不像原始图像那样密集分布,频谱图也是同样的变换,幅度和频率都是根据采样区间变化的从时域图出延时是让原来的波形向右移动300,频域的幅度发生了变化。

混响:在时域图看前面几乎没变化,后面的幅度有一定变化。

在频谱图幅度变化很大,中间的上下相互抵消,两边的跳动很大。

时域上形状大致相同,幅度有微小变化。

频谱上也是滤波前后两边跳动变换较大,幅度变化较大。

时域上波形变得稀疏了,幅度相对变化较大。

频谱上变化两边上下跳的动变化,中间变化抵消全通结构时域大致一样,滤波前比滤波后幅度有变化6000以后上下跳动抵消频域上变化的不为明显,幅度发生了变化。

设计心得体会此次课程设计综合了数字信号处理的理论知识和实践经验,经过两周的时间在查阅相关资料结合以前学过的数字信号处理和数字信号处理实验,如期完成了设计任务要求,并加深了对知识的理解,提高了自己的实践动手能力。

相关主题