我已经从macOS Xcode 10.2的源代码构建了库,但是我无法使MIDI正常工作。 MIDI输入看起来不错

时间:2019-03-28 20:40:53

标签: audiokit

我正在学习AudioKit框架,因此有必要从源代码构建框架,因为4.2二进制文件与Xcode 10.2中的5.0编译器不兼容。我无法使MIDI输出可以在物理设备上运行,也无法在另一个应用程序上使用虚拟端口。

我无法使MIDI输出示例操场上班。我没有错误但也没有MIDI输出 我正在使用以下内容:

import AudioKitPlaygrounds
import AudioKit

let midi = AudioKit.midi

midi.openOutput()

import AudioKitUI

class LiveView: AKLiveViewController, AKKeyboardDelegate {

var keyboard: AKKeyboardView!

override func viewDidLoad() {
    addTitle("MIDI Output")

    keyboard = AKKeyboardView(width: 440, height: 100)
    keyboard.delegate = self
    addView(keyboard)

    addView(AKButton(title: "Go Polyphonic") { button in
        self.keyboard.polyphonicMode = !self.keyboard.polyphonicMode
        if self.keyboard.polyphonicMode {
            button.title = "Go Monophonic"
        } else {
            button.title = "Go Polyphonic"
        }
    })
}

func noteOn(note: MIDINoteNumber) {
    midi.sendEvent(AKMIDIEvent(noteOn: note, velocity: 127, channel: 3))
    AKLog("sending note \(note)")
}

func noteOff(note: MIDINoteNumber) {
    midi.sendEvent(AKMIDIEvent(noteOff: note, velocity: 0, channel: 3))
}
}

import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
PlaygroundPage.current.liveView = LiveView()

1 个答案:

答案 0 :(得分:1)

我知道了。事实证明,AudioKit实际上是在通道4而不是通道3上发送的。看起来通道索引已关闭1。
每个开发人员的MIDI通道都从0而不是1索引,所以这是预期的行为