Я использовал ваш код, и он не помог, но я обнаружил, что этот «щелчок» появляется в конце, когда генератор останавливается. так что если даже rampDuration равен 0.0, в начале не будет «щелчка», а только «щелчка» в конце. Вот мой код (он находится внутри приложения IOS):
class ViewController: UIViewController {
var osc = AKOscillator(waveform: AKTable(.sine), amplitude: 0)
@IBAction func buttonTapped(_ sender: UIButton) { //when button in App is pressed
osc.rampDuration = 0.2
AudioKit.output = osc
osc.frequency = Double.random(in: 100.0...1000.0)
try? AudioKit.start()
osc.start()
osc.amplitude = 0.5
osc.rampDuration = 0.0 //to avoid frequency glide effect
sleep(1)
//osc.rampDuration - I tried to change rampDuration before oscillator stop, but it
//did not help
osc.stop() //here is amplitude 'click' appears
try? AudioKit.stop()
}
Итак, как я предположил, мне все равно придется использовать конверты?