首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >audiokit:同时播放两个振荡器

audiokit:同时播放两个振荡器
EN

Stack Overflow用户
提问于 2016-04-15 18:08:56
回答 1查看 1.6K关注 0票数 6

你好,我正在和AudioKit合作--这是一个很棒的框架,到目前为止,我很高兴能学到它。我正在研究一个HelloWorld示例,并且有一个UI按钮的代码,它在频率上启动一个振荡器.

我的问题是:如果我想同时播放两个振子音,比如432赫兹和完美的五分之一以上( 3:2所以648赫兹),我怎么能让它们同时播放呢?正确的设计模式是为每个“音调”出现一个新的节点吗?

代码语言:javascript
复制
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()
    }

}

我怎么能把这两个振子绑在一起,这样他们就可以一起唱歌了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-15 23:24:49

尝试AKMixer节点:

代码语言:javascript
复制
var mixer = new AKMixer(oscillator, osc2)
AudioKit.output = mixer
try! AudioKit.start()
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36654083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档