こんにちは、私は AudioKit を使用しています。これは優れたフレームワークであり、これまで学習できただけでとても満足しています。私は HelloWorld の例で作業しており、周波数でオシレーターを作動させる UI ボタンのコードがあります...
私の質問は、432Hz と完全 5 度上の 2 つのオシレーター トーンを同時に再生したい場合 (3:2 の比率で 648Hz)、どうすれば両方を同時に再生できますか? 「トーン」ごとに新しいノードを作成する正しい設計パターンはありますか?
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()
}
}
2 つのオシレータをチェーンして一緒に歌えるようにするにはどうすればよいですか?