The Official Sequential/DSI Forum

Pro 3 Wavetable SysEx Message

chysn

  • ***
  • 1177
Pro 3 Wavetable SysEx Message
« on: October 10, 2020, 07:37:34 PM »
For any developers who are interested, a description of the Pro 3's wavetable system exclusive format follows. I've got a ton of ideas for composing with generated wavetables, but I probably won't have my Pro 3 until later this month or next.

Thanks to composerjk for his help to verify this information on real hardware. That said, any mistakes here are mine alone.

Wavetable Message: 112,368 Bytes

Header: 17 bytes

F0 (start of sysex)
01 (Sequential)
31 (Pro 3)
6a 6c 01 6b
Wavetable Number: nn (range of 20-3f, for wavetables 33-64)
Wavetable Name: 8 x {nn (ASCII character, range of 01-7f, with 00 terminating the name)}
00 force end of wavetable name

Packed PCM Data: 98,304 bytes packed to 112,348 bytes

Reference Wave PCM: 16 x {
  1024-word big-endian 16-bit signed PCM
  512-word down-sampled PCM
  2 x {256-word down-sampled PCM}
  8 x {128-word down-sampled PCM}
}

This is 3072 words, or 6144 bytes, of PCM per reference wave x 16 waves = 98,304 bytes, which is then packed into 8-byte packets, yielding 112,348 bytes. There's a detailed discussion of data packing here (https://forum.sequential.com/index.php/topic,43.msg106.html#msg106), and the Tenth Anniversary Edition of my C packing library is available here (https://github.com/Chysn/sequential_packing).

Checksum: 2 bytes

Checksum is a 16-bit unsigned integer initialized to 0. For each 2-byte word in the PCM data, convert it to a little-endian 16-bit unsigned integer and add it to checksum. Then, unset bits 7 and 15 of checksum (mask with 0xf7f7). Then append checksum as a 2-byte little-endian value to the sysex message.

End of sysex: 1 byte

F0
« Last Edit: October 10, 2020, 07:41:10 PM by chysn »
DSI: DSM03; previously: Mopho Keyboard, Desktop Mopho, Evolver, DSM01
Hardware: Eurorack, Arturia MicroBrute
Software: macOS, Ableton, MuseScore2
Modular Grid: https://www.modulargrid.net/e/racks/view/354385
GitHub: https://github.com/chysn

chysn

  • ***
  • 1177
Re: Pro 3 Wavetable SysEx Message
« Reply #1 on: October 11, 2020, 11:56:26 AM »
Error #1: End of sysex is F7, not F0
DSI: DSM03; previously: Mopho Keyboard, Desktop Mopho, Evolver, DSM01
Hardware: Eurorack, Arturia MicroBrute
Software: macOS, Ableton, MuseScore2
Modular Grid: https://www.modulargrid.net/e/racks/view/354385
GitHub: https://github.com/chysn