surge icon indicating copy to clipboard operation
surge copied to clipboard

Preset randomizer with mutation

Open cybpun opened this issue 6 years ago • 10 comments

preset randomizer with mutation like Oatmeal VSTi or Tobybear MiniHost

cybpun avatar Feb 02 '19 14:02 cybpun

this would be lovely to have for sure. a+ stuff

esaruoho avatar Mar 06 '19 19:03 esaruoho

baconpaul [3:50 PM] Thinking about a patch randomizer some. That’s a tricky feature with surge I think. Not impossible but subtle. There’s an old ticket from feb with someone suggesting it.

Like: Do we randomize routings? Do we randomize both scenes? I think you want some settings, not just a “mash stuff” button

kzantow [3:51 PM] the tricks are a) dependent values & ranges b) modulations in order to get somethin useful

baconpaul [3:52 PM] Ranges are pretty easy since parameters know their range

kzantow [3:52 PM] i would not randomize routings all in all, maybe 1 or 2

baconpaul [3:52 PM] Dependent values are one of the things I’m thinking of yeah. Like “if I tweak osc3 and it isn’t on does anyone care” You sort of want like levels. Like “Randomize OSCs; Randomize Mixing; Randomize Filters; Randomize Effects” And “Add Random Modulations” And then “All the Hippos Go Beserk” Which is of course what I would call the “go crazy” randomizer

kzantow [3:53 PM] i mean... ranges -- in some cases may only make sense between smaller ranges i guess all really just the dependencies

baconpaul [3:54 PM] Right The user has some discretion also. Imagine a menu like “Randomize > A little > OSC|Mix|Filter|FX|Modulation|Everything” And “Randomize > A Lot > OSC|MIX|Filter|Mod|Everything” And “Randomize > All the Hippos Go Beserk” The we just use some good taste for what “a little” or “a lot” is

kzantow [3:56 PM] seems like a rational approach i'd think 'a little' might us the current values as starting points

baconpaul [3:57 PM] Oh yeah totally. “A little” means “tweak +/- 10%” and “a lot” means “set to whatever I want” Or in modulation “a little” means “modulate something unmodulated a bit” or some such Interesting problem

kzantow [3:57 PM] patch morph might be another nice thing. alchemy got a lot of mileage out of that

baconpaul [3:58 PM] I’ve played with alchemy quite a lot but haven’t used patch morph. How’s it work? I mostly just set to init and patch with alchemy

kzantow [3:58 PM] mod/routings and such are a bit of an issue tho oh, i dunno about current alchemy, but 5 years ago when it was camel audio

baconpaul [3:58 PM] Oh gotcha

kzantow [3:58 PM] you basically had 8 different patches all similar, and then a way to interpolate between all 8

baconpaul [3:59 PM] Is it basically “make this patch 0.7 * my patch + 0.3 * that patch over there” type thing?

kzantow [3:59 PM] yeah

baconpaul [3:59 PM] Oh right. They still have that And you can use continuous controls to move between the different states

kzantow [3:59 PM] right, exactly

baconpaul [3:59 PM] So in surge we could pretty easily add “randomly apply features from > (patch list)” And then grab that patch and you know. Randomly apply features from it. As another form of randomizer

kzantow [4:00 PM] right

baconpaul [4:00 PM] That could give some crazy results too

kzantow [4:00 PM] might almost be the most fun like have a pad, apply some bass features who knows what odd things would result

baconpaul [4:00 PM] Yeah but if the pad is poly and the bass is mono you end up having one or the other Or if one uses FM routing and the other doesn’t, the randomizer picks. And who knows what happens. That’s a good idea

kzantow avatar Jul 30 '19 20:07 kzantow

wow, troubled story had this one so far… :( please guys make it happen… it'd be huge!

illtellyoulater avatar Sep 23 '21 03:09 illtellyoulater

I'd still +1 this, if it were to start happening. @baconpaul is this something that could happen at some point in time? Can we make some sense of the longer chat conversation in the comments?

esaruoho avatar Sep 23 '21 05:09 esaruoho

mutation button with % mutation that could be automated would be aaawwweesssoommee, endless 'real' variation

K0rrid0r avatar Sep 23 '21 10:09 K0rrid0r

I wouldn’t say it’s “troubled” as much as “no one has done it” 😀

the old chat with kzantow was just copied here to be replaced by a proper design when someone does!

the thing that’s hard is a randomizer is Easy, a useful randomizer is hard. So lots of choices and design to be done

also definitely not in the next release - already too much queued up for that - unless we get a volunteer with both design and dev skills joining in

baconpaul avatar Sep 23 '21 10:09 baconpaul

@baconpaul I understand your points and I fully agree but I think that as we wait for a decent implementation it would be great to just have a simple dumb randomizer thing that we could play with... It would be so much better than nothing!

I understand that something like that could produce a useful sound only once out of 100 runs, but that's part of the fun ;)

illtellyoulater avatar Jan 06 '22 09:01 illtellyoulater

I'm using a lot of randomization functions, then I tweak. Would be very nice to have this function on Surge. Just to continue the message of @kzantow, here are two ideas of powerful randomization from Korg (modwave and opsix, in this order): image image image

EDIT: I would be happy to help.

tux-00 avatar Jan 09 '24 10:01 tux-00

If you are happy to sling some code, I have a pretty good idea how I would implement a basics randomizer in xt and would be happy to write up some more detailed notes as a gist. Most of it is some juce ui interactions which trigger scoped model updates and a generic-ish way to express constraints on randomization - but also a way to localize it to params so we can use it for rack also.

I’m on vaca for a few days but if that’s interesting let me know and I’ll spend an hour and write some notes. We welcome devs and most of the big 1.3 features were new devs who offered to help :)

baconpaul avatar Jan 09 '24 12:01 baconpaul