[NEW USER ACTOR] ADSR actor
-
While this approach is workable for trigger based events, I am thinking more into a value smoother that holds ADSR capabilities. For example, if you take the sound frequency watcher, I like to alter the response/energy level to other actors. For example, if you would connect the sound frequency watcher to a video intensity, it looks very jerky. So you like to have a smooth decay here. Now this can be achieved with a stack of envelope generators that respond to different intensity levels, (what I do now) but what you need is just a sort of smoother with a decay that rolls gracefully back and where you can adjust the time. I tried it with smoother but the attack and release have the same value. Ease in and Out is possible, but they all need trigger input.
A Envelope generator that always is "on" (let's say value 1 is always value in) with adjustable decay time down to zero and a adjustable curve would do the trick.
-
@barneybroomer said:
Sometimes it hangs at double trigger,
Yeah, @DusX pointed that out to me today. I have a short list of improvements to make.
-
@barneybroomer said:
with a decay that rolls gracefully back
Have you looked at the 'Decay Generator'?
Additionally, 'Smoother' and 'Curvature' I think will also help you achieve what you are looking for.
You may well me able to take the basic structure of @Woland s actor, and rework in so that it accepts an input (0-100)..
replacing the Envelope generators with Curvature's
Or something like that. -
@dusx said:
Have you looked at the 'Decay Generator'?
Hi Ryan,
The Decay Generator is exactly what is should be in functionality, but again, it is trigger based, I'm looking for input based. I know this sounds weird, since classic ADSR is trigger based, but for example a audio compressor got also attack and release for the side chain. This functionality in a plugin would be great. You can use this overall in the program to flow more with interactive tools. -
@barneybroomer said:
So this might be close to what you are asking for.. value_decay_withCurves.izz
it provides a value decay, with curves.. so the decay doesn't need to be linear.
Incoming values are only allowed to increase the output... some smoothing is done with the Smoother at the output.
The Javascript just tracks incoming values, and decays the output.Can't say that I think it qualifies as an ADSR... but it seems like it addresses your frequency watcher issue.
-
@dusx said:
Can't say that I think it qualifies as an ADSR... but it seems like it addresses your frequency watcher issue.
Wow Ryan, that is what I am looking for! This functionality in a plug in would be great! Thanks for diving into this. Now, while playing with this, I noticed something I can't explain, so I made a movie out of it. I put a trigger pulse on the 100 value trigger, so I could play around with the decay values. Once I dragged up the trigger value above the Java Script it stopped working! -
@barneybroomer said:
stopped working
That element requires perfect timing to function correctly. And since Isadora has a processing order from left to right and top to bottom, you have changed the processing order slightly by moving the actor. It's not sometime we see often, since in many cases the effects can't be seen.
It's the same as moving two projectors above and below each other and seeing the image layering change on the output.
-
@barneybroomer said:
functionality in a plug
I've wrapped it up into a nice User Actor and will post it to the Plugins section with a demo file (I have kept the curveture and smoothing external to make it as general purpose as possible), and have added switches for Linear and Log type decays.
I'll post here again once it's added to the Plugins section.
-
@dusx said:
I'll post here again once it's added to the Plugins section.
Great Ryan, I already did some nice testing here with its functionality. Smoooooooooooooth rider!
-
I've made some improvements to the Value Decay User Actor, and created a demo file.
It is now posted to the Plugins section: https://troikatronix.com/plugi...
-
@dusx Just read this ;)