音频混响(除了 Freeverb)是否有任何好的 C 或 C 类源代码。听起来很棒的低通滤波器的例子数不胜数,但要找到听起来不错的混响源却非常困难。
这是为什么?保留良好的实现而不发布是否是一个足够困难的问题?
音频混响(除了 Freeverb)是否有任何好的 C 或 C 类源代码。听起来很棒的低通滤波器的例子数不胜数,但要找到听起来不错的混响源却非常困难。
这是为什么?保留良好的实现而不发布是否是一个足够困难的问题?
你在开玩笑吗?混响是世界上最容易以编程方式完成的事情:
for (int i = 0; i < input.Length; i++)
{
output[i] += input[i];
output[i + delay] += input[i] * decay;
}
我现在全职写这种东西,所以也许看起来很容易。你的意思是你正在寻找更一般的回声或空间效果,可能包括调频延迟线和合唱等?
这个怎么样?我知道你说过你不想要 freeverb,但这是 freeverb 的第 3 集,在我看来,它看起来已经有了很大的改进。
(来源:soundonsound.com)
此版本是支持脉冲响应的卷积混响。对于那些不知道那是什么的人,工程师将麦克风带入他们想要建模的空间(即表演厅)并开火,测量产生的回声。然后使用这些回声来模拟混响。这个过程提供了一个非常逼真的混响,反映了表演厅的特点。
逼真的混响算法有点像音频 DSP 编程的“圣杯”……当今专业音频市场有两种基本方法:
脉冲响应卷积背后的主要挑战是效率与质量的权衡(包括延迟!)。而延迟矩阵网络背后的主要挑战是在几乎没有谐波增强的情况下产生大量延迟点阵。
专业人士为逼真的混响付出了大量的金钱……一个“好”的混响器零售价可以超过 2000 美元,而“非常好”的混响器的零售价要高得多。
欢迎来到专业音响行业...
你可以做的比阅读约翰·达托罗关于这个主题的论文更糟糕,在他的主页上。Dattorro 在 Lexicon 工作,我参考的论文包括对高质量混响设计的广泛讨论。
除此之外,musicdsp 上的各种链接,以及文献中很少参考,伟大混响的设计都笼罩在秘密之中。最好的混响要么是由与上一代伟大混响设计师合作过的人设计的,要么是由在这个主题上投入大量时间的痴迷者设计的。无论哪种情况,设计师似乎都对他们的方法守口如瓶。