Swift 音频套件,阻尼声音最佳实践

Swift 音频套件,阻尼声音最佳实践,swift,timer,audiokit,Swift,Timer,Audiokit,我正在使用AKPuckedString(),希望随着时间的推移“减弱”声音 我使用一个回调阻尼函数让它正常工作,当音符被拨动时,该函数从计时器中调用 @objc func dampenString(timer:Timer){ string.amplitude = strings.amplitude*0.5 if(string.amplitude < 0.001){ string.stop() timer.invalidate() }

我正在使用AKPuckedString(),希望随着时间的推移“减弱”声音

我使用一个回调阻尼函数让它正常工作,当音符被拨动时,该函数从计时器中调用

@objc func dampenString(timer:Timer){
    string.amplitude = strings.amplitude*0.5
    if(string.amplitude <  0.001){
        string.stop()
        timer.invalidate()
    }
    else{

        Timer.scheduledTimer(timeInterval: 0.07 , target: self, selector: #selector(self.dampenString), userInfo: nil, repeats: true)

    }
}
@objc func阻尼字符串(计时器:计时器){
字符串.振幅=字符串.振幅*0.5
如果(串振幅<0.001){
string.stop()
timer.invalidate()
}
否则{
Timer.scheduledTimer(时间间隔:0.07,目标:self,选择器:#选择器(self.dampString),userInfo:nil,repeats:true)
}
}

我想知道苹果的定时器是不是最好的机制,或者是否有更好的方法来使用AudioKit。对任何见解都开放。谢谢

计时器不是一个好的机制。你可以很容易地深入到dsp中,改变参数,给你一种更柔和的感觉。有没有一个好的例子可以帮助我“深入dsp”?非常感谢。我认为它不应该那么令人畏惧,因为它被浓缩到一个地方,你会做一些小的调整,然后倾听变化。必须从某个地方开始:)你也可以尝试使用采样器并设置ADSR信封(攻击衰减持续释放)