Controller tracks

Controller tracks are a group of track types that output a control value instead of a note. The group includes the following track types:

TypeMIDI messageP1P2
Key AftertouchPolyphonic Key Pressuretrack notestep value
ControlControl Changetrack notestep value
PatchProgram Changestep valueN/A
Channel AftertouchChannel Pressurestep valueN/A
WheelPitch Bend Changestep valueN/A

A controller track's steps are interpreted as data values for the corresponding MIDI message. Each step causes a MIDI message to be sent to the output device, except when a step has the same value as the preceding step, in which case no message is sent for the later step, thereby avoiding what would otherwise be a duplicate message. The steps are interpreted as unsigned or signed data depending on the context. To achieve smooth control changes, it may be necessary to use a relatively small Quant, but don't make it smaller than necessary, otherwise you risk exceeding the bandwidth limitations of the output device.

The track velocity property has a different meaning for controller tracks than it does for note tracks: instead of offsetting the note velocities, it offsets the control values. In other words, the track's velocity offset (if any) is added to the track's step values to compute the output data values.