是否可以将输入重置为 AudioKit AKNode?

Is it possible to reset the input to an AudioKit AKNode?

我正在使用 AudioKit 构建一个应用程序,以便能够偶尔对处理链进行重新排序。例如,我可能有 "wav" -> "reverb" -> "filter" 我想交换一些东西所以我有 "wav" -> "filter" -> "reverb".

我想做的是调用 AudioKit.stop(),将输入重新连接到现有节点,然后再次调用 AudioKit.start()。但是,在我看来,您不能将输入更改为构造函数之外的节点,因此我需要复制每个节点的状态,创建一个具有相同状态的新节点,然后再次设置我的链。

有没有更简单的方法来实现这一点,而不必每次都使用相同的参数销毁和重新制作节点?

对于您的示例,我会考虑只使用 wav->reverb->filter->reverb,然后绕过您不想使用的混响。绕过的效果应该不会对你的CPU造成任何负担,所以应该没问题。这解决了您的示例,但是对于更通用的解决方案,是的,您必须重建整个链。核心团队的成员正在研究这个问题,但就目前而言,我认为这个答案已经足够了。