背景-オーディオに効果音を適用するためにAppleの最近のWWDCで公開されたビデオの次のリストから、「AVAudioEngineinPractice」というタイトルのビデオを見ました。 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に接続し、AudioEffectを出力に接続しました。
オーディオに複数の効果音を追加することに興味があります。たとえば、ピッチチェンジとリバーブ。オーディオに複数の効果音を追加するにはどうすればよいですか?
また、ここでIBActionで行った方法ではなく、viewDidLoadでノードを接続して接続することは理にかなっていますか?
それらを接続するだけです。
engine.connect(playerNode, to: reverbNode, format: format)
engine.connect(reverbNode, to: distortionNode, format: format)
engine.connect(distortionNode, to: delayNode, format: format)
engine.connect(delayNode, to: mixer, format: format)
背景-オーディオに効果音を適用するためにUdacityで公開された次のビデオのリストから、「すべてをまとめる-Swiftを使用したiOSアプリ開発の概要」というタイトルのビデオを見ました。
その後、次のコードでオーディオのピッチを変更することに成功しました。
func playAudioWithVariablePith(pitch: Float){
audioPlayer.stop()
audioEngine.stop()
audioEngine.reset()
let audioPlayerNode = AVAudioPlayerNode()
audioEngine.attachNode(audioPlayerNode)
let changePitchEffect = AVAudioUnitTimePitch()
changePitchEffect.pitch = pitch
audioEngine.attachNode(changePitchEffect)
audioEngine.connect(audioPlayerNode, to: changePitchEffect, format: nil)
audioEngine.connect(changePitchEffect, to: audioEngine.outputNode, format: nil)
audioPlayerNode.scheduleFile(audioFile, atTime: nil, completionHandler: nil)
try! audioEngine.start()
audioPlayerNode.play()
}