jazz harmonizer module

Hi all, this is my first post to this forum. Please let me know if I’m asking anything in the wrong place!

I’m working on a harmonizer module which takes as input a chord specification (root and chord type, e.g. Dmin7) and also a melody note, and outputs three harmony notes to harmonize the melody note as one would if arranging e.g. a horn section in a big band.

The closest thing I’ve been able to find would be something like the instruo harmonaig, but I think my module is different. My modules always harmonizes down from the melody note, is based on the idea of an underlying chord rather than an underlying mode/scale, and uses diminished chords to harmonize passing (non-chord) tones, a tactic sometimes used in jazz arranging that sounds very natural in certain contexts.

You can see a very brief snippet of the module in action at https://tentacle.net/~bri/uJazz_dmin7.mp4


  1. are you aware of other modules that do this?
  2. is this interesting to anyone except me? :slight_smile:
  3. is anyone interested in reviewing my code? My C++ skills are not great and I’m totally new to VCV development.

Thanks, Brian


I know that the Meander module creates harmonies from chords, but as far as I recall you can’t send it the chord notes as a starting point.

That’s really interesting.

I think Harmonaig does something similar with passing tones… I never tested it though. If i want some funky chords, I just write them in some piano-roll-sequencer module (like Seq++ or NoteSeq16) in a chromatic mode.

Yeah, I think it is a good idea and people would use it for the generative patches and so on. The more the merrier. Even if there was a module that is like 100% similar, - whatever. That’s what I think

  1. nope
  2. yes :slight_smile:
  3. sorry, I’m no coder, but I can beta test the module
1 Like

I find this interesting although I do not fully understand what you are doing. It sounds very interesting though.

My Meander module does a lot of things with chords and melody and bass, but I don’t think it does what you are trying. Squinkitronix Harmony module may have been doing what you have in mind, but it never made it into the Library, which is a shame as it was a cool module. @Squinky

Well, you could not choose the chord type but rather the mode. It produced 4 voice harmony with voice leading.


Have you taken a look at the Aaron Static modules such as DiatonicCV, ScaleCV and ChordCV? It can produce diminished chords for a mode and root.


Sounds interesting, yes! My suggestion would be to create an accompanying sequencer that can control the chord progression.

1 Like

Love the idea, I know how to arrange like that, it is like using a Real Book with my guitar, you just get a melody and a chord name, the rest flows from that info. Great idea for someone to make a module.

I like bebop style with diminished, but modal options would be fun too. Chord spacing is something to consider also, being able to go from closed to open would be marvelous too.

maybe a bit in this direction could be this one:

1 Like

Not to speak for Brian, but that will do nothing he is asking for. All the tools in the rack are bottom up harmonizers, he wants top down. And passing chords are Chinese arithmetic to a module like this that only has diatonic options.

maybe I don’t understand it right,
but I thought with ChordCV you can add a chord to a lead/root note and you can change the inversion and voicing and type of the chord as you like (via CV in),
(so I thought, that it could work a bit like the idea Brian has),
but maybe I didn’t understand it right.

1 Like

I think you are correct. ChordCV can take a root note, a type, an inversion and a voicing to build pretty much any type of chord you want around the root. Alternatively, you can use ScaleCV to define the scale root and mode and output the ScaleCV “Scale Out” to the DiatonicCV “Scale In” set the DiatonicCV Octave, Chord and Type as well as inversion and voicing.

There are a lot of possibilities and the parameters are sequenceable if you map out the CV eigenvalues for the modules.

1 Like

I imagined sending 2 streams of CV. One selects chord and moves at half note or whole note. Then second stream is melodic that is just passing thru, but from that stream the module outputs shifting inversions on melodic notes that are in the chord selected and passing chords like diminished 7th chords on the non- chord tones in the stream, so moving block harmony in time with melody.

I have to say that I probably do not fully understand what you are doing. At first I thought you were playing a melody note and then forming a chord that has that note as the root. But from your short video, it appears that the “chord” is fixed and and for different melody notes, you use the same original chord for selecting harmony notes. I’m not sure where the “minor 7th” chord you show comes from. I suppose the “Chord” input is a type parameter and is applied to the root input (D), giving Dmin7?

Making an art piece with this sort of tool is an utopia

For live very useful I think

1 Like

For sure, you could think melody and get harmony, so much more flowing than think bass note get harmony. And always the right harmony if it complements the melody instead of the arm wrestling I get into with my harmony and melody in VCV, smart harmony.

humans have the genius to modify chord (harmony) progressions

Are you perhaps using enharmonic modulation, as described below?

These are temporary key changes, in this case per melody note.

1 Like

If nobody is familiar with the jazz theory in play here, this is a familiar technique to generate block harmony under any melody. Often people use a so called bebop scale to harmonize with, it will have 8 notes and the usual process is the chord tones are harmonized with the 4 notes of the chord of the moment ( usually maj6 or min6 ) and the non chord tones harmonize with the dim7 th chord of the chord a half step below chord of the moment. Some times referred to 6th/dim harmony. Like CDEFGAbAB so skips give you 2 chords CEGA and BDFAb Or EGAC and DFAbB or continue rotating those 2 piles as long as C or C6 or Cmaj7 is the chord of the moment.

1 Like

I’am not a musician

I understand some things

And for sure,best musicians have “powerfull tools” in their head to construct music

Yep, I know very little about music theory nor jazz practices. What you say makes sense. I will have to read up on this.