声音的延时和混响仿真(2)

2019-04-22 17:22

武汉理工大学《信息群处理课程设计》报告书

对于录制一个wav语音文件,对其进行采样信号、对加入延时和混响后的信号和通过几种特殊滤波器后的信号分别画出对应的时域波形和频谱图,并对比进行分析。

3 系统框架及实现

3.1 总体方案图

利用Windows下的录音机或其他软件,录制一段自己的语音信号,时间控制在1s左右,并对录制的信号进行采样 语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图 将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较 设计几种特殊类型的滤波器:无限个回声滤波器,全通结构的混响器,并画出滤波器的频域响应。用自己设计的滤波器对采集的语音信号进行滤分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化 回放语音信

图3.1程序总体框图

2

武汉理工大学《信息群处理课程设计》报告书

3.2 程序流程图

用wavread从自己的电脑导入Windows下1s语音信号 画出采样后语音信号的时域波形与频谱图。N=2001,和调用fft函数快速傅里叶变换。 对采样后语音信号进行延时30,在调整采样信号的长度,两者相加,就得到混响。 单回声滤波器 a=0.5; yy1=x+z*0.5; YY1=fft(yy1,2001); 无限个回声滤波器 Bz=[0,0,0,0,0,0,0,0,0,0,1]; Az=[1,0,0,0,0,0,0,0,0,0,-a]; yy2=filter(Bz,Az,x); YY2=fft(yy2,2001); 多重回声滤波器 N=5 Bz1=[1,0,0,0,0,0,0,0,0,0,-a^N] Az1=[1,0,0,0,0,0,0,0,0,0,-a]; yy3=filter(Bz1,Az1,x); YY3=fft(yy3,2001); 全通结构的混响器 Bz1=[a,0,0,0,0,0,0,0,0,0,1]; Az1=[1,0,0,0,0,0,0,0,0,0,a]; yy4=filter(Bz1,Az1,x); YY4=fft(yy4,20001); sound(yy1,fs,bits); sound(yy2,fs,bits); sound(yy3,fs,bits); sound(yy3,fs,bit);

图3.2程序流程图

3

武汉理工大学《信息群处理课程设计》报告书

4 设计原理

4.1 混响和延时的基本原理

1. 混响

声音是通过媒质传入人的听觉器官的。媒质,既是声音的传播途径,也是声音的载体。用一个日常生活中司空见惯的例子来说,媒质,就像湖中传递波浪的湖水。在平静的湖面投人一块石子,石子击起水波,波纹越来越大,水波越传越远。这湖水,就是传播水波的媒质。声音也仿佛如此:当某一声源发音,空气中声波的震荡就会改变周围空气的静止状态,使之形成时而压缩,时而稀疏的前进波,声波就这样不断地散发开去,传播声音的媒质就是空气。

在闭室中,当声源发出一个声音信号(例如是一个脉冲声信号)时,位于室内任何一点的听者所接收到的声音中,应包含两部分成份,一部分是由声源直接传到听者的声音,我们称其为“直达声”。另一部分是声波传到墙壁或障碍物处反射出的声音,其中有一些被听者接收到,另外一些又会传到其它墙壁处再次发生反射,反射后的声音中又有一些被听者接收到,类似地持续下去,将听者接收到的这部分声音,统称为“反射声”。从时间上看,反射声较直达声落后(或称为延迟声),从能量角度看,由于每经一次反射都会有部分能量被吸收,因此反射声是一系列能量逐渐衰减的延迟声。

数字混响可以通过用人工创作的回音并将它加入原始信号里,从而把隔音录音室里录制的声音转换为一种自然的声音形式;回音可以简单地由延迟单元产生。

混响效果主要是用于增加音源的融合感。自然音源的延时声阵列非常密集、复杂,所以模拟混响效果的程序也复杂多变。常见参数有以下几种:

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

(2)高频滚降:此项参数用于模拟自然混响当中,空气对高频的吸收效应,以产生较为自然的混响效果。一般高频混降的可调范围为0.1~1.0。此值较高时,混响效果也较接近自然混响;此值较低时,混响效果则较清澈。

4

武汉理工大学《信息群处理课程设计》报告书

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

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

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

(6)频率调制:这是一项技术性的参数,因为电子混响的声阵密度比自然混响稀疏,为了使混响的声音比较平滑、连贯,需要对混响声阵列的延时时间进行调制。此项技术可以有效的消除延时声阵列的段裂声,可以增加混响声的柔和感。

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

2. 延时

延时就是将音源延迟一段时间后,再欲播放的效果处理。依其延迟时间的不同,可分别产生合唱、镶边、回音等效果。

当延迟时间在3~35ms之间时人耳感觉不到滞后音的存在,并且他与原音源叠加后,会因其相位干涉而产生\梳状滤波\效应,这就是镶边效果。如果延迟时间在50ms以上时,其延迟音就清晰可辨,此时的处理效果才是回音。回音处理一般都是用于产生简单的混响效果。

4.2 离散傅立叶变换

在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执

5

武汉理工大学《信息群处理课程设计》报告书

行一种混合基的离散傅立叶变换算法,计算速度较慢。

函数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选择点数有关,但不影响分析结果。

4.3 滤波器设计

数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。

数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。

4.3.1 特殊滤波器的系统函数: 1. 单回声滤波器的系统函数:

H(z)= 1?a?z?(?R) a<1 (式4-3) 2. 无限个回声滤波器的系统函数:

H(z)=z?(?R)(式4-4) [1?a?z?(?R)] a<1

3. 多重回声滤波器的系统函数 :

H(z)= [1?aN?z?NR][1?a?z?R]

a<1 (式4-5)

4. 全通结构的混响器的系统函数:

H(z)=[a?z?(?R)]

6

(式4-6) [1?a?z*(?R)] a<1


声音的延时和混响仿真(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:马达加斯加国家语言 马语汉语音译资料(1640个单词)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: