Controlling Granular Synthesis
I’m doing a performance involving granular synthesis for uni and I’ve cobbled together a semi-satisfactory granulizer. What I’m struggling with is the various schemes for controlling/leading it in the right direction. From my reading I’m come across using ramps and tendency masks, I’ve got the ramps down (use lines!) but I’m not sure how to implement a tendency mask at all.
Basically I was wondering if you guys could point me in the right direction for setting up various levels of control for the granulizer. I’ve thought about using drunk, chaining lines, random, but what I’d like to do is automate most of the actual parameter changing yet at the same time be able to make a change to it on the fly and nudge it in the right direction.
sorry to state the obvious but does this sound like a textbook description of [rslider]?
I’ve been using [rslider] + [line] to sort of achieve what I’m looking to do, but I figured there was a better/different way to control the different parameters.
I did just get an idea of using the two in combination with [count] and a series of [gates] to get a semblance of automation. I’ll try it out and see how it works.
keep us posted…
This is my very rough mock up of how I could go about controlling it
----------begin_max5_patcher---------- 998.3ocyYtsiapCEF95To9Nf35ri7Z4CX5c84npphj3cJUIvHvQcZq1u6aeX XBoCSfYh4vESHiwX+6u0AaV4Oe7Cqh2V9npNN5SQeIZ0p+XZYkqMaKqZZXU7 orG2cLq10w3hym1pphW+z8L+adwQk1cSno0+srPWjcR4dhOWkmcr8CTdV27D XSy46c8sb6O9Gf9bm88T+qGTdQFmWniWGEuMq3PbzWaOc04+10I.2PZZ+gL8 tumWb3aUpcZ+H.Dg49Q.mZuvI1OQymQe08L+2G+f8p4x5ASjSp55rCpmEsV8 naxh4tIhXlSBoafguYfAcALxqCr2IkXIVvP8TRBNjIuOJc9nNu9X99dcdJqx UE5LcdYgscROdN0WVujNfC8h2z1C6JOVV4WhjMIRFEXqu5aRLgwAyh0tVaMC FcZVMMOokFFaZ697PkptQ0s.IGkavTfJQiaFyL9TPJnluaHaBPnLa63FFRDI vkQ6klw0WYJ2YLk6yzYWwsNriTBai.QNO0XLYna5Yx0Qo7KyN4Eyd60haFBe nANpADrPGOP8YMPYpKr.2vu63gwOOJJFw7nnmHTBDr7nEpeZj8K8UNlWnhfn WykgFFXcKel0uW+FD79MB2EtXL2sAMiseulQM1BC9lMBJ0yEGdRXgXylaskL NETBBMk3BWjFBrvsk7qQoTWH8DPILzThk5yDAzwmRF7X1IcJvDM3XB8Xxb5D KlRFSLgb+wkFeNAoAeeegz6NY6VT5nlZBstS3TD1AxPyIL0yIua03xIWXGNI 9SIAmSnXx3DiOUgchf+5mBVKLMtom.ClX7IfR7PSozTetI4TrUmsRFS.jB9a tAPaOoP.oIn.X3XV.Lo7xarEj2aSWd3vQUO.oeae5sWzsJOQWILbaPywlkyn 8xnmT5pxwLD3FISuCitvedXmomAAfOaOq0kE2sQmO3UamUkwuy.UL5l8CYZU DDtbecUoRrmJPz2euyzA9bh9cbAFwVZqQBh6JOWnUUQfY8GgcyR9alkrtxf1 aBzl+tN0xaBbjVNe9ynzI27itqJV+8O0haXs23unYc44pcMB9o0STqhMuWUq yKdt9re4xuaR6d88786UWWB8S46enzrjeRH2xFObsQFh3r0WaFDmsFn8KN57 PN1fAGN8faQaUgkr3vkr3nKXwYqeyxUbxkr3RVxhSrjEGeIKN1RVbCOOGL8h aPZaV31fhFfkqz3yhz3C0fBKz.AwrnszgJsY3nHCJNfMaZC5Ua7YSaXuZa9r ozd0VxroMVuZSNaZi2q1RmMsI5MyKc1zVRuZCmMsI6Uavroszd0FYdz1vNz6 8mfy1f4x+m25ByF -----------end_max5_patcher-----------
But as I soon realized, for this to be effective I would have to preset all the ways I want the parameters of the grain (pan/pitch/duration/etc) to change which is not the route I want to go.
I’m not sure if I’ve described correctly what I’m trying to achieve, it might be more akin to using the output of algorithm to control the parameters.
Sorry if this is sounding increasingly vague
Very vague indeed. I would use an existing granulator (for instance the one in the Max examples) and start from there. You might get what you want by just controlling the granulation parameters through the bpatcher’s inputs. But before coding, you should certainly formalize the control you want (which parameters, which range, which controllers – midi hardware, etc.)
A quick look at your patch shows some kind of randomised parameter generator, but from what you describe as your problem it sounds more like you need to establish some kind of meta-control of the various GS parameters, which given the potentially large number of parameters required makes some sense.
To this end I would recommend: Firstly working out a method for generating "randomised" values and then using pattrs for all the GS parameters (ie pitchmin, pitchmax, etc. etc.) & pattrstorage for parameter storage/recall for distinct states, even possibly incorporating something Nodes if you want to use or try multi-state interpolation. You can still have a randomised process (ie tendency mask) for parameter ranges , and then store the relevant parameters for these processes
As JF already suggested, it may be better to use an established example as a starting point…