1

我目前正在使用 Csound 开发多声道音频卷积器。我正在创建两个 ftables 并以 48kHz 的采样率将两个不同的 IR 2048 点长加载到它们中。我正在使用第一个 gen 函数表命令 (iRL ftgen 0, 0, 2048, -1, "IRL.wav", 0, 0, 0) 和 (iRR ftgen 0, 0, 2048, -1, "IRR.wav ", 0, 0, 0)。

我目前遇到的一个问题是将函数表编号设置为负数(-1)确实会停止缩放,但每个 ftable 的缩放比例不同。一个 scalemax 值为 0.155,另一个为 0.145。我想知道如何完全阻止这种缩放的发生,这样两个 IR 都不会缩放并加载到表中。

4

1 回答 1

0

我认为您所做的是正确的,尽管您没有将“函数表编号设置为负数(-1)”,而是将 GEN 编号(归一化为 1,简单复制为 -1)。
在您描述的情况下,我无法相信任何缩放都是由 Csound 完成的,因此我看到 scalemax 值差异的两种可能性:
1)输入文件具有这些(不同的)最大值。如果它们是真正的立体声脉冲响应,这很有可能。
2)确保您确实将单声道音频文件导入表中。如果“IRL.wav”有多个频道,你会一团糟。(或者,您可以使用立体声文件将两个通道导入表中。)
顺便说一句,我想知道您是否不需要表的全局变量(giRL 和 giRR 而不是 iRL 和 iRR)。

于 2016-01-27T17:41:29.050 回答