Chord Voicing Generator
Two chords can be built from the same notes and sound completely different depending on how the voices move between them. Good voice leading moves each voice as little as possible, and avoids two voices moving in parallel fifths or octaves. This voices a progression in four parts by finding the arrangement that moves least at every step, then checks the result for parallels and reports what it finds.
What this generator does
Enumerates every four-part arrangement of each chord's own notes within a practical range, and picks the one that moves the voices least from the chord before. It then checks every pair of voices at every step for parallel fifths and octaves.
How to use this tool
- Pick a progression.
- Read the four voices for each chord, lowest first.
- Look at how little each voice moves between chords.
- Check the parallels line: they are reported, not hidden.
Understanding the controls
- Progression
- A short sequence of common chords. Each is voiced relative to the one before, so the first chord sets the starting position for everything after it.
Common use cases
- Seeing a progression voiced with minimal movement
- Teaching voice leading with worked four-part examples
- Checking a harmony exercise against a computed answer
- Producing voicings for arranging or keyboard practice
- Understanding why parallel fifths are easy to write by accident
How this generator works
For each chord, every arrangement of its notes across four voices is enumerated within a three-octave range, keeping voices in order and no more than an octave apart. The arrangement chosen is whichever moves the voices least in total from the previous chord, measured in semitones. Before display every voicing is confirmed to contain all of its chord's notes, no closer alternative is confirmed to exist, and every pair of voices is checked at every step for a perfect fifth or octave that survives the move — the parallels that are so easy to write without noticing.
Randomness and fairness
Nothing here is random. A progression has exactly one minimal-movement voicing under these rules.
For how randomness is produced across the whole site, see how Generate Random works.
Limitations and good to know
- Minimal movement and avoiding parallels genuinely conflict, and this prioritises movement — so parallels are reported rather than eliminated.
- Only a small set of common triads and one seventh chord are available, and all in root position pitch classes.
- Real four-part writing also considers doubling, spacing between upper voices and the leading note's resolution, none of which is scored here.
- There is no key context, so the progression is treated as a sequence of chords rather than as functional harmony.
Privacy and your data
The voicings are computed in your browser and nothing you choose is transmitted, stored or included in analytics.
Related generators
- Chord Inversion GeneratorDraws a chord in a specific inversion, with the bass note, the figured-bass symbol and the slash-chord name all given.
- Interval Practice GeneratorInterval questions with correct answers — name it, build it or invert it — spelled properly, so an augmented 4th is never called a diminished 5th.
- Tuning Temperament ComparisonSets pure whole-number intervals beside equal temperament and shows in cents exactly what each one gives up.
- Random Key Signature GeneratorDrill key signatures — draw a random key and check how many sharps or flats it has, which ones, and what its relative major or minor is.