GenerateRandomSearch

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

  1. Pick a progression.
  2. Read the four voices for each chord, lowest first.
  3. Look at how little each voice moves between chords.
  4. 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.