Simple ADSR VST?
-
very angry mobster very angry mobster https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=11047
- KVRian
- 611 posts since 15 Dec, 2003 from Melbourne, Australia
-
- KVRist
- Topic Starter
- 59 posts since 12 Feb, 2005
uuuhh big replys.
thanks so far. i think anybody knows adsr in a sampler
to tweak a drumsound for example.
this little feature as a simple plugin, thats my effort.
a gate didnt feature it well cause it works with a threshold. a sampler adsr does not work on threshold.
you can "form" your sound.
maybe i need to run it through midi, but it lags.
thanks again.
thanks so far. i think anybody knows adsr in a sampler
to tweak a drumsound for example.
this little feature as a simple plugin, thats my effort.
a gate didnt feature it well cause it works with a threshold. a sampler adsr does not work on threshold.
you can "form" your sound.
maybe i need to run it through midi, but it lags.
thanks again.
greetz l0gic0
-
- KVRian
- 624 posts since 10 Apr, 2005 from Portland, Oregon baby!
ok well, as i suspected, it was pretty easy to throw together something in SynthEdit that does this. like i described earlier, my unit is an audio-triggered ADSR enveloper/gate. my current issue is trying to figure out how to generate MIDI CC to an arbitrary controller # with SynthEdit (no idea how i'm gonna do this one).
greendoor, i can't figure out what you're talking about in like half of your posts, so i'll probably not bother screwing around with an inverted envelope until i can find someone who can explain it to me better (know some people). i suspect it'll require building the enveloper from segments instead of a single module, thus allowing for different stuff to go on. i'm saving that for version 1.5
once i can get MIDI CC generation working, i'll be able to test & tweak this guy into shape. already works pretty good for doing that fade gate on a guitar like luka2807 posted about. i built a noise gate a while back which had a "Learn" capablity in the threshold, and i plan on implementing that idea (stole this feature from Native Instruments Guitar Rig, and i dig it
).
will keep you guys posted on how things are going.
greendoor, i can't figure out what you're talking about in like half of your posts, so i'll probably not bother screwing around with an inverted envelope until i can find someone who can explain it to me better (know some people). i suspect it'll require building the enveloper from segments instead of a single module, thus allowing for different stuff to go on. i'm saving that for version 1.5
once i can get MIDI CC generation working, i'll be able to test & tweak this guy into shape. already works pretty good for doing that fade gate on a guitar like luka2807 posted about. i built a noise gate a while back which had a "Learn" capablity in the threshold, and i plan on implementing that idea (stole this feature from Native Instruments Guitar Rig, and i dig it
will keep you guys posted on how things are going.
===================================
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
-
- KVRian
- 830 posts since 9 Aug, 2004 from Berlin
gatefish in "env" mode let the cc# volume follow audio volume movements.l0gic0 wrote:uuuhh big replys.![]()
thanks so far. i think anybody knows adsr in a sampler
to tweak a drumsound for example.
this little feature as a simple plugin, thats my effort.
a gate didnt feature it well cause it works with a threshold. a sampler adsr does not work on threshold.
you can "form" your sound.
maybe i need to run it through midi, but it lags.
thanks again.
(at least I think it does...)
-
- KVRian
- 830 posts since 9 Aug, 2004 from Berlin
there's a module on dave haupt's page called "CVtoMIDI_CC 1.6" that does it. This is what i used in gatefish.SleepyP wrote:ok well, as i suspected, it was pretty easy to throw together something in SynthEdit that does this. like i described earlier, my unit is an audio-triggered ADSR enveloper/gate. my current issue is trying to figure out how to generate MIDI CC to an arbitrary controller # with SynthEdit (no idea how i'm gonna do this one).
greendoor, i can't figure out what you're talking about in like half of your posts, so i'll probably not bother screwing around with an inverted envelope until i can find someone who can explain it to me better (know some people). i suspect it'll require building the enveloper from segments instead of a single module, thus allowing for different stuff to go on. i'm saving that for version 1.5
once i can get MIDI CC generation working, i'll be able to test & tweak this guy into shape. already works pretty good for doing that fade gate on a guitar like luka2807 posted about. i built a noise gate a while back which had a "Learn" capablity in the threshold, and i plan on implementing that idea (stole this feature from Native Instruments Guitar Rig, and i dig it).
will keep you guys posted on how things are going.
-
- KVRian
- 624 posts since 10 Apr, 2005 from Portland, Oregon baby!
ah ha, thanks m8, i haven't browsed his normal stuff lately, since i use mostly all his Sub-Controls stuff 
===================================
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
-
- KVRian
- 624 posts since 10 Apr, 2005 from Portland, Oregon baby!
i as thinking of doing a simplified envelop which just has attack & release, two knobs each. "coarse" and "fine". the coarse knobs would have a range of 0 to 5000 ms quantized to some value (probably 100), and the fine knob would be like 0 to 100 ms.
===================================
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
-
- KVRAF
- 3528 posts since 18 Apr, 2002 from British Columbia, Canada
hey sleepy:
the 'monostable' logic comp is what you need. basically i would use sliders for the threshold levels in the comparators too, so that the user has control over how much signal will trigger the ADSR.
monostable has the pulse length pin, so that there can be a 'hold' parameter.
i have built this type of thing before actually, so if you get stuck drop me a pm and maybe i will have a suggestion.

