Voicing for harmony track

Hi - completely new to the tool, sorry if this is answered elsewhere.

My question is about the notes played by Hookpad’s default “Harmony” track (i.e. the notes you see on the right half of the piano when you open the “Chord Chart”. For some chords (e.g. CMaj I, iv) the voicing is straightforward, with the chord in normal form with the root doubled an octave below. For others though, the chord is 1st or 2d inversion, and the doubled root is sometimes two octaves down, etc. Once you add sevenths things get more unpredictable.

My question is, are there specific theory reasons for why the chords show up as they do? Or is the tool basically making arbitrary decisions about voicing in order to keep the notes in a roughly constant range?

Hooktheory’s algorithms follow some (but not all) basic voice leading rules from classical music theory to make the chords sound good.

See these posts for some more discussion on the topic.


Thanks Dave!

Just to clarify, Hookpad doesn’t change chord voicing depending on the previous chord, right? Do you mean that the Hookpad uses static voicings that are chosen so as to mostly follow leading rules, or do you mean that it looks at the previous chord and dynamically chooses a voicing so as to mostly follow leading rules?

Sorry to be pedantic but I’m studying Hookpad’s choices to understand what it’s doing. Thanks!

No problem! Hookpad does dynamically change the voicing between chords. It generally tries to voice neighboring chords such that the distance between the notes that change is minimal. If you were playing the chords on the piano, it’s the voicing that would result in the smallest amount of movement in your hands when you make a change while still playing all the notes and respecting the bass. This is one of the main concepts in a topic known as voice leading and results in a smoother sound.

Is there any chance that future versions of Hookpad will allow you to specify a particular voicing for certain chords in the harmony track? There are times when a particular voicing is needed to create a specific effect, sometimes the voicing Hookpad chooses is not quite what I’m looking for. I know I can use the 4 different melody voices to make a particular voicing, but if one of the voices is already being used for the melody and the chord requires 4 notes then I’m out of luck.