AudioKit:如何避免通过Midi“直通”和同时出现的音符获得很大的CPU使用率?

时间:2019-02-24 12:52:51

标签: ios swift midi audiokit

在虚拟端口上通过MIDI实现iOS上的音序器。

这很适合旋律

midi.createVirtualPorts(98536, name: "MyMagicMIDI")

midi.addListener(self)

func receivedMIDINoteOn(noteNumber: MIDINoteNumber, velocity: MIDIVelocity, channel: MIDIChannel) {

    midi.sendNoteOnMessage(noteNumber: noteNumber, velocity: velocity)

}

func receivedMIDINoteOff(noteNumber: MIDINoteNumber, velocity: MIDIVelocity, channel: MIDIChannel) {

    midi.sendNoteOffMessage(noteNumber: noteNumber, velocity: velocity)

}

但是使用Chorder应用程序或另一个音序器播放完美的同步和弦,我在2017年iPad上听到音频嘎吱作响的CPU峰值。单音符(甚至是超快琶音)的cpu使用率为1%或更少,但我注意到XCode中的数字分别为44%和77%以及破碎的音频和错过的midi事件(音符关闭和后续音符)同时发音符。删除sendNoteOnMessage并仅打印noteNumbers即可轻松进行操作(正如我们可能想象的那样,那里有很多很棒的“可排序”和弦生成器AudioKit应用程序)。使用AudioKit 4.5.5和4.6.1进行了测试。

0 个答案:

没有答案