Voice a chord progression with smooth voice leading. The first chord is
voiced with voiceChord; each subsequent chord picks, from a bounded
deterministic candidate set, the voicing minimizing the voice-leading cost
from the previous voicing plus a large penalty per counterpoint violation
(parallel perfects/octaves, voice crossing, voice overlap, and over-wide
upper-voice spacing).
Voice a chord progression with smooth voice leading. The first chord is voiced with voiceChord; each subsequent chord picks, from a bounded deterministic candidate set, the voicing minimizing the voice-leading cost from the previous voicing plus a large penalty per counterpoint violation (parallel perfects/octaves, voice crossing, voice overlap, and over-wide upper-voice spacing).