@ dimitry,
Если вы пытаетесь воспроизвести AKMIDISampler
переменные экземпляра из вашего не-AKSequencer
, я считаю, что вам просто нужно вызвать их;это ваш секвенсор, который отправляет событие MIDI в заданную временную метку и просто информирует AKMIDISampler, чтобы он проигрывал в этот момент в последовательности.
Например:
func playKick() {
try! kick1Sampler.play(noteNumber: 60, velocity: 127, channel: 0)
}
Не видя ваш секвенсорреализация или проект, вы можете отправлять MIDI-события с вашего секвенсора? Если это так, вы можете добавить делегат AKMIDIListener
и записать полученные события MIDI-нот от вашего секвенсора следующим образом:
func receivedMIDINoteOn(noteNumber: MIDINoteNumber, velocity: MIDIVelocity, channel: MIDIChannel, portID: MIDIUniqueID? = nil, offset: MIDITimeStamp = 0) {
outputMIDIMessage = "Channel: \(channel+1) noteOn: \(noteNumber) velocity: \(noteVelocity))"
print(outputMIDIMessage)
}
func receivedMIDINoteOff(noteNumber: MIDINoteNumber, velocity: MIDIVelocity, channel: MIDIChannel, portID: MIDIUniqueID? = nil, offset: MIDITimeStamp = 0) {
outputMIDIMessage = "Channel: \(channel+1) noteOff: \(noteNumber) velocity: \(noteVelocity))"
print(outputMIDIMessage)
}
Обратите внимание, что я использую AudioKit версии 4.9.2
и Xcode 11.2.1.