rampsmooth~ that accepts audio signals to control ramp times?
I’m looking for a rampsmooth~ module, but one that accepts audio signals to control the ramp times. I can’t use Max scheduler timing at all in this application, every thing needs to be sample accurate, Is there such a module or, perhaps I could try building such a module with gen~ ? I unfortunately don’t know gen well enough to achieve such a task.
Such a thing is realisable with gen~. The good thing about gen~ is that there is a limited amount of functions, so getting to know them doesn’t take very long. And then it is like solving a puzzle. This version is with only one interpolation input, I leave it up to you to add a second one in case you need.
----------begin_max5_patcher---------- 1309.3oc2ZssbihCD8Y7WgVdbWOYPhalsp82XeIUpTBPFqY.AEHRxrSMy29B R.FYatX6DaG+BTnKMm9zGotQE+bglte5ajBcveCdDno8yEZZhlpaPq4YM8D7 aAw3Bwvz4oQQwD8kxtXkIok7XBWzIro0LLOXCkE8bNIfKMNZ0pGLVB7bpuhL ZuBdpYJzPg0S8+1WftsVWZZ9OxHRinSYUl6ot2RNNgvI4OSXX+XwXL1hKJqC V0s8qEKpurbltYkA7I4G1MQi3lPoCJuYOpe50Z80oLNqxUD87uj7PLCOJErD n6iYQyiJpsdA8+DsAgO7NyP+9noHSjkfUrQ02fGPKjjFR5ajdbl8IwYEzHFN tl1VGmh6IgFfapFufAOLYgNAxpHHMiL.WYL4pFSnjqLM5t04BA33ffzRlXFt 6yXV5uW9.i7ZkAaMGm7FW5ZzneepaG.MENlo8XqSLOmX9Tg5yeYvvrB.ZaXX bzbioUetw0ZLtA8YjahHrSVwfLD7g03YPtXrhx9bU4KjbQCYTYBZL4ERdAMk 0y8zzwYY8ZVq2TpYvukJLjyxtlnLYSFcMkSdg1N+UxFqhKKZ6rk0rsjxGWOQ 9HnfCsP1a4spXXTPZrz9OVsmm2xdWfpCLNM36jv9HQuZeMFkkkSJHLNl2.ot tCIqwkw7mOLYp1+Zb.YvIOPXTSOJmFlxpggxbqat8E9HnYCTTe2QLBFN6.St nxSJK7w40jbS9TTam7zzX0t5hqUKGvLZBlS3TIbQFcFkljkSk6S20lLc8lhf 7z3XESI64kCzSXUnOf7JMjuQIKUcOUCml0FDz63nPZDofq1FGGUn1hRsf80j 8Wmqz9Nq2CRSRH00mrs+tE8UZXZRYBHcMnfSx.XVH.GvKwwfP550jbBKfzel wTFoKwFpWG9k96v6ClSUtHLOxWknlHojsi7lXOFS2dZlc2mwoOfGSktE2Yos ZfGb1YxGX8g.o8Va0GsdxpArcquYzbQAp6uAtV6l3MaX7ADngfuBvI0ANQrF mjESJ.+iHpeciuMUd5H4M4NiiFdsuhgWSKQbE5htsBuaWrB7I7WIDFnJtjUx EqnqxDTxutQ4Uh3JzPo.ywhxVWhnrbdET4W1XdIhhJUeoFDw9E5Cx5vI1kr4 C2ZV+rWgX6wunige2qpLcE6NBCeM3wp23YyiNxOwC8f8D7H7JvinKCO9GeE. OchTl1VtQoIbR8nw8qd7OOcRr4fqjed0zpQu6WwX82Adt7XSMjllSoFWc+JF +xYShxyFbZwn68qXbCsfml+iSlJgqjIncELp0poziN2u5w+5rIQqYpGsue0i T14joVttd1YpuBznwEiFQmaAOlNyiFQ2uzXEZGSNN048X0euQSuoHxi5CEOm M+1dFk0e97.GImvgp6+vTXQZYdPaPrQF.TcsPRAmx5Ny1G2Ve7NCbCMLT8DR kGpXQ8QTFN+38wB4C.kAvbkH..uIvr8Lgr0sCKCmIj8tYHY24pKP2NrL5Xzx 2FX1alP19lQXr5HjxFepjxqtYPryLQr6LUEIzPw4oVzVrsWc80lHYgMddxZt 6+DDJSbat8IU77wuZ9H3fOWQM6Yh3AhZFxPhks7vg6+Dp4H4kiT7zENpM2by NuSQMvSK11Ry+Ngvrp00I+UJ10YZ9gJ1W5onoFvCLUFydneeju2e1wbgCZFn Qo5rOTz3MCzXcw3F3LPi8MEZtbbi4L0MmBZjqw14mroFH67y0ryOVyt+TMUV 6WK9eTZl3BB -----------end_max5_patcher-----------
thank you for posting that – though I am unsure of how the history and feedback works there. Is there a good tutorial somewhere that would walk me through that concept?
The history is the little gem that makes gen~ so fantastic. What happens here is that the previous output is tested against the input. If there is a difference, then a step is added, in an adding-loop, to the output value. History serves as a one sample delay that allows feedback.
There are many examples in the gen~ examples folder within the app folder, some easier, some more challenging. That is a good starting point. Recently I posted a small introduction to non standard synthesis on my website (jvkr.nl). That might be helpful as well.
thanks for that explanation. It would be useful to modify that gen~ patch to have separate control over the up and down ramps – also it would be cool to be able to specify non-linear curves as well. Not sure the latter is possible in a single sample feedback loop, but…