У меня есть собственный класс с именем harmonizer, который расширяет AKNode и содержит несколько других AKNodes из библиотеки AudioKit.Идея состоит в том, чтобы иметь в Harmonizer цепочку сигналов, которая может быть интегрирована в большую цепочку сигналов другого класса.У меня есть гармонизатор, расширяющий AKNode и принимающий AKNode в качестве входа, однако всякий раз, когда я вызываю цепочку сигналов гармонизатора из другого класса, приложение открывается при открытии.Я думаю, что, возможно, я неправильно определяю выходную сигнальную цепочку гармонизатора.
Вот внешний вызов гармонизатора:
input_signal = AKMicrophone()
input_booster = AKBooster(input_signal)
harmonizer = Harmonizer(input_booster)
output_mix = AKMixer(harmonizer)
AudioKit.output = output_mix
Вот функция init для класса Harmonizer:
init(_ input: AKNode) {
freq_tracker = AKFrequencyTracker(input)
chord_degree = 1
current_chord = one_chord
shifter1 = AKPitchShifter(freq_tracker)
shifter2 = AKPitchShifter(freq_tracker)
shifter3 = AKPitchShifter(freq_tracker)
shifter4 = AKPitchShifter(freq_tracker)
shifters = [shifter1, shifter2, shifter3, shifter4]
lead_shifter = AKPitchShifter(input)
tonic = 60.0
super.init()
}