What I've figured out about mpeevent protocol:
Zone index: Don't know. Seems to stay at 1.
Zone 1st Channel: Don't know. Seems to stay at 1.
Voice number: This is directly related to the channel range you select in the ROLI Dashboard. There are different layers of channels in MIDI (confusing I know) this is channel is the big sense, like the MIDI channels usually assigned to entire VSTs, or MIDI tracks in Ableton Live. When playing the ROLI Rise, each new note you play is randomly assigned a channel that isn't being used, or steals from the oldest held channel. In this way, middle C on your keyboard might be assigned to MIDI channel ("Voice number") 2, but after playing a bunch of notes, later it might be channel 10.
Channel number: This is basic MIDI protocol, and you can see it in use in midievent protocol, compare [midiparse] reference to [mpeparse] reference. There are I believe 255 channel numbers, but they come in blocks of 16 for important parameters. Each channel number can hold multiple variables of data, e.g. channel numbers 144-159 are followed by MIDI note, velocity, and release data. For the ROLI, the important channel numbers are:
->126-143=noteoff
->144-159=noteon / strike velocity / release velocity
->160-175=?
->176-191=y-axis location
->208-223=pressure
->224-239=x-axis relative motion (pitch bend)
MIDI Message number & MIDI Data:
these hold the info that's nested inside the channels. So a note might be mpeevent [1 1 10 218 x], which means -> (voice) 10 (remember, doesn't mean it's 10th note held down, just randomly chosen from a range) -> (218) pressure -> and the x variable is the pressure amount from 1-127. If you slide your finger up the same note, it might read mpeevent [1 1 10 186 74 y], with 186 relating to y-axis motion, 74 being an agreed upon cc number, and y being the y-axis location from 1-127.