Plenty of people can hear the chord they want before they can play it. Chordex helps close that gap: press one key, hear a voiced chord, build a progression, and route the MIDI into another instrument on the site.
Generating the notes was simple. Making the voicings feel musical took a set of arranging rules.
The first version sounded mechanical
The naive implementation is a lookup. C major means C, E, G. Stack the notes in the octave you were given, send them all at the same velocity at the same instant.
What that produces sounds exactly like a General MIDI file from 1998, and it took a while to articulate why, because every note was technically correct. Three things were wrong.
Everything was in root position. Root position for every chord in a progression means every chord jumps to wherever its root is, so the top line lurches around instead of moving. Listeners follow the melody, and root-position stacking produces a top line that no player would have chosen.
Everything was equally loud, at exactly the same moment. No player produces four notes at identical velocity with zero timing spread. The perfectly simultaneous attack reads as synthetic long before you consciously identify why.
The low intervals were mud. A close third down at the bottom of the keyboard is muddy on a piano and worse on anything with harmonic content. Real players know this in their hands without knowing it as a rule.
The rules that fixed it
Voice leading first. Chordex picks the inversion of the next chord that minimizes total movement from the notes currently sounding. Common tones stay where they are. The result is a top line that moves in steps instead of leaps. This creates much of the difference between a mechanical stack and a played progression.
Low-interval limits. Below a threshold that rises as you descend, close intervals are forbidden. Thirds get opened up into tenths, or the chord simply drops the crowded tone. This is a rule borrowed straight from arranging practice, and it is not subtle in effect.
Humanized attack, per note. A small, shaped spread in timing and velocity lets the lowest note lead slightly while the top note carries a little more velocity. A few milliseconds and velocity steps can turn a rigid stab into a chord that breathes.
Register-aware note count. A dense seven-note voicing that sounds lush in the middle of the keyboard is unusable two octaves down. The voicing thins as it descends.
None of this is novel. It is what a competent arranger does automatically. Encoding it is only worth doing because it lets someone who has not spent ten years absorbing those habits get a usable result on the first press.
Using it in an arrangement
Two things worth knowing.
Chordex outputs MIDI. On the site it can feed another instrument, which keeps the generated notes separate from the sound. Native MIDI routing is part of the planned standalone work rather than a feature of the current web build.
Move them. Capture the progression while the idea is fresh, then reshape it. Drop a note. Hold one chord half a bar too long. Chordex gets the harmony moving; the arrangement still comes from your decisions.
You choose the progression
Chordex voices the harmony you pick. Chord selection remains the compositional decision, so the tool can help with technique without taking over the direction of the song.


