AudioKit: bad sysex data from AudioKit's receivedMIDISystemCommand

I am receiving a sysex message from a device using the following code which I got from the MIDIUtility example project supplied with AudioKit:

func receivedMIDISystemCommand(_ data: [MIDIByte]){ if let command = AKMIDISystemCommand(rawValue: data[0]) { var newString = "MIDI System Command: \(command) \n" var hexArray = [UInt8]() for bit in data { hexArray.append(bit) //this requires 'public typealias MIDIByte = UInt8' newString.append(String("\(bit) ")) } updateText("\(newString) \n") updateData(hexArray) } updateText("received \(data.count) bytes of data \n\n") }

The sysex I am receiving is very different than what I get when using SysEx Librarian or MIDI Monitor to receive the same sysEx. Both of these apps receive 6 packets of 32,110,110,110,110, and 110 bytes. This is what I expect to get from my MIDI device. The AudioKit code gives me 6 packets of 520,1300,20,1538,1294 and 1544 bytes. It looks like some of the data I want is in these packets, but it is spit up by a bunch of 0’s.

data I receive from SysEx Librarian and MIDI Monitor:: screen shot 2018-12-12 at 4 21 52 pm

data I receive from AudioKit MIDI Utility example app: screen shot 2018-12-12 at 4 22 30 pm

I asked about this in StackOverflow and it was suggested that it might be a bug:

https://stackoverflow.com/questions/53752049/sysex-from-audiokits-receivedmidisystemcommand

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 17 (7 by maintainers)

Most upvoted comments

Boom. Got it. Stay tuned…