Reverb音效算法研究实现
来源:互联网 发布:大浦洞导弹 知乎 编辑:程序博客网 时间:2024/05/23 11:47
如需转载请注明出处!
1. Reverb物理原型
在一定的空间范围内(如房间中)进行语音/音频播放时(讲话或者Audio播放)。对于语音/音频接收端而言,其接收到的音频信号除了播放端直接传递过来的信号(直达声)外,还包含了经过各种复杂物理反射后的信号(反射声)。反射声信号要延迟于直达声信号到达,并且由于物理反射作用其能量要发生衰减。并且空间模型不同(房间、礼堂),反射声的延迟及能量衰减会有较大的差异,从而造成主观听觉的不同。如图1所示。
图1. 音频信号传输
2. 数字信号处理模型
2.1 梳状滤波器模型
由Reverb物理模型可知,混响信号可以看做直达信号和各阶延迟信号的叠加。
y(n) = x(n) + ax(n-m) + a2 x(n-2m) + ……
转换到Z域,可得到系统单位冲击响应的Z变换为:
H(z) = 1+a z-m + a2 z-2m+……
等比求和后,传递函数为:
其时域方程又可以表述为:
y(n) = ay(n-m) + x(n)
即一阶的IIR滤波器,其中m为延迟间隔即延迟时间,系统框图如图2所示:
由梳状滤波器的幅频特性可知,其频域相应幅度呈现梳妆分布;从梳状滤波器的脉冲响应可知,其冲击响应点离散的以m为间隔延续,且能量逐渐减小,因此与Reverb物理特性相一致。但是其回声密度受限于延迟时间,因此回声密度较低。
2.2 全通滤波器模型
全通滤波器模型是在梳状滤波器模型的基础上,通过增加一条前向反馈支路实现的。该模型的时域系统表达式为:
y(n) = -gx(n) + x(n-m) +gy(n-m);
其Z域传递函数为:
系统传递框图如图3所示:
图3. 全通滤波器系统框图
由全通滤波器的幅频特性可知,其频域相应幅度呈现直通分布;从梳状滤波器的脉冲响应可知,其冲击响应点离散的以m为间隔延续,且能量逐渐减小,因此与Reverb物理特性相一致。但是其回声密度同样受限于延迟时间,因此回声密度较低。
2.3 Schroeder混合模型
综合梳状滤波器和全通滤波器,为了实现较高的回声密度,将4个梳状滤波器进行并联,然后通过2个级联的全通滤波器,实现Schroder混合模型。Schroeder混合模型的系统框图如图4所示。
图4. Schroeder模型系统框图
3. 算法实现
基于Schroeder模型的原理,本地对算法进行了实现。根据不同的空间模型其延迟特性不同,在空间模型设定时进行延迟参数的校准,最终生成了3种空间模型:小房间、大房间及礼堂模型。并且对纯语音和音频样本进行了初步测试,效果如下(以纯语音样本处理为例)。
(a) 原始音频文件
(b) 小房间模型数据
- Reverb音效算法研究实现
- Reverb音效算法研究实现
- 音效系统实现:事件音效
- Convolution Reverb
- 1.实现音效笔记
- cocos2d-x音效实现
- Android游戏音效实现
- MD5算法研究(实现)
- 音效
- 音效
- Motivation behind REVERB challenge
- Reverb详细大解说
- CRC编码算法研究与实现
- 关于MRu算法的实现研究
- RSA算法研究与PYTHON实现
- 音频Equalizer算法研究与实现
- 【算法研究与实现】最小二乘法直线拟合
- 音频均衡器Equalizer算法研究与实现
- 设计模式——组合模式
- (hdu step 4.3.6)N皇后问题(使用DFS来解决)
- Script Error getScript
- 充电桩的三种网络接入方案介绍
- QT] 存取ini文件的一些细节
- Reverb音效算法研究实现
- POJ 2479 Maximum sum && sicily 1090
- ibatis持久化框架相关配置
- 250+ Free Responsive HTML5 CSS3 Website Templates
- 微信公众平台开发之现金红包(Java)
- gitlab升级脚本
- iOS--UIButton用法
- php win8环境搭建
- 设计模式——状态模式