matthewscharles / instrument-maker

A framework for making digital instruments with sensors, driven by a need to improve access.
http://www.instrumentmaker.org/
GNU General Public License v3.0
18 stars 5 forks source link

Delay and multiply envelope #34

Open alexmlucas opened 4 years ago

alexmlucas commented 4 years ago

For switch control, it would be useful to have an elegant way of delaying the onset of an envelope and multiplying the output to control effects. See screenshot and patch below for an example of how to achieve this with standard Pd objects.

Screenshot

Patch

matthewscharles commented 4 years ago

Thanks, examples like this are really useful (nice patch too).

We can get part of the way with im.echo at 0% feedback instead of pipe (one of the advantages of keeping everything audio-based) -- not sure if you already knew this, but you can also use im.looper to record control data instead of audio, or make little sequences as audio clips.

I like to use rampsmooth~ to take care of the smoothing, but it's a cyclone object hence no wrapper for it in the library..I'll look into alternatives. you can probably use filter with a very low cutoff too.

I'll see about adding a "clear" inlet into im.echo

matthewscharles commented 4 years ago

I just made a couple of quick updates and uploaded an example to the restructure branch since you mentioned you were having trouble pulling the main one.

https://github.com/matthewscharles/instrument-maker/commit/2cea9866f94c29ce484b36904873226d2627f759

alexmlucas commented 4 years ago

Thanks Charles. There's a slight issue with prepend in the updated im.echo object, the Pd window says:

prepend symbol ...couldn't create.

And there's a dashed line around the object. Perhaps [list prepend symbol] is needed?

matthewscharles commented 4 years ago

Thanks for catching that. It's actually an old addition for a max style attribute thing I was working on (should be able to type [im.echo delayTime:1000 feedback:50%], but I'm not sure if it still works). I was using cyclone for this for some reason. I've switched it to the vanilla prepend. This might still happen with a couple of other objects, I got used to ignoring it!