Newbie here! I understand synthesis but haven’t got to grips with the modules yet.

Here’s what I’d like to do. Perhaps you can tell me if it’s possible in VCV and, if so, what modules I should eb using.

Set a root key, let’s say Cmaj.
Play C chord
Put C in Probability generator./dice machine
This gives a % chance of what the next chord will be. Eg, 40% chance it’s F, 40% chance it’s G and 20% it’s Am
Play the chord
Back to the generator so, eg, from the Am there’s a 30% of F, 20% of Dm, 20% of G, 20% of Em, 10%of C

and so on…

Is something like this possible in VCV?

I’ve struggled to find modules that dso the % calculation and play pre-programmed chords.

I’m also curious if there’s a way to set up probabilistic choices between 3 or 4 options. With two options, you can use a Bernoulli gate. You can chain these together, but this is not the same as setting a probability between 3 or 4 options.

I can’t think of any obvious way of doing it imediately but if you get desparate then Prototype lets you write you’re own module in a variety of scripting languages.
Actually, looking at it the above mentioned Markov Chain sequencer is the most likely candidate.

What you are describing is indeed one of the main applications I had in mind when developing the Markov Sequencer. https://github.com/philippesalembier/SckitamVCV#markovseq--
It has 8 states (that you may associate with a CV indicating the chord) and you can fully specify the probabilities to go from a given state to any state.

If you need some help with this sequencer, please let me know. I would be happy to help.

I am not sure the Markov Sequencer is the only option for this, but it can indeed be used to define probabilistic choices among up to 8 states. Moreover, if necessary, these probabilities may depend on the current state of the sequencer.

Hey @dag2099 - Yes, I think it’s Markov. I used to program a bit in BASIC and love the idea of writing my own modules but it’s waaaay beyond my capabilities.

Hi @philippe.salembier - thank you so much. I’m a total VCV newbie so might well need some help setting it up but I will see how far I get first Appreciate your offer , thank you.

I’ve read the instructions but I’m afraid I’ve absolutely no idea where to start, what to plug into the inputs or outputs I guess being a total VCV newbie doesn’t help.

Would very much appreciate some sort of (simple) starter patch.

The “sample and hold” module generates random pitches which are quantized by the Re-Wind quantizer. In this quantizer, I have defined 6 scenes corresponding to the notes of 6 chords of C major, from I to vi. Then, with the MarkovSeq, I have specified the following chord progression scheme:

This is done with the following part of the module:

State 1 is associated to chord I. On the upper left side of the figure, you see that from there, their is almost a uniform probability to go to any chord from 1 to 6 (the probability to remain in state 1 is somewhat lower). Then, on the right side, you see the probabilities for state 2 associated to chord ii. From here, you have a rather low probability to remain with the same chord, but higher chances to go state 1(I chord), 3 (iii chord) or 5 (V chord). And so forth for the remaining states.

The last point is to associate CV to the chord. This is done with this part of the module:

The knob for state 1 is at 0. So the CV at the output of the sequencer for this state will be zero and it will select the first scene of the quantizer (the one associated with the notes of the C major chord). The knob for state 1 is at a higher value (0.99) so that the sequencer output will select the second scene of the quantizer… and so on…

You should at least take a look at some of the examples for Prototype, it’s massively easier than writing your own module. I used it to do the AI behavior of the paddles in this patch https://www.youtube.com/watch?v=S9nUd3bn050. (Sorry to self link).

Thank you very much. TBH, I still struggle to follow the logic but at least I have a working model so I’ll experiment with that.
Many, many thanks, much appreciated.