转载:reverb
https://blog.csdn.net/qiumingjian/article/details/43938687
https://blog.csdn.net/jsjwangmingmin/article/details/58095888
https://wenku.baidu.com/view/547cb701a6c30c2259019e64.html
https://wenku.baidu.com/view/a856682bf4335a8102d276a20029bd64783e6297.html
所谓混响就是声音的直达声与反射声很紧凑的重合在一起时人耳所听到的声音,这个效果在语音的后期处理时特别有用。能产生混响最常见的场景就是房间内,尤其是空旷的房间中。
混响有直达声,早期反射和后期反射声组成。其中直达声是声源信号不经过任何障碍物直接到达人耳的那部分、早期反射声由一次或者几次反射的声音信号组成、后期反射声由随后更多次的反射声音信号组成。混响效果的空间感主要由早期反射声决定。

1.梳状滤波器
由于每次反射都会因为墙壁、障碍物等吸收一部分能量,所以声音信号的能量呈指数衰减。因此混响信号可以看成由直达声与许多逐步衰减、不断延迟的回声信号叠加而成,很自然的想到可以利用等比数列求和来进行模拟混响:

这里x(n)为原始声音信号、y(n)为混响信号、a为衰减系数、D为延迟时间。写成传递函数为:

由等比数列求和公式,传递函数可以转换为:

熟悉信号处理的朋友可能会比较眼熟,这不正是梳状滤波器吗?一点没错!正是IIR梳状滤波器。
如果写成差分方程,可表示为:


其典型的频谱特性为:
a=0.5, D=8.
B=[1 zeros(1, 7)];
A=[1 zeros(1, 6) -0.5];
[H, w]= freqz(B, A, 400, 'whole');
Hf=abs(H)
Hx=angle(H)
clf
figure(1)
plot(w, Hf)
figure(2)
plot(w, Hx)


梳状滤波器频谱曲线不平坦,呈现明显的梳状效应,从而对不同的频率成分幅度产生波动,导致有金属声染色效应,听起来不够自然,另外,单纯使用梳状滤波器,其回声密度还是不够多。
2.全通滤波器
全通滤波器既有信号的延时效应,频谱又比较平坦。全通滤波器模型是在梳状滤波器模型的基础上,通过增加一条前向反馈支路实现的。
一阶全通传递函数可以表示为:

差分方程:


m=8, g=0.5,其频谱特性:


由全通滤波器的幅频特性可知,其频域相应幅度呈现直通分布;从梳状滤波器的脉冲响应可知,其冲击响应点离散的以m为间隔延续,且能量逐渐减小,因此与Reverb物理特性相一致。但是其回声密度同样受限于延迟时间,因此回声密度较低。
3 Schroeder混合模型
综合梳状滤波器和全通滤波器,为了实现较高的回声密度,将4个梳状滤波器进行并联,然后通过2个级联的全通滤波器,实现Schroder混合模型。
梳状滤波器提供了混响效果中延时较长的回声,而延时较短的全通滤波器则起到了增加反射回声的密度的作用。在不同的滤波器中采用不同的延时可以使回声密度加大,并产生典型的具有早期反射和后期反射声的脉冲响应。通过将梳状滤波器的延时取得不规则,各个滤波器的频谱的峰谷不重叠,又避免了由于梳状滤波频谱不平坦造成的金属染色效应。

C1~C4为梳状滤波器,其延时时间取29.23ms, 37.67ms, 41.49ms, 44.31.ms
A1~A2为全通滤波器,延时取5ms, 1.7ms, 反馈增益取0.7, 0.7.
其频率响应如下


根据“Natural Sounding Artificial Reverberation”原文,混响时间与延时和衰减系数的关系为:T60=3*Td / (-log(a)).
混响时间定义为衰减60db的时间,Td为延时时间,a为衰减系数。

