如何为声音产生逼真的回声?

信息处理 过滤器 声音的 冲动反应 延迟 几何学
2022-02-14 07:31:06

我想在声音信号中添加人工回声最直接的方法是将其延时版本添加到原始信号中。但是,我不确定这听起来有多现实。

我正在阅读有关从脉冲响应中估计房间几何形状的论文(例如,请参见本文)。所以,也许一个应该有几个回声而不是只有一个。

我想当声音信号被反射(一种过滤)时,它也会发生一些事情。

你会在这里建议什么?

2个回答

一个非常简单的模型是信号的衰减和延迟复制的总和。可以使用 FIR 滤波器生成这样的信号。过滤器的长度是“回波时间”,即回波持续多长时间。
最简单的方法是生成稀疏脉冲响应。构建一个具有个非零系数和衰落幅度的滤波器(例如,可以使用瑞利分布生成幅度)。 n

如果您想要更真实的场景,我建议使用Emanuel Habets的房间脉冲响应 (RIR) 生成器。

你可以说两种不同的东西:延迟和混响。我认为您正在寻找的是混响。

做混响的两种方法是多抽头混响和卷积混响。多抽头速度更快,但卷积质量更高。

以下是一些包含更多信息和示例 C++ 代码的链接:

http://blog.demofox.org/2015/03/17/diy-synth-multitap-reverb/

http://blog.demofox.org/2015/03/23/diy-synth-convolution-reverb-1d-discrete-convolution-of-audio-samples/