Open napulen opened 4 years ago
Ah, I agree that seems a little awkward. Thanks for the expert feedback. I think large jumps (of > 7 semitones) in the bass are penalized, but maybe by not enough?
Have to think more about the fa->mi resolution in vii->I.
Yeah, currently the policy is to penalize large jumps.
In practice, jumps are tricky. An augmented second is a relatively short leap (same as a minor third) but several harmony books forbid them (has to do with melodic and harmonic minor scales). Leaping an octave (especially in the bass) is totally fine, but sevenths are strictly forbidden by several theorists (basically because they're difficult to sing, or so they say). So, these weights need some fine adjustments additionally to keeping jumps short.
I'll try to think of something too, and maybe make a PR with the suggestions.
In this example, the tritone (
F
andB
) of aviio
moves in parallel motion upwards. The parallel motion is probably allowed because the quality of the fifth is differentdiminished fifth != perfect fifth
and it is not penalized as a parallel fifth.However, the most important thing is that the
F
should preferably resolve toE
instead of going up toG
. This is already handled inV7
chords with the rule of Seventh should resolve downward or stay in unison, however, this does not mitigate the same problem inviio
chords, because theF
is thefifth
of that triad, not the seventh. The code is looking forchord.seventh
.The example can be reproduced with this input:
In the same example, a melodic leap of a seventh is seen in the bass (
D
down a seventh toE
). Some melodic motions in the same voice should be penalized. Sevenths are one of them. Augmented seconds are another one. Tritones are another one. Maybe more I can't remember now. This can be a separate issue.