通过虚拟输出使用 AKSequencer 发送 midi
Send midi with AKSequencer over virtual output
我正在尝试使用 AKSequencer() 从 .mid 文件发送 midi 数据,在虚拟输出上以在应用程序外部使用它(下面有更多详细信息)。 我的问题是我的 AKSequencer 没有像我想用 virtualOuput 端口那样将 midi 发送到我的应用程序之外。
// 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,所以我确定连接不是问题。
用 AKSequencer
向外发送 MIDI 有点棘手。您需要使用 AKMIDICallbackInstrument
或您自己的 AKMIDIListener
从音序器获取 MIDI 并通过 AKMIDI
输出在您的应用程序之外重新路由。
关于这个话题有一个讨论:
https://groups.google.com/forum/#!topic/audiokit/6VkayJMpMvY
此外,您可能想查看我在 AKSequencer
上构建的 MIDISequencer 库,其中包含 iOS 和 Mac 示例:
https://github.com/cemolcay/MIDISequencer
我正在尝试使用 AKSequencer() 从 .mid 文件发送 midi 数据,在虚拟输出上以在应用程序外部使用它(下面有更多详细信息)。 我的问题是我的 AKSequencer 没有像我想用 virtualOuput 端口那样将 midi 发送到我的应用程序之外。
// 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,所以我确定连接不是问题。
用 AKSequencer
向外发送 MIDI 有点棘手。您需要使用 AKMIDICallbackInstrument
或您自己的 AKMIDIListener
从音序器获取 MIDI 并通过 AKMIDI
输出在您的应用程序之外重新路由。
关于这个话题有一个讨论: https://groups.google.com/forum/#!topic/audiokit/6VkayJMpMvY
此外,您可能想查看我在 AKSequencer
上构建的 MIDISequencer 库,其中包含 iOS 和 Mac 示例:
https://github.com/cemolcay/MIDISequencer