V 房间的体积,单位为立方米
S 房间的总表面积,单位为平方米
a为墙壁的吸声系数,那么则有(1-a)部分的声能被反射回来,并作用于下一次反射,且每一次都有a部分声能被吸收
转载:reverb的更多相关文章
- VLC命令参数(转载)
转载自: http://blog.csdn.net/bytxl/article/details/6613449 http://www.cnblogs.com/MikeZhang/archive/201 ...
- Crystal Clear Applied: The Seven Properties of Running an Agile Project (转载)
作者Alistair Cockburn, Crystal Clear的7个成功要素,写得挺好. 敏捷方法的关注点,大家可以参考,太激动所以转载了. 原文:http://www.informit.com ...
- RTP与RTCP协议介绍(转载)
RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.RTP中没有连接的概念,本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完 ...
- 《Walking the callstack(转载)》
本文转载自:https://www.codeproject.com/articles/11132/walking-the-callstack Download demo project with so ...
- [转载]MVVM模式原理分析及实践
没有找到很好的MVVM模式介绍文章,简单找了一篇,分享一下.MVVM实现了UI\UE设计师(Expression Blend 4设计界面)和软件工程师的合理分工,在SilverLight.WPF.Wi ...
- [转载]:STM32为什么必须先配置时钟再配置GPIO
转载来源 :http://blog.csdn.net/fushiqianxun/article/details/7926442 [原创]:我来添两句,就是很多同学(包括我)之前搞低端单片机,到了stm ...
- [转载]从MyEclipse到IntelliJ IDEA-让你摆脱鼠标,全键盘操作
从MyEclipse转战到IntelliJ IDEA的经历 注转载址:http://blog.csdn.net/luoweifu/article/details/13985835 我一个朋友写了一篇“ ...
- TCP同步与异步,长连接与短连接【转载】
原文地址:TCP同步与异步,长连接与短连接作者:1984346023 [转载说明:http://zjj1211.blog.51cto.com/1812544/373896 这是今天看到的一篇讲到T ...
- 在CentOS 7/6.5/6.4 中安装Java JDK 8(转载)
转载在CentOS 7/6.5/6.4 中安装Java JDK 8 首先,在你的服务器上运行一下更新. yum update 然后,在您的系统上搜索,任何版本的已安装的JDK组件. rpm -qa | ...
随机推荐
- 实现Windows数据更新
一.枚举 枚举是一组描述性的名称 定义一组有限的值,不能包含方法 对可能的值进行约束 .定义枚举类 public enum Gender { Male,Female } .使用枚举表示整数值 publ ...
- laravel中{{}}和{!! !!}的区别
1.{{}}和{!! !!} 中{{}}支持转义 一段html代码只是被当成普通的字符串输出 ,{!! !!} 不支持转移 一段html代码可以被正常的解析 1.2具体什么意思呢我们上代码演 ...
- data_analysis 第一课
1.anaconda的安装与使用 在官网下载anaconda的客户端,因为python有2和3之分,所以有两个版本可以供选择,由于该课程使用2作为开发工具,选择anaconda2下载安装. 安装好之后 ...
- GearHost稳定免费美国全能空间测试主机100M容量
GearHost是一家美国的全能空间服务商,提供有免费100M容量的空间,月流量1G,限制CPU使用5%,由于配置过小只适合于开发测试使用,不过主机支持的脚本众多,支持PHP.NET和node.js还 ...
- print不是函数
对文章阅读有感!!! 文章地址:http://www.laruence.com/2019/03/01/4904.html print是一个语法结构(language constructs), 他并不是 ...
- hzq84621巨佬的语录
摘自诸中培训讲图论时: 1.光图论考不出什么东西,一般作为DP的附庸出现. 2.如果不是骗骗不承认SPFA的外国人,一般能用dij就用dij. 3.那个东西(指bellman-ford)除了判负环没什 ...
- VSCode C语言编程(一)环境搭建
1.安装Visual Studio Code 2. 安装MinGW编译器 有两种方法 方法(1) 打开https://sourceforge.net/projects/mingw-w64/files/ ...
- JS实现“隐藏与显示”功能(多种方法)
1,通过按钮实现隐藏与显示: 这个是通过按钮点击实现的隐藏与显示,具体代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
- Nessus安装出现localhost:8834无法访问
1.下载Nessus https://www.tenable.com/downloads/nessus#download 2.安装方法 详细安装方法参考下文 https://www.ld80.cn/a ...
- Python 编辑注意点
文本编辑 Python: 绝对不能用Word和Windows自带的记事本. (1)Word保存的不是纯文本文件 (2)记事本会自作聪明地在文件开始的地方加上几个特殊字符(UTF-8 BOM),结果会导 ...