Testing distribution of random note generators

Expanding on the testing of pitch quantizers, I also looked at the distribution of random note/sequence generators. Here, distribution was assessed after 30,000 pulses.

Tool for testing distribution of random note generators_20250111.vcvs (51.6 KB)

Some of the interesting RESULTS included (see pic):

Polyturing (stocaudio) showed an even distribution across a chromatic scale.

In contrast, Turing Machine (Stellare Modular) showed emphases on E and G#, strongly diminished values at C, and slight reductions at C# and B.

Permutation (6hp) by Grayscale, another Turing-like module, showed emphasis on D, D#, F, F#, G# and A, with a clearly diminished C.

slips (alef’s bits) in chromatic mode favored the 12th note (B) and undervalued the first note (C) by approx. the same amount.

In addition, slips in C minor scale showed a strongly increased Subtonic (7th scale degree). The Subdominant (4th scale degree) was somewhat enhanced, and the Tonic (1st scale degree) was reduced.

Moreover, slips in C Major scale showed a major decrease of the Tonic, and less reduction in Mediant (3rd scale degree) and Subdominant.

Changing the root note in slips lead to additional variations.

With Proteus (Seaside Modular) in C minor as well as C Major mode, the Submediant (6th scale degree) and Subtonic seemed to be undervalued, whereas Mediant, Subdominant and Dominant (5th scale degree) were enhanced. As Proteus was created to generate melodies rather than random note sequences, it is not clear whether the observed uneven distribution was intended.

In chromatic mode, Proteus was close to an even distribution (data not shown).

RandomNoteCV (Aaron Static) yielded an even chromatic distribution, but only if the Poly In input was not connected. In contrast, when a signal was fed into Poly In, distribution vastly exaggerated the first note. This was observed when Fixed Voltage Source (NYSTHI) was connected, and also with ScaleCV (Aaron Static). It is not clear whether I misunderstood or this being a bug, @AaronStatic.

All noise-based S&H modules tested [S&H (Bogaudio), S&H 8 (ML Modules), S&H (Bark), SHEight (Mockba Modular) and tagh (Instruo)] yielded an even distribution on a chromatic basis.

7 Likes

your results seem to me, as if the modules are musically in their own different ways. perhaps it is important to know that for use for melody creation.

1 Like

Yeah, that’s a good point, and I would be intrigued to get feedback from developers whether the skewing was intended with these.

Aside from that, I think it’s interesting that every module shows a different distribution profile, so they may each create different ‘feels’ when used in aleatoric music.

i will have a look of nysthi sou, which i use often in buchla like patches. perhaps i manage it to bring it inside a test patch.

That would be great!

Was inspired by watching the video on the ‘Source of Uncertainty 266t’ hardware module by Buchla & Tiptop Audio, and would love to explore what’s possible with NYSTHI’s SoyModelSOU.

1 Like

I’m thinking of making a “sloppy” quantizer with various CV-controlled options for biases, so that you’re not always perfectly on the note, just closer. Always perfect intonation can sound sterile.

1 Like

could also have control of “strength”. i.e pitch = strength * quantized pitch + unquantized pitch * (1 - strength). Mind you, I don’t know if that would be useful…

btw, not that you need more work for yourself, but a lot of my “Squinktronix” modules have quantizers in them (actually the quantizer from Seq++). “Harmony II” is more or less a quantizer.

anyway, should you care to look at those modules, I would be happy to explain why they work like they do (and perhaps update the manual accordingly). They definitely are not “proper equal probability”, and they no doubt can skew in off-seeming / arbitrary ways.

I think this is a neat idea! It would be something like a detuned bar piano and beyond :smiley:.

Can imagine different variations:

a.) A constant offset for each note within an octave (C, D, D# etc.), but the same respective offset in each octave. C2 would be the same relative offset as C3 and C4. Would this be closest to a microtonal quantizer?

b.) A different offset for each note across all octaves, so C2 assigns a different (but constant) offset than C3 and also different from F#4.

c.) Offsets could either be fixed, knob/CV adjustable or randomly assigned with each gate/note input.

Would be nice to be able to dial very small offsets but also larger ones.

1 Like

Thank you, I’d love to take a look. More explanation would be helpful. Distribution becomes especially relevant when feeding a quantizer random note inputs.

1 Like

I also understand that the X Generator of Mutable Instruments’ Marbles (this would be Audible Instruments Random Sampler in VCV Rack) can produce skewed random distributions S&H using the Spread and Bias knobs. Will try to take a closer look.

Adding offsets is rather easily patched yourself by adding a sample and hold after the quantizer. It could sample any voltage (static, lfo, random signal, or whatever, another quantizer??), triggered by the quantizer. If you want small offsets or deviations, you can scale the output of the s&h with a vca. You could even have a bernoulli gate triggering the s&h, making the offsets happen occasionally or to taste. The fundamental Random module does seem to be a perfect candidate for this.

Yeah, these are excellent ideas!

Patching may get slightly more complicated (but nevertheless doable) if you want specific detunings for specific notes (C, D, D# etc.).

If I understood it correctly, @pachde is thinking about a more compact solution, all within a quantizer module, so that no additional patching would be necessary. IMO, this would be a quite useful addition to the library!

1 Like

I usually plug something like bogaudio polycon into Coerce by SIM and create my own quantizer for this purpose. But yes, this in a single module will be nice. There is something very pleasing about having one or two notes slightly out of tune in a sequence. Anyway, I never meant to hijack this thread. Great work @Alphagem-O

2 Likes

Thanks, @auretvh! No hijacking sensed. On the contrary, always learning from these discussions.

I like Coerce a lot and even employed it for a flexible quantizer.

The idea of using it for slightly detuned notes is splendid!

1 Like

An improved test patch using a new accumulator (polycounter by alef’s bits) yields a more compact patch design.

Improved tool for testing distribution of random note generators_20250113.vcvs (33.7 KB)


This now also allows testing across multiple octaves.

With the new setup, Polyturing (stocaudio), which yielded an even distribution when tested within a single octave, now shows a bell-shaped curve around C4 when spreading the signal across 4 octaves.

Polyturing (stocaudio)_4 octaves_20250113.vcvs (45.4 KB)

In contrast, Turing Machine (Stellare Modular) showed a more or less even distribution, with several individual spikes that did not seem excessive.

Turing Machine (Stellare Modular)_4 octaves_20250113.vcvs (28.6 KB)

Finally, Proteus (Seaside Modular) in C minor mode showed a bell-like histogram that was strongest in the 4th octave, flanked by lower probabilities in Octaves 3 and 5.

Proteus (Seaside Modular)_4 octaves_20250113.vcvs (29.5 KB)

Permutation 6hp: More or less evenly distributed with some spikes.

Permutation 6hp (Grayscale)_4 octaves_20250113.vcvs (28.2 KB)


slips (alef’s bits) in C minor mode: Native output voltage is approx. -1 to 1V, covering two octaves. Pattern matches result from the single octave testing.

slips (alefs bits)_4 octaves_20250113.vcvs (34.1 KB)