How MIDI Note Off Messages Work in Synthesizers

A MIDI Note Off message is a digital instruction that tells a synthesizer to stop sustaining a specific pitch and begin ending the sound. While it does not instantly cut off the audio abruptly, it signals the synthesizer's internal voice architecture that a key or trigger has been released. This article explains the data structure of a Note Off command, how the synthesizer interprets this data, and how the instrument transitions the active sound into its final release phase.

The Anatomy of a Note Off Message

In standard MIDI communication, a Note Off event is a 3-byte command transmitted over a specific MIDI channel:

  1. Status Byte: Identifies the message type and the target MIDI channel (ranging from 10000000 to 10001111 in binary, or 80 to 8F in hexadecimal).
  2. Note Number (Data Byte 1): Specifies which pitch to stop, using standard MIDI values from 0 to 127 (where 60 represents Middle C).
  3. Release Velocity (Data Byte 2): Indicates how quickly the key was released, valued between 0 and 127. While often ignored by simpler synthesizers, advanced sound engines use release velocity to modulate parameters such as the speed or character of the sound's decay.

Additionally, MIDI standardizes an alternative method known as "Note On with zero velocity." A Note On status byte paired with a velocity value of 0 is functionally identical to a dedicated Note Off message. Synthesizers treat both commands the same way.

How the Synthesizer Processes the Signal

When a synthesizer receives a Note Off message, the following sequence occurs:

  1. Voice Matching: The synthesizer scans its active polyphonic voices to locate the voice currently assigned to the matching channel and note number.
  2. Sustain Check: The engine checks the status of MIDI Continuous Controller 64 (Sustain/Damper Pedal). If the sustain pedal is engaged, the synth holds the note active in memory and delays sound termination until the pedal is released.
  3. Triggering the Release Phase: Once validated, the sound does not immediately mute. Instead, the message instructs the envelope generators (typically controlling the amplifier and the filter) to leave the Sustain stage and enter the Release stage of an ADSR (Attack, Decay, Sustain, Release) envelope.
  4. Volume Attenuation: The envelope generator reduces the gain of the amplifier according to the patch’s programmed release time. If the release time is set to zero, the sound cuts off instantly; if set to several seconds, the audio gradually rings out.
  5. Voice Deallocation: When the audio signal amplitude drops to silence (zero amplitude), the synthesizer flags that particular voice as idle. The voice is returned to the polyphonic allocation pool, making it available to generate a new note when the next Note On message arrives.