CSOUND 函数表缩放错误

Posted

技术标签:

【中文标题】CSOUND 函数表缩放错误【英文标题】:CSOUND Function Table Scaling Error 【发布时间】:2016-01-27 03:22:43 【问题描述】:

我目前正在使用 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 都不会缩放并加载到表中。

【问题讨论】:

【参考方案1】:

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

【讨论】:

所使用的两个文件都是录制的立体声脉冲响应文件,我正在尝试应用实时真正的立体声卷积滤波器。我在这里附上了我的代码的链接。使变量成为全局变量,但在缩放比例上仍然没有区别。还提供了发生缩放的截图,可以在csound的终端输出中查看:dropbox.com/sh/q5hw3c3aa5jmvk0/AAAOne2ZeLTfV4snhiKV7p7qa?dl=0

以上是关于CSOUND 函数表缩放错误的主要内容,如果未能解决你的问题,请参考以下文章

出现语法错误,csound 中出现意外 T_IDENT 尝试使用 faustcompile

将自动缩放策略应用于 DynamoDB 表时出现 ObjectNotFoundException

Android 上 Csound 的非 UI 示例

如何在 balkangraph orgchart 中“修复缩放功能”错误?

如何在 Csound 中的乐器定义中包含持续时间

试图调用 cc 编译器