Supercollider:将 FX 应用到一个组似乎会影响其他组

问题描述

我在 supercollider 上为每个乐器创建了单独的组,以便我可以将 FX(如回声)应用到组中,并且只影响一个乐器,而不是该 sc 服务器上播放的所有乐器。

在节点树上,echo synthdef 正确出现在所需组(框)中,并且 FX 应用于该组中的仪器,但也错误地将 echo 应用于同一服务器上其他组中的节点。>

我注意到它会影响所有较高数量的组,而不是较低数量的组。将 FX(回声)应用于第 1 组或第 2 组也会将相同的 FX 应用于第 3、4、5、6、7、8 组等,但将 FX 应用于第 8 组似乎不会影响第 1、2、3 组,4,5,6,& 7。

我已经在以下系统/版本上测试过这个......

  • ubuntu (Linux) 上的超级对撞机版本 (1:3.10.0+repack-1ubuntu2) Optiplex-3010 5.4.0-70-generic #78-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux)

  • Linux raspBerrypi 上的超级对撞机版本 (1:3.10.0+repack-1+rpi1) 4.19.75-v7l+ #1270 SMP armv7l GNU/Linux

  • Linux 上的超级对撞机版本 (1:3.8.0~repack-2) 5.0.0-32-generic #34~18.04.2-Ubuntu SMP 2019 i686 i686 i686 GNU/Linux

这是一个已知的错误吗?我可以对超级对撞机代码进行任何手动更改来解决这个问题吗?如果没有,那么每个仪器都必须是单独的 RPi4,这会导致每个 RPi 的利用率不足并显着增加项目成本。

致所有 SCcoders,

菲尔

请求的代码

(SynthDef(\echo,{|in,out,length = 1,fb = 0.6,sep = 1|
   var input = In.ar(in,2);
   var Feedback = LocalIn.ar(2);
   var output = LeakDC.ar(Feedback*fb + input);
   LocalOut.ar(DelayC.ar(output,length,sep));
   ReplaceOut.ar(out,output);
}).writeDefFile("/home/phil/Supercollider/syndef");)

我通过 TCP/IP 通过 OSC 发起回声,但基本上它会被调用

/s_new s 'echo' i 1028 i 0 i 8     //in this case 1028 is the node for track 8 
                                   //and 8 is the SC group 

并调整:

/n_set i 1028 s 'fb' f 0.7

解决方法

没有看到任何代码,这很难回答,但我想知道您是否使用公共汽车?您的乐器组应该输出到回声总线,该总线应该输出到您希望声音接下来的位置 - 另一个 FX 总线或 0。

您想绘制组的框图,连接输入和输出。请记住,任何 FX 组都可以从多个位置接收输入,但只有一个输出。这意味着您最终可能会多次运行同一个 FX 合成器,例如,如果您想要在 A 组和 B 组上回声,但随后又希望 B 组进入压缩器。

确保声明每条总线,给它一个好的变量名,并记住在合成器创建时将其作为参数传递。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...