audiokit:同时播放两个振荡器
audiokit: playing two oscillators simultaneously
您好,我正在使用 AudioKit -- 它是一个出色的框架,到目前为止我很高兴学习它。我正在研究一个 HelloWorld 示例,其中有一个 UI 按钮的代码,该按钮以一定频率启动振荡器...
我的问题是:如果我想同时播放两个振荡器音调,例如 432Hz 和以上纯五度音(3:2 的比率为 648Hz),我如何让它们同时播放?每个出现的 "tone" 都有一个新节点是正确的设计模式吗?
class ViewController: UIViewController {
var oscillator = AKOscillator()
var osc2 = AKOscillator()
override func viewDidLoad() {
super.viewDidLoad()
AudioKit.output = oscillator
AudioKit.start()
}
@IBAction func toggleSound(sender: UIButton) {
if oscillator.isPlaying {
oscillator.stop()
sender.setTitle("Play Sine Wave", forState: .Normal)
} else {
oscillator.amplitude = 1 //was:: random(0.5, 1)
oscillator.frequency = 432 //was:: random(220, 880)
osc2.amplitude = 1
osc2.frequency = 648 //3:2 from 432Hz
sender.setTitle("Stop Sine Wave at \(Int(oscillator.frequency))Hz", forState: .Normal)
}
sender.setNeedsDisplay()
}
}
如何将两个振荡器链接在一起,以便它们一起唱歌?
试试 AKMixer 节点:
var mixer = new AKMixer(oscillator, osc2)
AudioKit.output = mixer
try! AudioKit.start()
您好,我正在使用 AudioKit -- 它是一个出色的框架,到目前为止我很高兴学习它。我正在研究一个 HelloWorld 示例,其中有一个 UI 按钮的代码,该按钮以一定频率启动振荡器...
我的问题是:如果我想同时播放两个振荡器音调,例如 432Hz 和以上纯五度音(3:2 的比率为 648Hz),我如何让它们同时播放?每个出现的 "tone" 都有一个新节点是正确的设计模式吗?
class ViewController: UIViewController {
var oscillator = AKOscillator()
var osc2 = AKOscillator()
override func viewDidLoad() {
super.viewDidLoad()
AudioKit.output = oscillator
AudioKit.start()
}
@IBAction func toggleSound(sender: UIButton) {
if oscillator.isPlaying {
oscillator.stop()
sender.setTitle("Play Sine Wave", forState: .Normal)
} else {
oscillator.amplitude = 1 //was:: random(0.5, 1)
oscillator.frequency = 432 //was:: random(220, 880)
osc2.amplitude = 1
osc2.frequency = 648 //3:2 from 432Hz
sender.setTitle("Stop Sine Wave at \(Int(oscillator.frequency))Hz", forState: .Normal)
}
sender.setNeedsDisplay()
}
}
如何将两个振荡器链接在一起,以便它们一起唱歌?
试试 AKMixer 节点:
var mixer = new AKMixer(oscillator, osc2)
AudioKit.output = mixer
try! AudioKit.start()