Patch Randomization

I think original Massive did this the best of any synth (% randomization of specific features, ability to preserve certain functions of the patch)… if you added something in that style, i’d have basically no reason to use any other synth

For further inspiration, there’s this newer synth called CUBE by Lunacy Audio which does a nice job of compartmentalizing the patch randomization into 3 simple categories (you can click 3 separate buttons for randomizing the Effects section, the samples used in the patch, or just the motion section)

Thanks
Kurt

3 Likes

I’ve been wanting to make a preset randomizer for a while now; if I were to, exactly what features would you like to see?

I’ve made somethings close–Vinetics–which randomly combines an unlimited amount of patches, so if you put in your entire preset folder, it should generate a close enough to random preset every time. However, if you’re looking for a more controlled randomization of individual groups of parameters, I’ll need to make a different tool.

The only thing that’s stopped me from making something like this in the past was the problem of getting the min/max of every parameter, so if someone could provide that, that would be great.

1 Like

That’s really cool! Kind of reminds me of what’s in the “mutate” feature of Absynth or something like that… Or maybe how you can morph between preset states in Reaktor.

I see your tool only runs for PC which is unfortunate for me haha.

yeah i guess i was imagining more of a built-in button thing (kind of like how lots of plugins now have a “dice” button for randomizing settings). It’s just an efficient way of getting unique sounds and then tweaking them to suit your needs rather than having to build something from the ground up every time.

1 Like

yeah, maybe if Vital had some sort of plugin/modding support, but I don’t think we can expect to see that for atleast a very long time.

Also, if you install python on your system, you should be able to just run Vinetics.py from the source code.

1 Like

For anyone on macOS or Linux that can figure out how to use a terminal or command prompt, this is the best way to run Vinetics. Though I would love built-in patch randomization

Hope it’s ok to recommend a device here; if you’re using Live, there’s a m4l device called Gradient.
Once you Map reveal parameters you want to randomize, you can pick an amount and click Mutate.
Then you can store the new preset in 4 slots and morph between them. Really cool, although makes Live freeze when randomizing many parameters. But you can delete the device once you’re done with it.

@SlavaCat, use the source.

Have a look at

and there at the ValueDetails things. They look like this:

{ "pitch_bend_range", 0x000000, 0.0, 48.0, 2.0, 0.0, 1.0,
      ValueDetails::kIndexed, false, " semitones", "Pitch Bend Range", nullptr }

The first parameter is the name,the second some version information, the third the minimum value, the fourth the maximum value, the fifth the default value.

Ah yes. Thank you. I ended up looking here a while ago and got the results i was after: https://forum.vital.audio/t/fully-randomized-vital-preset/11213?u=slavacat

Thank you nonetheless!

Bumping this old thread. A few days ago I created a u-he synth patch randomizer / merger: Fannon/u-he-preset-randomizer (github.com)

Now that I think of it, the principle and much of the structure could also be applied to Vital. It would still be like a day worth of effort to do the same with Vital support.

Not entirely sure if I’ll try that out. Has there already been some Vital preset randomization / merging / genetics been developed and released?

Nice! Ok, that looks very similar to the approach I’ve taken with the u-he synths. Need to try your script out, looks like you got this covered!

1 Like

I’ve tried your script out, it’s nice that it comes with a UI by default!

Btw. regarding the problem I quoted: In my project, I analyze the entire patch library and collect actual value ranges. Then I do some duck typing / math / distinct value reductions to find out what the ranges are and what the randomization is allowed to do.
This happens completely generically, so the u-he-preset-randomizer doesn’t know about any individual parameter. It kind of “figures it out on the go”.

2 Likes