From the original SynthMaker forum (2004–2014), with its members’ names and dates.
MyCo ·
Hi!
Has someone a >>working<< exponential envelope for me? I've tried it myself, but as soon as you play a note short (so it never reaches sustain level) it doesn't sound good. The only way to get around that in my version would be to calculate a root inside the code which isn't that fast as I want it to be.
Thanks
MichaelBenjamin ·
what do you mean with working, how does it not sound good with short notes? do you mean the step between decay and release?
MyCo ·
yes... it clicks, when then value on note off is higher or lower than the sustain level. It happens a lot when you have long attack or decay times
MegaHurtz ·
multyply it by itself if it is a 0-1 range.
MegaHurtz ·
and sqrt makes for log...
if you want log it`s cheaper to do
F1*F1=F2
(F1-F2)+F1="Log"
sounds tight
MyCo ·
exponentiating a linear envelope doesn't make a right "semi" exponential envelope, because the attack phase is inverted. It'll have a slow start and increases fast... a right exponential envelope starts fast and decreases its rising. Had the same idea long time ago (when I started with S|M), but if you use it you'll notice, that there is nearly no peak between start and sustain.
I've found another way to make a fast "nearly" exponential envelope... it's a little bit heavier, but it should work
aliasant ·
MyCo wrote: exponentiating a linear envelope doesn't make a right "semi" exponential envelope, because the attack phase is inverted. It'll have a slow start and increases fast... a right exponential envelope starts fast and decreases its rising. Had the same idea long time ago (when I started with S|M), but if you use it you'll notice, that there is nearly no peak between start and sustain.
I've found another way to make a fast "nearly" exponential envelope... it's a little bit heavier, but it should work
If you feel like you absolutely must share that little "Scaler thing" I think we can forgive you. If not all is still ok 🙂
Just love to test new little things like that.
MegaHurtz ·
what do you mean with semi exponential..
2^F/2.. I dont get it.
MegaHurtz ·
what i ment was this?
exponential and logarithmic. (only on a o-1 scale.)
MyCo ·
Exponential is eg.
2^x, 3^x....
what you do is a parabola:
x^2, x^3....
with "semi" I mean, that it isn't a real exponential, just a fake... but x^2 isn't a fake/real, it's not even near an exponential, because of the inverted attack.
MegaHurtz ·
2^(12/F).. Is what I do to calculate pitches. It`s absolutely bang on exponential.
levels I do parabolic in your words.
Only in my words parabolic is when you do the same trick on a sine.
So you want to calculate the square root.. but not end up with a similar result.
Im sorry im completely lost then.
MegaHurtz ·
I did notice some scale difference in the math,
hence the innacuracy`s of pitching the F*F way.
If it`s that you mean i completely agree it`s off by miles.
But then again, thats why discrete versions of these functions are mathematical cpu killers.
For levels, in akoustics they always refer to log10 functions, never heard of others.
Eska ·
y=1-((1-x)*(1-x))
MyCo ·
@Eska: you mean for the attack phase? yes that would do it, but you can't use it on the linear envelope, you have to write your own envelope code completely...
Eska ·
Sch... I made a linear envelope with stage dependent post conversion, but of course its in the loop, I forgot that.
MichaelBenjamin ·
yes, i also did the stage based conversion after the barebone linear envelope, left the attack linear, and exponentialled the rest (this sounded alright and seemed efficient enough). you can use the env primitives with access to the stage(adsr/adsr4), or your own adsr, or infuzions 1.7 adsr retrig but i think you already knew that so where is the problem?
MyCo ·
I thought, someone did it already, and would share it, but doesn't look like...
MegaHurtz ·
well.. you can determine if the eg is at peak level, after a key is pressed and take it from there.
MyCo ·
So... I've started a project for this:
Selfmade Exponential Envelope
Wrote something here? To have a post removed or your name hidden, write to [email protected].