Given a root note and a scale, how to find the corresponding chord?

To preface this. A) I am not very knowledgeable in music theory, some basic understanding but nothing more. B) This may be the completely wrong way to go about it, and if you have some suggestions/comments on how I should approach things differently, please share :slight_smile:

I want that given a scale (e.g. D# Minor) and a root note from that scale (e.g. G#), I would receive the corresponding chord (e.g. G#m). Like in this picture: image

What I’ve done is taking the original quantized note (red cable), fenced it to be in a single octave (green), so now the values are in the range 0V-1V, then offset it (D#4 is 0.25V, so offset by -0.25), then scaled it by 7, since DiatonicCV received values from 0-6V (blue). Now, this seems to work, here is the scope showing the offset values. image

But 1. I’m not sure it will work for every scale, even for this, minor guess-timations with the offset-scale were needed. And for other scales, were the note intervals might be different, I’m not sure the offset scale will fit every note in it’s correct slot from (0V, 1V, 2V, …, 6V) And 2. this just feels like a weird hack I’ve put together, because I didn’t know how else it could be done.

How would you do this? And am I also going about it in the completely wrong way? Maybe I should be looking at it differently?


rewire as needed. Ignore the cables crossing these modules, they are from my default patch

Hey, I’m not really sure how that helps, there’s no input for a specific root note for the chord. Plus, is Gm even a chord in the D# minor scale?

I just added a random offset, tweak to your liking. The root input in ChrodCV is exactly that, input any specific root note, select what type of chord and there you are. Seems what you are after

Well, most people call D# minor E flat minor. And, no, no matter what you call that key, the note G doesn’t even occur in that scale.

It sounds like you want the following: Given a scale (C major) and a root note (G) find the stacked triad (1 3 5) from the root note. This is called the “diatonic chord”. So the diatonic chord in C major stacked on B is the b-b5 (B D F) chord.

If that’s what you want, here’s a way I did it just now which checks correctly when I eyeball it. I used two of the Harmonee modules to apply a 4 and 7 semitone offset and then a double quantizer to force back into scale. A but cheesy but it seemed to work.

I’m working on a module ATM that does exactly that.


(The reason that is cheesy by the way is the 4 and 7 are not the correct calculation but the quantizer makes them so through a bit of luck. With other scales you may need more care. And the correct way to do this is with a scale-aware offset in note space not in frequency or log frequency space. I don’t know a module which does that today. Doesn’t mean there isn’t one)

Mine is called “Harmony II”, and that’s what it does. In the manual there is a section on why you need luck and experimentation to do this with many quantizers (including mine).


Oh well great! Well that will solve the problem from rounding-getting-lucky the above approach had!

I think theres a wealth of jazz-theory-modules which could be fun indeed.

1 Like

yeah, for sure. Although, as you say, who knows what’s already out there?

Here’s what Harmony II looks like, atm: the second column is the number of scale degrees to transpose. If you enable three rows you can make a triad. I need to get some stuff done so I can test this!


I know the right way to do it

Learn the simple major /minor harmonies

Take C major CDEFGAB It has a C major, Dminor Eminor Fmajor Gmajor Aminor B diminished triads or in Roman numerals I ii iii IV V vi viidim

And every major scale does this pattern of notes, spacing between the notes and the corresponding chords in that order

Minor has more possibilities, so save it for your next theory lesson. You can tinker with major for a long time.

But the natural minor just starts this pattern on the 6th chord in major and makes that chord the new position one chord.

So in this case Aminor Bdim Cmaj Dmin Emin Fmaj Gmaj

Or. i iidim III iv v VI VII.

Best of luck have fun


That seems really neat! Definitely what I was looking for! Guess I’ll wait till you’re done :slight_smile:

If you are slightly adventurous you can download a test version. I’ll put up an announcement when it’s up. Or you can wait until it gets into the library.

And another reason to learn theory instead of patching scale tools, they are usually unnecessarily confining to a single modal outcome. That is terribly boring sometimes and doesn’t represent how a lot of music we have listened to for the last 400-500 yrs works. A touch of chromaticism or a direct modulation of key can be refreshing and ear catching and part of the tension release cycle in all music.

Soap box dismount.

On the other hand I bet the squinkytronix module has great potential for compositional use, I do like Harmony and Arpeggiator pretty well, very nice coding.

well, algorithmic composition vs. human composition, it’s and old issue. I would say that really bad algorithmic composition is a bunch or random notes quantized to a conventional scale. There are tools that can do better than that admittedly low bar… Personally I’ve never use a computer to compose music, but that’s pretty much what VCV is “good” for, so…

I remember back in the late 60s and early 70s how people criticized the Moog and composer/performers like Wendy Carlos. By it’s name, the “synthesizer” is put in a niche of “synthetic” and thus not authentic.

I have no illusions that my generative music is to compete with human composition and performance, but, I have fun and see it as a challenge to see how far it can be pushed. And, I am entertained.

I developed Meander in 1988 as a tool for helping me understand how music works, from my perspective as a physicist and engineer and electronics hobbyist. Even though I wrote Meander, it still educates me via some strange self-referential synergy between human, technology and knowledge… I hope that Meander works for users who want to understand a bit about how western music works. But, with the caveat that I may be wrong about some things.

I really like modules that help with musical composition and practice. I love to search for ways to create synergy between different brand modules and the thousands of electronic music enthusiasts who use my and others’ modules.

There is a great satisfaction in finding on YouTube a new Meander user, somewhere in the world, using Meander to make music.


Back to your original question, I think my PS-PurrSoftware Meander module (or ModeScaleProgressions module)will allow you to explore how to form chords in any of the 7 “modes” transposed to any of the 12 roots. Here is a barebones chord playground patch:

Meander interactive chord toy demo.vcv (8.0 KB)


For this demo, the patch is set to C Ionian (major) but can be set to any of the modes and roots to do any modal diatonic scale. Click on the buttons inside the circle-of-5ths to play the correct chord for that mode-root scale chord root. Note, the harmonic degrees I-VII are used to designate the relative harmonic degrees in the yellow annular rings, but, the actual chord name is also indicated in the red, blue and green annular rings. This common practice scheme always plays notes that are members of the scale, by playing the chord as a major, a minor or a diminished chord, which forces the notes into the scale . These are the same “patterns” mentioned by others here.

For simplicity, you can get a long way by playing with the I-IV-V chords as a tremendous amount of western music (particularly ) pop and blues, etc., can be played with progressions made from those 3 relative harmonic degree chords.

This can be automated by sending 1v/degree octal radix values concurrently to the degree/gate inputs in the center of the circle of 5ths, but that is an advanced use-case. Octal radix is “degree.octave” where degree can be 1 to 7V (for I-VII) and octave is .0 to .7V for relative octaves 1-7. This method allows the chords to be sequenced by degree and the correct chord will be generated for that scale degree.

This demo patch uses The Impromptu “Four-View” module to display triad chord notes and chord nomenclature. The Grande Quant is used to provide an additional current scale display that corresponds to that on the Meander panel display.

Have fun, should you decide to play with this. :grinning:


Not sure if this was already mentioned.

C major uses the same notes as Aminor. This is called relative scales.

Major root minus or left three half steps equals minor root…

Minor root plus or right three halfsteps equals major root.

This works for all major/minor scales.

Good luck


Great comment, but I have to add this is natural minor and not the full range of minor key options. Very few traditional minor key tunes are solely natural minor.

Minor is taught in Common Practice to include a harmonic minor and melodic minor. A natural minor. ABCDEFG A harm min ABCDEFG# A melodic min. ABCDEF#G#

And these are less scales and more about the chords used. A harm minor has a major V chord unlike the minor v in natural min. This V or even V7 chord is the dominant chord that pushes hard back to the I chord. A melodic minor gets rid of the augmented second between F and G# to make smoother melodies with the F# and G#. The chords then include major IV ( or IV7) and V ( or V7).

I hope this is helpful and not just me be an awful know it all. I love all the possibilities and twists and turns in the music we love and just want to point at the older straight theory as a good jumping off point for whatever direction you may want to go. All ways are valid of course.