Randomize button midi assign

I’m trying to assign a butto or switch that will connect the randomize( dice) button in some Kontakt plugins—namely Percussion or Playbox.
Falling that can I assign the preset forward and back buttons to my midi controller?
Thanks for your help


The randomize mechanism has to be exposed by Kontakt via host automation before you can assign a button to it

1 Like

Hi Marty I totally get you. I’ve found most KONTAKT instruments don’t expose the dice randomize functionality. But what that dice click actually does is very helpful to understand because they do expose control of what they the dice click in fact does.

I suppose I’ve done a bit of monkeying around with the 8 typical knobs N-I does or used to stack out on the front of the PV. Here’s a couple of strategies you might want to try:

Map widgets to those 8 knobs, but also to the “next” and “prev” controls you’ll find near the typical KONTAKT instrument A and B sample names. It might seem annoying but it’s is not very hard or time consuming to do in fact especially using the “learn parameter” button. Watch the time and you’ll see it doesn’t take you much time at all to do, maybe 2 or three minutes for a KONTAKT instrument, and that’s “set and forget” for that rackspace.

Then save that as a variation.

Notice I’m not talking about mapping widgets to a physical MIDI controller knob, which you can certainly also do if you want.

But this technique will at least let you kind of flip through the deck of cards as it were easily, and quickly save a result you especially like as a separate variation. I find it helpful to think of GP variations as functionally like “snapshots” in the N-I vocabulary.

So you’re going to end up with a bunch of widgets recording variations, each of which captures the settings you’ve mapped to your widgets, and using the “next sample” and “prev sample” buttons of the KONTAKT instrument (which you may have to sort of look for either side of the A/B sample names, using the “learn parameter” button).

Now here’s a little pro-tip I worked out. Shift-clicking the dice in the KONTAKT instrument will randomize not the samples, but only the front PV controls of that preset. This can be very handy. The widgets you’ve mapped to those controls will update and you can adjust and save that as a new variation.

Now functionally this is pretty much identical to just saving a new KONTAKT snapshot, which is maybe an approach you can think about.

If you want to automate randomizing the KONTAKT controls, that’s going to take a deeper dive because you’ll need to basically reverse engineer those controls.

But this also goes to the question of what do you want to hear? I’ve found that not all combinations of KONTAKT instrument settings are equally suitable. You can click that randomize button an awful lot and not come across something you actually like without making adjustments. So then that goes to your workflow.

In the end you would probably prefer the sound of a dozen carefully adjusted variations you tuned manually either saved as a KONTAKT snapshot or through Panel widget settings, to the result from dozens of clicks of the dice button.

Having any of all possible combinations and permutations available doesn’t equate 1:1 with a perfect sounding patch for its spectral spot in your mix every time.

In other words most of the dice clicks will make results that statistically you’re probably going to hate. Once in a while you’ll hit something fantastic but it’s in the nature of pseudorandom number progressions that that’s probably (maybe maybe not 50% variance half the time…) not going to be the case most of the time.

Because randomness, YMMV but for my money it’s a lot more effective to mess with settings to design something specific I like, and then save that rather than wait as much time as it takes for something “perfect” to fall out of a pseudorandom number sequence.

If the plan is to put it on and wait for that perfection to happen… that’s quite a project. You might be spending your time better by explicitly designing your sounds than selecting them as they fly past. That’s why they make that dice button.

Having said all that; GP WILL technically give you all the help you could need to control VSTs any which way you like.

PS: I have discovered one programmatically accessible N-I functionality! If you have REAKTOR PolyPlex, it has a randomize sample per note parameter (right click on dice) you can trigger by MIDI learn, which means you can probably trigger it by Learn Parameter as well. That should offer some fun!

Edit: one restriction emulating that dice button will impose is the time it takes to load a next or previous A or B sample. they just don’t seem to offer a random access way to say “choose sample y” - so you can only choose the next or previous sample and wait for that to load before you can select the next. Clearly they have a “choose sample y” functionality but they don’t expose it there. My own suspicion is you’d have to look at N-I KONTAKT scripting - likely very simple scripting - and that would be something to ask about from N-I.

Presumably you’re also aware of GP’s Probabalistic Sound Designer which can be used with any plugin that supports host automation (which is pretty much every plugin!)
The PSD gives you much more control over what is randomized and how each parameter should be randomized.

2024-02-24 16-18-59.2024-02-24 16_20_40

Thanks David. There’s also that lol! But I feel like it also helps to make my point to Marty that waiting for the perfect fish to come down the stream might take a lot longer (possibly on a quantum time scale lol) than using the available DNA engineering lab you and your team have handily built into GP to just design and refine a series of increasingly “perfect” fish, as the PSD does!

So yes Marty +1 the GP PSD tool as well.

(PSD <> Photoshop Document)

Thanks so much for the detailed response. This really helps

Thanks but I tried PSDbut of course it will pick up every control except randomize and forward and back

Then the plugin is not exposing “randomize” as a host parameter.

1 Like

I’ve never seen a KONTAKT instrument from N-I or anyone else that lets you use a randomize (usually represented by a dice button) function by sending it a CC or through host automation (PolyPlex is a REAKTOR ensemble). it is going to depend on the instrument but I recall in the “typical” KONTAKT instruments, being able to find a next sample and previous sample button on either side of both the A and B samples.

These buttons don’t randomize in any way, rather they merely select the next or previous A or B sample, according to an order presumably authored into the instrument, rather like selecting the next or previous cut on a CD or vinyl recording. To accomplish a random selection this way would then require you to select the next or previous sample for the A or B sample a random number of times. This would become problematic as you waited blindly for each selection to complete. It’s also problematic if you’re at sample number 1 in the instrument and randomly select “prev” 6 times, etc.

For whatever reason the KONTAKT instrument developer doesn’t provide the user with a way to randomly change the controls to randomly selected values via host automation nor MIDI.

You can observe parameter activity in the (paid) KONTAKT automation tabs — may be the same for KONTAKT PLAY as well. This can be trickly but doable. But even here I finally realized GP provides a handy indicator.

When you change anything in a loaded VST, GP shows you a “Parameter” number at the top left of the GP Ui window. If you click something and it’s addressable by VST, it’ll give you the parameter number there. If it gives no parameter, that means that functionally isn’t exposed to be accessed via host automation (or, typically, corresponding MIDI CC).

As to why this dice button isn’t exposed via host automation or MIDI you would have to ask the N-I instrument developer.

It takes a second or more for a dice click to complete whatever it does, My own personal guess would be that exposing a “dice” button for arbitrary programmatic selection by the user leaves the possibility of a “looping randomize” scenario where the VST (and developer) has no way to control what’s occurring that could overwhelm an event buffer and cause overflow that could “lock up” an event loop without a way to break out of it, and they don’t want that possibility in a release. A VST developer can’t control what’s happening if there’s a brick on the MIDI keyboard, either. You would have to ask the KONTAKT instrument developer to find out anything beyond my very possibly incorrect guess.

But notice even in all this conditional linguini, GP seems to always have a way to control what the developer made possible to control from outside their VST!