How MIDI Chord Memory Triggers Chords from One Key
MIDI chord memory is a performance feature found in modern synthesizers, digital audio workstations (DAWs), and MIDI controllers that allows musicians to play complex, multi-note chords by striking just a single key. This article explains the underlying mechanism of chord memory, from the initial key press and interval translation to the simultaneous generation of multiple MIDI messages, polyphony management, and scale-quantized harmonization.
The Input Stage: Capturing the Root Note
The process begins identically to any standard MIDI event. When a
musician presses a key on a controller, the hardware sensor detects the
motion and generates a standard MIDI Note On message. This
data packet contains three essential pieces of information: the MIDI
channel, the specific note number (a value from 0 to 127 representing
pitch), and the velocity (how hard the key was struck). In standard
operation, this single packet is sent directly to a sound engine. With
chord memory engaged, this message is intercepted by an onboard
microprocessor or software algorithm before reaching the sound
generator.
Interval Storage and Buffer Mapping
Chord memory relies on a stored template of relative intervals rather than fixed pitches. When a user programs a chord—such as a C minor 9th (C, Eb, G, Bb, D)—the chord memory system does not save those absolute notes. Instead, it defines the lowest or designated note as the base offset (0 semitones) and registers the remaining notes as positive or negative semitone deviations relative to that base.
For a standard major triad, the internal memory stores the interval offsets as:
- Root: +0 semitones
- Major Third: +4 semitones
- Perfect Fifth: +7 semitones
Algorithmic Translation and Event Duplication
Once the incoming Note On message is intercepted, the
processor uses the incoming note value as the variable X in
a real-time mathematical calculation. It adds each stored interval
offset to X:
- Pitch 1 = Input Note + 0
- Pitch 2 = Input Note + 4
- Pitch 3 = Input Note + 7
Within a fraction of a millisecond, the processor generates multiple
discrete MIDI Note On packets corresponding to each
calculated pitch. These messages typically inherit the exact velocity
value of the original key press, ensuring that the volume and dynamic
response of the entire chord reflect the player's physical touch. The
sound engine receives these parallel commands almost instantaneously,
causing the virtual voices to trigger at the same time.
Release and Voice Tracking (Note Off Handling)
A critical component of chord memory is managing the release cycle.
When the player lets go of the physical key, a single
Note Off message (or a Note On message with a
velocity of 0) is generated. The chord memory processor tracks all
active note values that were spawned by that specific trigger. It
immediately duplicates and transposes the Note Off command
across all the previously sounded intervals. This guarantees that all
voices in the voicing terminate simultaneously, preventing hanging or
"stuck" notes.
Chromatic Transposition vs. Diatonic Scaling
Chord memory functions generally operate in one of two modes:
- Fixed Chromatic (Parallel) Chord Memory: The processor strictly applies identical semitone offsets across the entire keybed. Playing up chromatically moves the exact chord shape upward, resulting in parallel harmony (such as parallel major chords), regardless of musical key.
- Diatonic (Scale-Aware) Chord Memory: Advanced chord engines cross-reference the incoming note with a user-selected musical key and scale (e.g., D natural minor). Instead of using fixed semitone offsets, the algorithm maps chord degrees (e.g., Root, 3rd, 5th, 7th within the scale). The processor calculates dynamic semitone shifts so that the resulting chord remains strictly diatonic to the selected key, automatically switching between major, minor, and diminished voicings based on the input key.