Is there a module (or combination of very few modules) that will do what the vermona RandomRhythm does?
Of course you could patch together quite a number of clock dividers and something like branches/chances to recreate some of that behavior. But it seems this is a really cool “functionality packaged together” kind of module that I would love to see implemented closely and/or expanded on in VCV.
maybe something like this. the first 4 knobs in 8vert control the probability (-5V= 0%, 0=50%, 5V=100%)
changing the last knob from 8vert sets a new seed which causes a new “dice” on a reset clock (which is here on a bar). The RndG Chn knob must be set to 1.
@docB I checked out your solution. This is definitely very fun to play around with and gives cool rhythmic results.
What I am unsure about is if the probability function is comparable. If I interpret the vermona module correctly it sets a repeated rhythm for each clock subdivision. So whenever you change seed you get a new set of gates(triggers) but they stay consistent over 1 or 2 bars.
The probability determines the percentage of gates being “ON” in a bar, but those don’t change until you reseed, giving you a repeated rhythm instead of probability based randomness.
With your setup it seems like a set of bernoulli gates where you determine on every clock trigger whether gate gets send through or not. Though sometimes I do get repetition.
Can you follow me on this? Or am I completely off with my thoughts (may very well be so…)?
The Seed value (bottom 8VERT value) must be non zero to get repeated patterns.
The way I understand it, the Vermona effectively establishes a random value for each potential strike of each sub-division within a 4/4 bar. Each press of the DICE button establishes a different set of random values.
The probability sliders determine the threshold for when a given random value equates to an actual strike.
I think docB’s simple patch captures the essence of the Vermona pretty well. Instead of pressing a button to get new values, you twist a knob to establish a new seed value (voltage). For a given seed value, the # generator produces the same sequence each time it is reset to the beginning of the sequence. docB’s patch resets the sequences (one sequence per sub-division) at the beginning of each measure of 4 quarter notes.
I have a more fleshed out version of the patch that I will post soon that includes the Offbeat feature, as well as the combined rhythms (OR), plus a bunch of new features.
Thank you for your explanation!
I think I follow now that I know how the seed knob works.
What got me confused is that sometimes changes to the 4 probability knobs also only come into effect once you reseeded (which perfect sense now that I understand the concept better).
Actually you should get different rhythms by changing the probabilities without reseeding. The random values assigned to each potential strike are fixed for a given seed value. If the value is greater than the probability value, then the strike occurs. At the extreme, a probability of “0” will turn all strikes off, and a value of “100” will turn all strikes on, regardless what the random values are.
The entire premise of the randomRhythm is highly dependent on the fact that a pseudo-random number generator always produces the same sequence for a given seed value.
fwiw in a vast majority of cases the random number generators in VCV are going to be “pseudo random”. But not all of them let you set/reset the seed. Not disagreeing with anything here, or curse, just throwing in some nerd stuff.
Depending how many bits in the pseudo random it may not repeat for 4 billion numbers (or more, or less). I don’t think you would see the repetition. Most “noise” generators use pseudo random numbers. You can find more on this with google. This was my first hit on “computer generation of true random numbers”:
“These requirements dictate that a computer algorithm cannot generate true random numbers because its output is always deterministic and reproducible. A true random number generator (RNG) therefore has to be hardware based, making use of the intrinsically unpredictable outcomes of a physical process.”
Yep - Seeds of Change definitely has a similar underlying concept. It adds capability of including pseudo random CV to go along with the gates. But as you say, it only provides for one clock.
Easy enough to get multiple clocks (one clock per sub-division). Clock SOC with a 48 ppqn clock, and then AND each channels gates with a different subdivision of the master clock. Divisions of 12, 6, 3, and 4 will give 1/4, 1/8, 1/16, and 1/4 Triplets, just as with the randomRhythm.
On Patch storage I have both the selection, as well as the full patch for the demo video.
A list of features is listed on the Patch Storage post.
And here is an off-the-cuff, poorly planned, but hopefully effective demo
I would love to work with a developer willing to build a dedicated VCV module with these features, plus some additional ideas that I have. I’ve got some thoughts as to module layout, some poly input/output options, and other enhancements.
Wow, Thank you so much.
Won’t touch those black cables, promise!
This is so much more than what I imagined coming out of this. Exactly why I love this community.
These linear mode and offbeat features are super handy.
As for developing a dedicated module, that would definitely something that adds value to the library. @Patheros and I are just about to release my first module idea to the library and I am unsure if he has time for yet another module besides his growing collection. But he would certainly be capable of making this happen.
Pseudo Random is commonly used now as a better idea than completely random.
I remember some talk in the early days of the iPod about the random shuffle setting repeating tracks. They had to adjust the algorithm so no tracks repeat, within a certain time limit iirc. Hence ‘Pseudo Random’.