Randomly or Semi Randomly Choose Notes in Chords

I’m generating polyphonic chord progressions, currently with Progress2. Using triggers I’d like to use triggers to semi randomly sample and hold a sequence of notes chosen from the each chord to generate melodies consistent with the harmony. What module(s) would I use to do this?

1 Like

Actually I found a module that will do this: VCV Library - Plurm chordscalequantizer (vcvrack.com)

I don’t know how I missed finding it in previous searches.

Maybe because…

There’s two thousand seven hundred seventy three modules!!!

So don’t kick yourself too hard. :rofl:

1 Like

You could also apply an arpeggiator with a Bernoulli Gate to determine whether or not to pass on that note, the arp effectively acts as a sample and hold.


I may be misunderstanding what you want to do, but my primary methodology for doing things like arpeggiate a chord is to use a SPLIT module to separate the notes of a polyphonic chord and send those monophonic notes to a CountModula Switch 8-1 sequential switch and send the switched notes to a voice module such as BOA FM-OP (a simple voice with envelope and VCA built in).

I often sequence the CM 8-1 “DIRECTION” and “LENGTH” to do all sorts of arpegiattions, including the “?” random order direction…

Another trick is to send from the SPLIT to a triggered switch such as ML_Modules Triggered Switch 8 to 1 to individually trigger the individual notes of the chord. I often use a MERGE to combine the switched notes back into a polyphonic signal that I can send to a polyphonic voice such as FM-OP.

There are a myriad of variations on this theme.

By the way, I usually use my Meander module to produce the chords and choose to either have the tonic or bass note on channel 1 so that I can also do fun things such as extract a bass line…


I’m surprised I had also missed Plum’s modules. I will have to play with those also.

I may not understand the Plum chord-scale-quantizer fully, but since it was not working as I expected, I read the manual and the author says it does not work correctly and is incomplete.

There are lots of ways to quantize to a scale. Again, what I do is either let Meander quantize to a scale internally or use the Meander external quantizer input to quantize external notes to the current mode and root scale.

Alternatively, you can run the Meander “Poly Ext(ernal) Scale” output to the Grande Quantizer which can understand the 12 channel scale format such as Meander uses when Meander right click menu has Scale Out Mode set to “Heptatonic Chromatic Scale-12ch”.

maybe VCV Library - Venom HQ - Harmonic Quantizer

You’re right, Chord-Scale doesn’t work as advertised, as the manual warns.

I want to trigger generation of single notes from the current chord, not from a whole scale. I was hoping for something simpler than Meander as I can more easily generate chord progressions with Progress2. Any other options to choose notes from a chord?

I’ll try Venom HQ. Could be interesting.

You didn’t ask this question, but I will answer it anyway :wink:

Assuming for simplicity’s sake we are in a diatonic scale, the notes from any single chord cannot determine a unique scale that the chord notes belong to. There are 38 possible diatonic heptatonic scales. (as far as I can discern and understand).

So, to quantized anything to a scale, you have to know which scale you are interested in.

With the 7 diatonic modes and 12 root notes, there are 84 possible modal diatonic scales, but not all are unique.

1 Like

Be sure to check out the Aaron Static Diatonic scale and chord modules.

You should be able to use the sequential and triggered switch approach I mentioned above for playing notes from any chord.

NotesFromChord.vcvs (43.6 KB)

Just for fun.


I think the Aaron Static “Random Note CV” does exactly what I was looking for - choose a random note from an inputted polyphonic chord each time trigger is received.

Thanks k-chaffin. I’ll try your split/switch and Meander suggestions. And thanks Yeager for your suggestion. I’ll try it also.


well you obviously already found something that works the way you wanted, but i just saw this thread and wanted to chime in with some shameless self-promo… my “polyrand” module basically does this - takes a polyphonic input and on each trigger chooses a random channel to output from the module.