Фон - я увидел видео под названием "AVAudioEngine in Practice" из следующего списка видео, опубликованных в недавнем 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?