$Page MPE $TargetName MPE *Changing and generating MPE data* This MIDI device adds an MPE pitch slide to every note that passes through. MPE allows playing pitch, slide and pressure envelopes for a maximum of 15 notes simultaneously. Notes are assigned to any free MIDI channel except for channel 1. To manipulate MPE, this device has "Patch supports MPE" set to on in the $Link Patcher Inspector . MPE.png This allows us to use [mpeparse] to get MPE events from [midiin]. Sent to [poly~], these event messages will be distributed over the voices. We can then get the envelope changes with [midiparse] for /each individual note/ that is playing, using one poly~ voice for each note. This example generates new pitch events and sends them to the playing individual notes' midi channels. [poly~] combines these to valid MPE output. -> MPE pitch events are sent to [midiformat] as numbers between -8192 and 8192 in hires 2 mode. We need to convert from semitones to these pitch units. -> As you can see MIDI channel 1 is never used by MPE. This channel is reserved for global MIDI messages. -> Since MPE uses all MIDI channels, these can no longer be used in the traditional way. This is fine because Live didn't use these MIDI channels internally anyway. $Link Learn more about MPE