New Impromptu Module: ProbKey (updated to 1.1.12)

Here it is:


I like it a lot Marc! And yeah, the SIG looks amazing :slight_smile: This is my first doodle with Prob-Key, the only thing I’m not on friendly terms with yet is the p-gain knob. It seems to have very limited range of effect and so far I find it a bit hard to use musically. But otherwise - fantastic module Marc, a new favorite of mine, thanks very much!!


Nice and smooth Lars, very relaxing!

I’m also not fully satisfied with the p-Gain knob, but I wanted it to be mathematically simple, so it just applies the gain to all the probabilities. But this makes it such that when the sum of all probabilities is, for example, 4 (say we have four notes each with a probability of 1), then we have to bring the p-Gain knob down below 0.25x to start hearing an effect (i.e. for notes to start to be skipped). With that knob having a range of 0x to 2x, it means that 7/8ths of the knob is actually useless in my example.

I’ll think about it more, perhaps gains above 1 are not as useful as I thought for that knob, and I could make it’s range 0x to 1x (and call it p-Atten perhaps). The reason being that when we setup ProbKey, we normally dial in all the probabilities we want, which most always sum to at least 1, and then use the p-Gain knob to gradually introduce skipped notes to either start or end our piece of music (at least that’s how I envisioned it).

Brainstorming more, and assuming the p-Atten version, the knob could perhaps then also be normalized such that it would have an effect as soon as it starts getting reduced. So whatever the sum of all probabilities are, it would then act as a “skip-note” knob, in effect; full clockwise, no notes are skipped, center means 50% notes are skipped, full left all notes are skipped. If you (or anyone else) have any thoughts on this, please feel free to follow up on this.

Thanks for taking the time to try it out and to give some feedback Lars, much appreciated!


IMHO, “skip-note” knob modification also looks like the most interesting idea, Marc.

  • Another late post-thought of mine: it would be nice also to see on the keyboard of Prob-key which keys are currently selected in live mode (ideally also with octaves, but it’s not so necessary). And I agree with Lars - this module is undoubtfully Top3 in Sequencers cathegory :slight_smile:

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?