语音的延迟和混响Word文档格式.docx
- 文档编号:16752108
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:19
- 大小:115.54KB
语音的延迟和混响Word文档格式.docx
《语音的延迟和混响Word文档格式.docx》由会员分享,可在线阅读,更多相关《语音的延迟和混响Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
摘要
这次课设就是利用MATLAB软件对声音信号进行数字处理的过程,对语音信号进行频谱分析,并进行处理,包括延时、混响、单回声滤波、多回声滤波、无限回声滤波以及全通结构混响,并设计一个滤波器对该语音信号进行滤波处理,观察滤波后的波形图和频谱分析。
数字信号处理是将信号以数字方式表示并处理的理论和技术,而MATLAB则是一款功能强大的集数学运算和仿真为一体的软件当然,这次主要运用了软件强大的计算功能,尤其是软件自带的一些比较复杂的函数的调用,比方说:
快速傅里叶变换。
同时也利用软件的仿真功能,设计各种滤波器,对读入的声音信号进行滤波处理。
总体上来讲,通过课设学习了数字信号处理的相关理论知识,熟悉了软件的使用和滤波器的设计,了解了语音信号的特点。
关键词:
数字信号处理,快速傅里叶变换,延时与混响,滤波器。
Abstract
ThecoursedesignistheuseofMATLABsoftwarefordigitalaudiosignalprocessingprocedure,thespeechsignalspectrumanalysis,andprocessing,includingdelay,reverb,echofilteringasingle,multi-echofiltering,unlimitedall-passfilteringandechostructurereverb,anddesignafilterforfilteringthevoicesignal,thefilteredwaveformobservationandspectralanalysis.Digitalsignalprocessingiswillsignaltodigitalwaysaidthetheoryandtechniqueoftheandprocessing,andMATLABisapowerfulmathematicaloperationandsimulationofthesetforoneofthesoftware.ThisclasssetistheuseofthesoftwareMATLABvoicesignaldigitalprocessingprocess.Ofcourse,themainusingsoftwarepowerfulcomputingfunctions,especiallysoftwarebringingsomecomplexfunctioncall,forexample:
fastFouriertransformation.Atthesametimealsousingthesoftwaresimulationfunction,designoffilter,toreadinavoicesignalfilteringprocessing.Ingeneral,throughtheclasssetstudythedigitalsignalprocessingrelatedtheoryknowledge,befamiliarwiththeuseofthesoftwareandthedesignoffilter,understandthecharacteristicsofthespeechsignal.
Keywords:
digitalsignalprocessing,fastFouriertransform,delayandreverb,filter.
1任务与要求
1.1课程设计的任务
这次综合课程设计,是利用MATLAB软件对声音信号进行一系列的处理。
主要要做的任务有一下几点:
(1)利用Windows下的录音机或其他软件,录制一段自己的语音信号,时间控制在1s左右,并对录制的信号进行采样。
1.2课程设计的要求
这次课程设计是为了培养我们的学习能力和处理能力,所以对这次的课设有如下的几点要求:
(1)熟悉离散信号和系统的时域特性。
(2)熟悉语音信号的特点。
(3)掌握数字信号处理的基本概念,基本理论和基本方法。
(4)掌握序列快速傅里叶变换方法。
(5)学会MATLAB的使用,掌握MATLAB的程序设计方法。
(6)掌握MATLAB设计各种数字滤波器的方法和对信号进行滤波的方法。
1.3课题背景及意义
语音信号处理是一门比较实用的电子工程的专业课程,语音是人类获取信息的重要来源和利用信息的重要手段。
通过语言相互传递信息是人类最重要的基本功能之一。
语言是人类特有的功能,它是创造和记载几千年人类文明史的根本手段,没有语言就没有今天的人类文明。
语音是语言的声学表现,是相互传递信息的最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。
近年来,随着计算机及大规模数字集成电路的迅速发展,语音数字信号处理得到了相应的发展。
语音信号分析模拟、语音合成、语音识别等的研究已较成熟。
、各种声码器、声控器、语声识别系统、语声合成器等已逐渐有商品出现。
2原理分析
2.1混响
声音是通过媒质传入人的听觉器官的。
媒质,既是声音的传播途径,也是声音的载体。
用一个日常生活中司空见惯的例子来说,媒质,就像湖中传递波浪的湖水。
在平静的湖面投人一块石子,石子击起水波,波纹越来越大,水波越传越远。
这湖水,就是传播水波的媒质。
声音也仿佛如此:
当某一声源发音,空气中声波的震荡就会改变周围空气的静止状态,使之形成时而压缩,时而稀疏的前进波,声波就这样不断地散发开去,传播声音的媒质就是空气。
在闭室中,当声源发出一个声音信号(例如是一个脉冲声信号)时,位于室内任何一点的听者所接收到的声音中,应包含两部分成份,一部分是由声源直接传到听者的声音,我们称其为“直达声”。
另一部分是声波传到墙壁或障碍物处反射出的声音,其中有一些被听者接收到,另外一些又会传到其它墙壁处再次发生反射,反射后的声音中又有一些被听者接收到,类似地持续下去,将听者接收到的这部分声音,统称为“反射声”。
从时间上看,反射声较直达声落后(或称为延迟声),从能量角度看,由于每经一次反射都会有部分能量被吸收,因此反射声是一系列能量逐渐衰减的延迟声。
数字混响可以通过用人工创作的回音并将它加入原始信号里,从而把隔音录音室里录制的声音转换为一种自然的声音形式;
回音可以简单地由延迟单元产生。
混响效果主要是用于增加音源的融合感。
自然音源的延时声阵列非常密集、复杂,所以模拟混响效果的程序也复杂多变。
常见参数有以下几种:
(1)混响时间:
能逼真的模拟自然混响的数码混响器上都有一套复杂的程序,其上虽然有很多技术参数可调,然而对这些技术参数的调整都不会比原有的效果更为自然,尤其是混响时间。
(2)高频滚降:
此项参数用于模拟自然混响当中,空气对高频的吸收效应,以产生较为自然的混响效果。
一般高频混降的可调范围为0.1~1.0。
此值较高时,混响效果也较接近自然混响;
此值较低时,混响效果则较清澈。
(3)扩散度:
此项参数可调整混响声阵密度的增长速度,其可调范围为0~10,其值较高时,混响效果比较丰厚、温暖;
其值较低时,混响效果则较空旷、冷僻。
(4)预延时:
自然混响声阵的建立都会延迟一段时间,预延时即为模拟次效应而设置。
(5)声阵密度:
此项参数可调整声阵的密度,其值较高时,混响效果较为温暖,但有明显的声染色;
其值较低时,混响效果较深邃,切声染色也较弱。
(6)频率调制:
这是一项技术性的参数,因为电子混响的声阵密度比自然混响稀疏,为了使混响的声音比较平滑、连贯,需要对混响声阵列的延时时间进行调制。
此项技术可以有效的消除延时声阵列的段裂声,可以增加混响声的柔和感。
(7)调治深度:
指上述调频电路的调治深度。
2.2延时
延时就是将音源延迟一段时间后,再欲播放的效果处理。
依其延迟时间的不同,可分别产生合唱、镶边、回音等效果。
当延迟时间在3~35ms之间时人耳感觉不到滞后音的存在,并且他与原音源叠加后,会因其相位干涉而产生"
梳状滤波"
效应,这就是镶边效果。
如果延迟时间在50ms以上时,其延迟音就清晰可辨,此时的处理效果才是回音。
回音处理一般都是用于产生简单的混响效果。
延时、合唱、镶边、回音等效果的可调参数都差不多,具体有以下几项:
延时时间(Dly),即主延时电路的延时时间调整。
反馈增益(FBGain),即延时反馈的增益控制。
反馈高频比(HiRatio),即反馈回路上的高频衰减控制。
调制频率(Freq),指主延时的调频周期。
调制深度(Depth),指上述调频电路的调制深度。
高频增益(HF),指高频均衡控制。
预延时(IniDly),指主延时电路预延时时间调整。
均衡频率(EQF),这里的频率均衡用于音色调整,此为均衡的中点频率选择。
由于延时产生的效果都比较复杂多变,如果不是效果处理专家,建议使用设备提供的预置参数,因为这些预置参数给出的处理效果一般都比较好。
2.3滤波器设计
数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。
滤波器的设计按要求有四种,还要自己设计一种。
考虑到实际生活中的回声类型,比较接近IIR滤波器,即下面公式1:
Y(n)=x(n)+a1*y(n-d1)+a2*y(n-d2)+a3*y(n-d3)+a4*y(n-d4)+a5*y(n-d5)+a6*y(n-d6)+a7*y(n-d7)+a8*y(n-d8)+a9*y(n-d9)+10*y(n-d10)+a11*y(n-d11)-----------公式1
不过,原理大都是一致的,在MATLAB中,都是调用filter()函数,但是,最最重要的是确定这个函数的两个主要参数a和b。
确定了这两个参数就可以进行滤波了,所以只用设计参数a和b,a为传递函数分母系数向量,b为传递函数分子系数向量。
单回声滤波器的设计就是取a和b向量分别为[1,zeros(1,4410),0.2]和全1。
然后进行滤波就可以了。
多重回声滤波器,无限回声滤波器以及全通结构的滤波器的设计都只是改变a和b向量的参数而已。
多重回声滤波器的a和b向量取值为[1,1,1,1,1,1,1,1,1,1,1]和[1,0,0,0,0,0,0,0,0,0,0.2],正好和单回声滤波器的a和b取值相反。
无限回声滤波器的a和b取值为[0,0,0,0,0,0,0,0,0,0,1]和[1,0,0,0,0,0,0,0,0,0,-0.5]。
还有全通结构的a和b的取值为[0.5,0,0,0,0,0,0,0,0,0,1]和[1,0,0,0,0,0,0,0,0,0,0.5]。
2.4离散傅立叶变换
在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。
下面介绍这些函数。
函数FFT用于序列快速傅立叶变换。
函数的一种调用格式为
y=fft(x)(式4-1)
其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT。
且和x相同长度。
若x为一矩阵,则y是对矩阵的每一列向量进行FFT。
如果x长度是2的幂次方,函数fft执行高速基-2FFT算法;
否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。
函数FFT的另一种调用格式为
y=fft(x,N)(式4-2)
式中,x,y意义同前,N为正整数。
函数执行N点的FFT。
若x为向量且长度小于N,则函数将x补零至长度N。
若向量x的长度大于N,则函数截短x使之长度为N。
若x为矩阵,按相同方法对x进行处理。
经函数fft求得的序列y一般是复序列,通常要求其幅值和相位。
MATLAB提供求复数的幅值和相位函数:
abs,angle,这些函数一般和FFT同时使用。
用MATLAB工具箱函数fft进行频谱分析时需注意:
(1)函数fft返回值y的数据结构对称性。
(2)频率计算。
(3)作FFT分析时,幅值大小与FFT选择点数有关,但不影响分析结果。
3实验内容及结果分析
3.1读取原始音频信号并绘制时域和频域图
对用windows的录音机录制的语音信号进行采样后,用MATLAB对其进行处理,利用其绘图工具,绘制语音信号的时域和频域波形图,MATLAB代码如下:
原始信号的处理程序:
[x1,fs,bits]=wavread('
C:
\Users\Administrator\Desktop\我叫杨逸舟.wav'
);
sound(x1,fs);
%回放语音信号
x1=x1(:
1);
%将x1矩阵第一列赋值为x1
subplot(2,2,1);
plot(x1);
title('
原始语音信号'
gridon;
y1=fft(x1);
subplot(2,2,2);
plot(abs(y1));
原始信号的频谱'
[x,fs,bits]=wavread('
[1000040000]);
%对原语音信号进行采样
x=x(:
sound(x,fs);
subplot(2,2,3);
plot(x);
采样后语音信号的时域波形'
y=fft(x);
subplot(2,2,4);
plot(abs(y));
采样后信号的频谱'
运行结果如下:
图3.1原信号和采样后的运行结果
比较上面的2个时域频域波形,可以得到一个结论,语音信号的采样就是对语音信号的时域截取一部分,对频率部分的影响是可能会丢失一部分频率,但是不会有频率的增加.
3.2延时和混响的信号
延时的处理和混响的处理。
代码如下:
z=[zeros(20000,1);
x1];
sound(z,fs);
plot(z);
延时后的时域图'
Z=fft(z);
plot(abs(Z));
延时后的频域图'
y2=[x1;
zeros(20000,1)];
%将后面2个要相加的矩阵变成等长度
y3=y2+z;
sound(y3,fs,bits);
plot(y3);
混响的时域图'
gridon;
Y3=fft(y3);
plot(abs(Y3));
混响后的频域图'
处理后的结果,如图3.2所示:
图3.2延时和混响之后的音频时域频域图
从原始信号和处理后的延时图可以看出,延时并没有真正意义上改变语音信号,只是把信号的时域推后了,频谱图也可以看出,只是频谱的位置变化了,而且是线性搬移的。
从原始信号和处理后的混响的图可以看出,混响改变了语音信号的时域特性,音量有叠加的成分,其频谱也有改变,从图可见,混响的低频段呈明显的凹状分布,说明零频段的频率成分在语音信号中占得比例非常少,本来看不出来,但是混响使得频谱相同部分叠加了,就显得很明显了。
3.3滤波器的滤波
3.3.1.单回声滤波器代码:
[y,fs]=wavread('
sound(y,fs);
y=y(:
z=[zeros(3000,1);
y];
y=[y;
zeros(3000,1)];
subplot(3,2,1);
plot(y);
原信号时域图'
Y=fft(y,6001);
subplot(3,2,2);
plot(abs(Y));
原信号频域图'
a=0.5;
R=5000;
Bz1=[1,zeros(1,R-1),a];
Az1=
(1);
y2=filter(Bz1,Az1,y);
Y2=fft(y2,6001);
[h,w]=freqz(Bz1,Az1);
%求滤波器的幅频相应
subplot(3,2,3);
plot(abs(h));
单回声滤波器幅频响应'
subplot(3,2,4);
plot(angle(h));
单回声滤波器相频响应'
subplot(3,2,5);
plot(y2);
单回声滤波器时域图'
subplot(3,2,6);
plot(abs(Y2));
单回声滤波器频域图'
仿真波形如图3.3:
图3.3单回声滤波器波形
3.3.2.多重回声滤波器代码
N=5;
R=9000;
Bz1=[1,zeros(1,N*R-1),-a^N];
Az1=[1,zeros(1,R-1),-a];
多重回声滤波器幅频响应'
多重回声滤波器相频响应'
多重回声滤波器时域图'
多重回声滤波器频域图'
仿真波形如图3.4:
图3.4多重回声滤波器波形
3.3.3.无限回声滤波器代码:
Bz1=[0,zeros(1,R-1),1];
无限个回声滤波器幅频响应'
无限个回声滤波器相频响应'
无限个回声滤波器时域图'
无限个回声滤波器频域图'
仿真波形如图3.5:
图3.5无限回声滤波器波形
3.3.4.全通结果的混响器代码:
Bz1=[a,zeros(1,R-1),1];
Az1=[1,zeros(1,R-1),a];
全通滤波器幅频响应'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 延迟 混响