首页 > 解决方案 > 更改参数值时的 AudioKit 咔哒声/拉链噪音

问题描述

我有一个带有 AudioKit 效果链的 iOS 应用程序,构建如下:

IN --\ AKEqualizerFilter -- AKLowPassFilter -- AKChorus -- AKDelay -- AKReverb ---|
      \___________________________________________________________________________| DryWet -> OUT

每种效果的量由其本地干/湿混合器控制,并且可以使用最终的干/湿混合器将整个链条带入/带出。我发现在移动控制单个 AU 参数(尤其是混响和延迟)的滑块时,我会听到咔嗒声/拉链噪音。我在 and 中尝试了不同的选项AKSettings.bufferLengthAKSettings.rampDuration但似乎无法摆脱它。还有其他我可以尝试的策略吗?

我见过的所有例子都没有表明有任何特殊的方法可以访问参数,所以它们只是从我们的 UI 中调用,使用通用的 UISliders。但是,我确实尝试从主线程调用参数更改,但没有任何改变。

更新3:好的,所以挖掘更多似乎AKOperationEffect是要走的路,但是,我仍然不确定如何控制它。我已经这样设置了:

var delTime = 0.33
if useSync == true {
    let tempo = SequencerController.sharedInstance.currentTempo
    let beatDur = (60000 / tempo) / 1000
    // we'll make the default a dotted-eighth
    delTime = 0.75 * beatDur
}
let opEffect = AKOperationEffect(input) { input, params in
    return input.smoothDelay(time: params[0], feedback: params[1], samples: 1024, maximumDelayTime: 10.0)
}
opEffect.parameters = [delTime, 0.]

whereinput来自前一个节点——所以,在这个链中,来自合唱。这确实让我延迟了time(没有拉链!)但我找不到控制干/湿混合的方法。AKOperationEffect 可能无法做到这一点吗?

标签: iosaudiokit

解决方案


推荐阅读