Plugin embellishing harmony (chord symbols) for jazz lead sheets in the 4-note voicing idiom

• Aug 8, 2020 - 07:15

I attach a plugin that embellishes harmony (chord symbols) for jazz lead sheets in the 4-note voicing idiom.

The underlying idea is this: what characterizes a chord pair c1-c2? In first approximation it is the chord types and the distance between them (in half notes from -5 (fourth) to 6 (tritone)) . For example Dm7 G7 becomes “m7 5 7”, but so does Em7 A7. So this is not ‘strictly true’ but makes things manageable. For every chord pair type1-d-type2 I searched in my jazz standards database for instances of type1-x-type2 and tested if chord symbol x can be used to embellish the c1-c2 sequence. On this basis I constructed the embel table.

The most surprising result is that very often a number of embellishments are possible, but typically about half of them do not sound good in any particular instance, usually because of a conflict with the melody note (those can still be useful in improvisation), or because of larger context issues or other, unclear reasons. You need to test the suggested embellishments and see/hear for yourself which ones sound good/interesting. This is in itself instructive. Experiment with inversions for best voice leading. Sometimes things that sound good initially don’t sound so good after a while, and vice versa.The good news is that you can edit/expand/contract the embel table to suit your own taste.

In Embel Examples.mscz I show some examples where I manually colored the good sounding chord symbols blue. In ResultsMaster.mscz I show how I would play these same examples implementing my top embel choice.

1. Add quarter note rests in voice2 throughout. This creates segments needed by the plugin if there is no note on a beat in voice 1 (h/t Marc Sabatella). They can be removed afterwards.
2. Color the existing chord symbols red (or any color). The added chord symbols are black.
3. Adjust mingap = 480 (quarter note) if desired. Embellishments are only added if space between existing symbols is > mingap.

Known issues:
Remove all Staff Text: they hang the plugin & MuseScore.

Play Chord Symbols (in MuseScore 3.5) does not help: from the sound of it, it plays all the stacked chord symbols at once.
Naked chord symbols (Bb etc.) are recognized as Maj.
Slash chords are recognized, but the /bass is ignored internally.
Other recognized chords are limited to what you see in the embel table, which you can adapt to your own symbols with a – careful! - global replace.

I fully agree with what has been opined here before: don’t expect the computer to compose interesting music. I see this plugin as an aid in developing your harmonic palette. And after a while (10 years or so) these new ideas become second nature to you and then ‘your fingers know...’. That’s when the fun starts...

Attachment Size
Embel Examples.mscz 17.01 KB
ResultsMaster.mscz 26.29 KB
Embellish.qml 13.96 KB


By popular demand (?!) I wrote a new version of the plugin, which takes into account the melody note. This avoids some clearly bad choices, but you still need to check which ones sound good (to you). For example: melody note b can sound quite good over C7, but also quite bad in other contexts. My original hope was to formulate rules that distinguish these cases, but that failed miserably. As my former boss was fond of saying: “Object oriented programming is all right, but can you model reality?”

In preparing the score fill voice2 with eight note rests instead of quarter note rests. This allows for a better positioning of the embellishments. Be sure to be back in normal mode before running the plugin.

For scores in 3/4 adjust the onemeasure variable in the plugin.
Ubiquitous Circle of Fifths progressions are not considered for embellishment.

In working on this project I found 7#11 & 7b13 voicings often useful and versatile: e.g. (from low to high) f a b e = F7#11 (1 3 #4 7) = G7b13 (7 2 3 6b). I attach a score with examples of 7#11 and 7b13 embellishments.

7 and m7b5 voicings can be identical: e.g. d g ab c = Dm7b5 = Bb7
Sometimes both of these will appear in the same embellish stack. This is because there is also another regular voicing of m7b5 = 7 1 3 b5, e.g. Am7b5 = g a c eb
Consult the plugin (in a text editor) for further details.

Attachment Size
Embellish4.qml 45.42 KB
Modified7Voicings.mscz 31.24 KB

Do you still have an unanswered question? Please log in first to post your question.