New Impromptu Module: ProbKey (updated to 1.1.12)

Thank you Marc!

Yes, that’s what I’ve been experiencing as well. It has a small range where it does something, and in that range it’s very sensitive about going from nothing to everything.

When I thought about suggesting an algorithm to you, this is exactly what I had in mind!

If you want to make it even more exiting, you could (on context-menu) maybe offer 3 different “skip-algorithms” to choose from:

  1. Euclidian mode (default), attempting to skip notes/gates as evenly spaced as possible.
  2. Bernoulli mode, like Branches, which is more unpredictable (cointoss?).
  3. Clumped/grouped (my idea), where if it skips say 50% of the notes, it would “clump” the skipping more towards the beginning (or end) of the total number of steps, not entirely put them there but just by proponderance.

Just an idea, but yeah - I think your “skip-note” idea would work much better, it’s even the term I gave it myself, when I was thinking how to explain it :slight_smile:

You’re most welcome, and I thank you for another wonderful module Marc!

1 Like

For the skip-notes idea, my only reservation would be that even at 0% skip (which incidentally should perhaps be at full counter-clockwise position instead of full clockwise), there could still be some skipped notes if the sum of all probabilities is less than 1, which could be confusing. And I’m hesitant to normalize the sum to 1 in this case, since it would render all those probability values in the keys to be essentially relative probabilities, and thus skipping notes would only be possible with the skip knob, which itself is a global control and is not part of what is saved in a given index position.

The knob could perhaps instead be called “density” and full right would be max density, but if the sum of all probabilities is less than one, we would still get skipped notes. Granted it’s the same idea except that the knob behavior is inverted, but pehaps the word “density” would be a more forgiving term and would fit better for the scenario described above.

@tugrikyan I’ll have to think to see if there’s a good way to show the currently generated note without adding more LEDs (which I would like to avoid), but I like the idea.

Ok, sorry for rambling, it helps me think!

1 Like

No worries, I ramble when I think/speak out loud as well :slight_smile:

So, maybe I didn’t convey my idea of a different behaviour for the p-gain knob very well, or maybe I misunderstood the purpose of the p-gain knob entirely to begin with. I’m imagining the notes/pitches/cv and the gate output to be two completely decoupled things.

I would not change anything at all, about how the probability of which note/cv is played works, that works wonderfully as it is now.

I interpreted the function of the p-gain knob as skipping gates from the gate output, and so my suggestion is purely about that. How to skip gates from the gate output in a more musically useful way, and that’s the way my 3 suggested algorithms should be understood.

In the light of that, when I think about it, probably a better name for the p-gain knob would be “p-skip”, or “skips”, and at fully counter-clockwise it would skip no gates at all (default), and at 50% it would skip 50% of the gates, and at 100% it would skip all gates (be silent).

Hope I’m not messing up your thinking, otherwise feel free to ignore :slight_smile:


Maximum Glitch with Probkey sequencing my O-Coast and randomly sampled input for harmonaig sequencing chords on my digitone. With the 32-steps-locking the repetitions of the melody voice are longer and more interesting. Thanks again Marc!

(Good luck trying to count a One… too much glitch, I know… but it was only a quick jam…)

  • mo

Space Pilgrim

Hi Rackerz.

First I need to thanks to Marc Boule for creation a powerful module Prob-Key. Probably I repeat myself but I cant stop playing, build new patches etc. without this module. But today I must thanks to Lars Bjerregaard for his inspirational last video on YT channel. As alyways I’m a little “thieving magpie” and I trying to recreate something In this case sequence from Lars patch as a base for my new patch. Sorry Lars but I don’t regret. :slight_smile: So now you can watch and listen my performance play this patch. Piano sound are from Felt Instruments Lekko vst plugin. Cheers and Live long and Prosper :vulcan_salute:


Nice one Mat! I really like the ending, getting some similar vibes over here with my Pianoteq VST, lots of fun :slight_smile:

1 Like

I’m just flattered that you chose to steal my patch and make it your own :slight_smile: Impressive patch Mateusz, very cool.

1 Like

Thanks @marc_boule. This is a bit lighter version of my previous patch. I cut a some drums section with more chronoblobs :slight_smile: for technicals reasons (heh…) but instead there is a felt piano. Less is more I think it fits perfectly now.

Thanks @LarsBjerregaard :wink: I hope you enjoy listen my version.

1 Like

Am I right that the octave range can only be set for all the notes, not for notes individually? So you can set an anchor for individual notes, but they will all have the same octave range?

Hi Joop, yes, exactly as you described it: octave anchor is per note, octave range is for all notes as a whole. Cheers!

1 Like

That’s very nice Markus! :+1:t4:

i asked because, if you have notes set to a lower octave, and others are active somewhere in the middle register, the lower ones tend to go out of usable range. (Same for high notes, but I find that less of a problem). So you have to either stick to a low range, or not separate the anchors too much.

Of course a utility like Sou utils can define a lowest note/octave/voltage threshold.

UPDATE: Impromptu 1.1.12 is now out with a few improvements to ProbKey.

At the suggestion of @tugrikyan, I have added a visual of the note being played when we are in the Probability edit mode. The top LED in the keys will show which note was played, red means a locked note was played and white means a new note was generated.

The maximum lock length is now 32 steps (instead of 16) (@mosphaere)

As per discussions with @LarsBjerregaard, the p-Gain knob was a bit cumbersome and so was changed so that it acts like a Density knob (this may affect any saved patches where this knob was less than half way up).

Poly capabilities were added to the Offset, Density and Squash cv inputs (relevant when using a poly gate in), for more poly control over the different voices (Martin Lueders).

I also added a menu for manually locking individual steps, which I think is really interesting. It allows us to control the amounts of randomness and predictability in our music, and I’ve been having a lot of fun with it. Manually locking steps is only advised when the Lock knob is at 100% (full right) or if Prob-Key is not receiving any gates; if not, the menu will quickly get out of sync with the notes stored in the lock buffer since the menu is not dynamically updated when held open. Since the concept of step number is not used in ProbKey, the steps are not numbered and we have to go by the note values to “see” which steps we want to lock.

For more context on this, please see the interesting discussion started by @chaircrusher on Predictability, Surprise, and Randomness in music. :slight_smile:

Sorry for all the name dropping in this post, but it’s my way to say thanks to all those that participate in all these interesting discussions that help to improve the modules. Cheers! :musical_keyboard: :zap:


Nice Update! btw, what does it copy to the clipboard when you select portable sequence / copy?

Thanks! The portable seq copies all the notes in the the lock buffer (up to the length we have selected in the length knob).

This reminds me, could you add ProbKey to my list of supported modules in your Portable Sequence document on your github please?


what does probkey use for a note length? I see that if I don’t edit anything the length is .5. Is it always .5?

yes, always .5 since there’s no real way to modify lengths in problkey (although it does use the actual gate length given to it to produce the gate output, I just put .5 for all the portable sequence stuff)

1 Like

Encore une fois, merci beaucoup, Marc! I haven’t had time to check all the new additions yet, but I’m pretty sure everything should work as stated :slight_smile:

1 Like

Thank you Marc!