Chordex: for people whose hands haven't caught up with their ears

Aug 11, 2026

chordexmidimusic-theory

Plenty of people can hear the chord they want and cannot play it. That is not a shameful condition, it is just an unfinished skill, and there is no reason the gap should stop you writing. Chordex is a chord generator: press one key, get a voiced chord, build a progression, send the MIDI to any instrument on this site or in your DAW.

The interesting part was not generating the chords. It was making them not sound terrible.

Version one sounded like 1998

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. Melody is the thing a listener actually follows, and root-position stacking produces a top line that no human 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 that the top line moves in steps instead of leaps, which is the single largest improvement — it is most of the difference between "a computer played chords" and "someone played chords".

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 spread in timing and velocity across the notes of a chord, with the spread shaped rather than random — the lowest note tends to lead slightly, the top note carries a little more velocity. It is a few milliseconds and a few velocity steps, and it is the difference between a chord and a stab.

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.

Playing it into a real arrangement

Two things worth knowing.

Chordex outputs MIDI, not audio. It is a generator that feeds an instrument. On the site it drives any instrument here; in the DAW, the standalone build sends CC and notes over a virtual MIDI port, so it is just another source track. That means the output is editable — you get real notes on a real track, and you can move them.

Move them. The most useful workflow is to use Chordex to get the progression down while the idea is still fresh, then go in and break its rules on purpose. Drop a note. Hold one chord half a bar too long. The generator's job is to close the gap between hearing something and having it in the session, not to finish the arrangement for you. A progression that is entirely Chordex's opinion sounds like Chordex's opinion.

The thing it will not do

It will not choose the progression. There is no "make it sad" button, and there is not going to be one. Chord selection is the compositional decision, and handing it to a generator would take away the part that is yours. Chordex voices what you pick and gets out of the way, which is the correct amount of help for a tool that wants you to end up more capable than it found you.

← All posts