Использование звуковых эффектов с AudioEngine

Предыстория - я увидел видео под названием «AVAudioEngine на практике» из следующего списка видео, опубликованных на недавнем WWDC Apple, для применения звуковых эффектов к аудио.https://developer.apple.com/videos/wwdc/2014/

После этого мне удалось изменить высоту звука с помощью следующего кода:

 //Audio Engine is initialized in viewDidLoad()
 audioEngine = AVAudioEngine()
 //The following Action is called on clicking a button
 @IBAction func chipmunkPlayback(sender: UIButton) {
        var pitchPlayer = AVAudioPlayerNode()
        var timePitch = AVAudioUnitTimePitch()
        timePitch.pitch = 1000

        audioEngine.attachNode(pitchPlayer)
        audioEngine.attachNode(timePitch)

        audioEngine.connect(pitchPlayer, to: timePitch, format: myAudioFile.processingFormat)
        audioEngine.connect(timePitch, to: audioEngine.outputNode, format: myAudioFile.processingFormat)

        pitchPlayer.scheduleFile(myAudioFile, atTime: nil, completionHandler: nil)
        audioEngine.startAndReturnError(&er)

        pitchPlayer.play()

    }

Из того, что я понимаю, я использовал AudioEngine, чтобы присоединить AudioPlayerNode к AudioEffect, которое я, в свою очередь, прикрепил к выходу.

Теперь мне интересно добавить несколько звуковых эффектов к аудио. Например, изменение высоты тона и реверберация. Как мне добавить несколько звуковых эффектов к аудио?

Кроме того, имеет ли смысл присоединять и подключать узлы в viewDidLoad, а не как я это сделал здесь в IBAction?

Ответы на вопрос(2)

Ваш ответ на вопрос