A MIDI event that carries the MIDI reset message tells a MIDI device to reset itself.
This message belongs to the category of MIDI system realtime messages.
This message consists of a single byte of data. This byte is the status byte and has a value of 0xFF.
Different MIDI devices will interpret this message differently, but most often this message will cause a device to stop playback, including playback set for later, set the song position to the beginning, and so on. The recommended practice under the General MIDI 1 standard is that:
At the same time, General MIDI 1 recommends that a number of other controllers are not reset, including: bank select (controllers 0 and 32), volume (controller 7), pan (controller 10), effects (controllers 91 through 95), sound controllers (controllers 70 through 79), channel mode controllers (controllers 120 through 127), the program, and registered and nonregistered parameters.
The MIDI reset message may affect anything else, as long as that is documented.
It is also recommended that the same actions taken as a response to the MIDI reset message are taken when the device enters the General MIDI 1 mode (see General MIDI System Enable Disable message).
Note on status byte 0xFF
The MIDI reset message is not the only message that carries the status byte 0xFF. MIDI meta messages also carry this status. MIDI devices can distinguish between the rest message and meta messages, as meta messages exist in MIDI files but are never sent over MIDI ports. The MIDI reset message, on the other hand, can be sent over MIDI ports, but does not exist in MIDI files. The MIDI reset message should not be sent by another MIDI device automatically and is generally designed to be sent exclusively by the musician.
Musical Instrument Digital Interface (MIDI)