我有一个名为harmonizer的自定义类,该类扩展了AKNode并在其中包含AudioKit库中的其他几个AKNode。想法是在Harmonizer中具有信号链,该信号链可以集成到另一类的较大信号链中。我有协调器扩展AKNode并以AKNode作为输入,但是,每当我从另一个类调用协调器信号链时,应用程序在打开时崩溃。我想也许我没有正确指定协调器信号链的输出。
以下是调和器的外部调用:
input_signal = AKMicrophone()
input_booster = AKBooster(input_signal)
harmonizer = Harmonizer(input_booster)
output_mix = AKMixer(harmonizer)
AudioKit.output = output_mix
这是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()
}