我正在尝试使用 FFT 创建/实现实时混响算法。我尝试过 FDN 和其他更简单的算法,但它们听起来还不够好。因此,通过将变换后的信号和变换后的脉冲响应相乘来进行快速卷积是有效的,而且听起来很棒。
我看到的问题是,如果我想要一个持续几秒钟的混响,那么脉冲响应包含 100 000+ 个值,并且由于我的输入缓冲区是 256 个样本,所以卷积的结果是 100 255+ 个结果值,必须与之前的卷积结果相加,更不用说为 256 个输入样本的每个缓冲区计算 100 000+ 个值的 FFT。
这个问题必须有更好的解决方案。是否可以仅计算 256 个值的 FFT(+ 256 个填充零,因为它不是循环信号)。混响不必绝对正确,只要听起来不错。