通过虚拟输出发送带有AKSequencer的midi

时间:2017-11-30 07:54:26

标签: midi audiokit

我正在尝试使用AKSequencer()从.mid文件发送midi数据,在虚拟输出上使用它在应用程序外部(更多详细信息如下)。 我的问题是我的AKSequencer没有在我的应用程序之外发送midi ,就像我想用virtualOuput端口做的那样。

// My midiOutput is set like this: 
    let midiOut = AKMIDI()
    midiOut.createVirtualOutputPort()
    midiOut.openOutput() 

//And my AKSequencer connect to the midiOuput like this: 
     sequencer.setGlobalMIDIOutput(midiOut.virtualOutput)
  • 我设置了AKSampler()以确保我的AKSequencer工作正常。

  • 我认为我的问题要么是从我对midiOutput的联系,要么是我使用AKSequencer而不是像我想象的那样设计发送midi。

要进入细节,我正在尝试通过蓝牙将MIDI从iOS应用程序发送到DAW。感谢CABTMIDILocalPeripheralViewController。当建立两个设备连接时,设置连接以发送midi非常容易。我实现了使用AKMIDI()。sendNoteOnMessage()发送midi所以我确定连接不是问题。

1 个答案:

答案 0 :(得分:3)

AKSequencer向外发送MIDI有点棘手。您需要使用AKMIDICallbackInstrument或您自己的AKMIDIListener从音序器获取MIDI,并通过AKMIDI输出重新路由到应用之外。

这个帖子有一个讨论: https://groups.google.com/forum/#!topic/audiokit/6VkayJMpMvY

另外,您可能想要查看我在AKSequencer上使用iOS和Mac示例构建的MIDISequencer库: https://github.com/cemolcay/MIDISequencer