我正在为iOS开发一个键盘应用程序,它能够将无限序列的音符发送到外部MIDI兼容的硬件合成器。我使用AudioKit来接收和发送MIDI信息。
我的录音室设置包括E-RM多时钟设备,它为几台合成器和鼓机发送主MIDI时钟,因此每个设备都可以与其他设备同步播放。
我希望我的iOS应用程序能够生成MIDI音符,并将其发送到外部合成器,以与也从多锁设备接收MIDI时钟的其他设备同步。我使用的是iOS兼容的音频/MIDI接口,这样我的应用程序就可以接收时钟并将音符发送到硬件合成器。
问题是,在几秒钟或几分钟的工作后,我的应用程序发送的笔记开始随时间漂移。延迟可以是恒定的(100 - 200ms),也可以是随机的,这会使断音的合成器与其他机器不同步。
可以使用AudioKit框架正确地实现此流程吗?
我目前的实现使用AKMIDIBeatObserver的receivedQuantum(time:quarterNote:beat:quantum:)
函数,在每次应该发送另一个8音符的时候触发音符。
备注通过AudioKit.midi.sendNoteOnMessage(noteNumber:velocity:channel:)
调用发送。
发布于 2020-01-28 09:33:22
你是第一个涉足这个领域的人。我可以说,AKMIDIBeatObserver和AudioKit.midi.sendNoteOnMessage正是我要使用的。我也会尽量不使用任何登录,因为它可能有助于您的经验滞后。听起来你在做我想做的事。如果你可以分享你在这方面的例子项目,我会和你一起研究。我不知道有什么可能会导致延迟。
https://stackoverflow.com/questions/59929077
复制相似问题