cheers.
g.
the 'monostable' logic comp is what you need. basically i would use sliders for the threshold levels in the comparators too, so that the user has control over how much signal will trigger the ADSR.
monostable has the pulse length pin, so that there can be a 'hold' parameter.
i have built this type of thing before actually, so if you get stuck drop me a pm and maybe i will have a suggestion.
cheers.
g.
-
- KVRian
- 624 posts since 10 Apr, 2005 from Portland, Oregon baby!
LOL
you think i'd make it without a Threshold knob? come on, man, that's too ghetto even for me!
i considered a monostable but feel it's really appropriate to this particular task, since using it basically "locks" the envelope up for some period of time. if you're playing guitar through the effect, if you like accidentally bumped the neck of the guitar or something it could cause the envelope to play for like a couple seconds (which is a long time in this sort of situation), and i don't like that idea. the current build is so-so. i'm planning on screwing around with using a Peak Follower to smooth the output from the Comparator (the unit i'm using to determine if the gate should open and for how long). i don't really like the idea of using a Peak Follower, since its expensive in terms of CPU, but we'll see. the MIDI CC output needs some work, and i think i may add MIDI Note On/Off output as well.
can anyone suggest some cool MIDI-controllable VST effects for use in the development of this and other MIDI output projects? (i plan on doing a synced LFO-to-MIDI thing also, and perhaps a MIDI file player too).
luka, give me a couple days, this one doesn't have anything that looks like a proper GUI at present. i don't have a whole lot of time each day for development
you think i'd make it without a Threshold knob? come on, man, that's too ghetto even for me!
i considered a monostable but feel it's really appropriate to this particular task, since using it basically "locks" the envelope up for some period of time. if you're playing guitar through the effect, if you like accidentally bumped the neck of the guitar or something it could cause the envelope to play for like a couple seconds (which is a long time in this sort of situation), and i don't like that idea. the current build is so-so. i'm planning on screwing around with using a Peak Follower to smooth the output from the Comparator (the unit i'm using to determine if the gate should open and for how long). i don't really like the idea of using a Peak Follower, since its expensive in terms of CPU, but we'll see. the MIDI CC output needs some work, and i think i may add MIDI Note On/Off output as well.
can anyone suggest some cool MIDI-controllable VST effects for use in the development of this and other MIDI output projects? (i plan on doing a synced LFO-to-MIDI thing also, and perhaps a MIDI file player too).
luka, give me a couple days, this one doesn't have anything that looks like a proper GUI at present. i don't have a whole lot of time each day for development
===================================
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
-
- KVRAF
- 3528 posts since 18 Apr, 2002 from British Columbia, Canada
i am not sure i understand fully - the monostable pulse length would only need to be long for the 'hold' function that is in some envelopes; you would set a minimum pulse length of 0.1, and run it through a multiplier to the gate pin on the ADSR - it makes a nice trigger. basically what i am suggesting is this: audio in, splits between audio path and control path ; audio patch goes through a VCA out out (most simple, but obviously could add stuff like filter); control path goes to a 1 pole lp filter into a comparator, and out of that into a monostable. monostable triggers ADSR, ADSR controls volume on VCA...
am i missing something?
i have only used that for internal stuff in synths and effects, i have not actually used it for what you are making it for, but wouldn't that work?
i might be misunderstanding the whole thing, it wouldn't be the first time
cheers.
am i missing something?
i have only used that for internal stuff in synths and effects, i have not actually used it for what you are making it for, but wouldn't that work?
i might be misunderstanding the whole thing, it wouldn't be the first time
cheers.
-
- KVRian
- 624 posts since 10 Apr, 2005 from Portland, Oregon baby!
hehe, your solution is a little different from mine.
i use this solution for the control path:
Audio In>Rectifier>Comparator A input
Threshold knob>Comparator B input
Comparator output to Gate.
what's up with the monostable, what is it needed for in this structure? to smooth out the action?
also, why do you have a LP filter on the signal? i'm not sure if my current solution is great, it just seems to work. the only weird thing is i can't get it to make the standard ADSR module go through it's decay phase. it seems to bypass that and go from Attack directly to Sustain, and then release when the signal level drops below the threshold. this may be because the Gate input level is fluctuating (thus the monostable?). i need to actually try this stuff out. will report back when i have tried out a monostable and a peak follower...
i use this solution for the control path:
Audio In>Rectifier>Comparator A input
Threshold knob>Comparator B input
Comparator output to Gate.
what's up with the monostable, what is it needed for in this structure? to smooth out the action?
also, why do you have a LP filter on the signal? i'm not sure if my current solution is great, it just seems to work. the only weird thing is i can't get it to make the standard ADSR module go through it's decay phase. it seems to bypass that and go from Attack directly to Sustain, and then release when the signal level drops below the threshold. this may be because the Gate input level is fluctuating (thus the monostable?). i need to actually try this stuff out. will report back when i have tried out a monostable and a peak follower...
===================================
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
DistBit (freeware versatile distortion VST)
my Sleeping Prophet music
-
- KVRAF
- 3528 posts since 18 Apr, 2002 from British Columbia, Canada
hi
your idea sounds good.
there is probably more than one way to do this effectively.
i used the 1 pole filter as a control smoother, but it probably wouldn't be useful in this, so forgt that one.
the monostable is what i use to solve the problem of the envelope staying on; i think you could be right about the variable signal making the gate kind of retrigger constantly until the input stops - then it follows through normally.
your rectifier should help, but you might try a multiplier followed by a clipper after the rectifier, just to sort of level out the voltage that is going to the gate pin...?
not sure though
your idea sounds good.
there is probably more than one way to do this effectively.
i used the 1 pole filter as a control smoother, but it probably wouldn't be useful in this, so forgt that one.
the monostable is what i use to solve the problem of the envelope staying on; i think you could be right about the variable signal making the gate kind of retrigger constantly until the input stops - then it follows through normally.
your rectifier should help, but you might try a multiplier followed by a clipper after the rectifier, just to sort of level out the voltage that is going to the gate pin...?
not sure though
-
- KVRian
- 769 posts since 2 Apr, 2005
To get a key off event - what would be wrong with this logic: Key on is simple - just look for a peak sample that exceeds the threshold. For Key off - I would propose that a second,lower, release threshold. Have a timer sampling the incoming waveform - say every 1ms. Obviously more than one sample would be necessary, because there is the chance that the waveform could be sampled while going through zero. But if 10 samples in a row were below the threshold, this could be assumed that the note had actually stopped. Something like that.
