Реализация миди-сквозных виртуальных портов для секвенсора на 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 или из другогосеквенсор и я получим звуковой удар процессора iPad 2017 года.Использование процессора с одиночными нотами (даже супер-быстрыми арпеджио) составляет 1% или менее, но я заметил цифры 44% и 77% в XCode вместе с разбитым звуком и пропущенными событиями миди (отключение нот и последующие заметки), когда ониодновременные заметки попали.Удаление sendNoteOnMessage и просто печать noteNumbers на консоль работает без особых усилий (как мы могли бы представить с большим количеством великолепных «последовательных» приложений AudioKit с полифоническим генератором).Протестировано с использованием AudioKit 4.5.5 и 4.6.1.