On Tuesday, July 18, 2017 15:02:23 Andreas Persson wrote:
> >     after reviewing the code of the envelope generators, I noticed that I
> >     implemented the state machine of the EGs incorrectly years ago. The
> >     common
> >     behavior of EGs is that the attack, decay and decay hold phases are
> >     always
> >     played entirely according to their defined duration in the
> >     instrument patch.
> 
> Long time ago I put a lot of time and effort to get the behavior as it
> is now I think. My goal back then was to make the EGs behave as closely
> as possible to how the EGs of GigaStudio behaved.

Yes, I know that of course. I reviewed the current code and also the SVN 
history. Because I remember that you worked hard on that.

Correct me if I am wrong, but as far as I can see it right now, you worked on 
the actual EG curve shapes to replicate the original shapes as accurate as 
possible, for example that the stages are actually a combination of linear and 
logarithmic curves in GSt, and the way the durations were calculated by GSt.

However I think that particular issue, that the attack and decay phases are 
not played entirely to their end, like it is usually the case with EGs in 
general, is still from the very first EG version that I wrote long time before 
that. So I think I caused that "bug", and you probably did not compare this 
precise behavior aspect with GSt. Am I wrong?

> I think I have piano sounds that would behave strangely after a change
> like this: they have a very long decay (for some unknown reason) which
> is supposed to get interrupted by a note off.

Nothing changed yet. That's why I am bringing up this issue here.

On doubt, it will become a configurable behavior change. But it must be 
addressed in some way. Because otherwise it is impossible to resemble 
percussive instruments in a realistic way.

> >     Another change I planned regarding the EGs: we currently have a
> >     behavior which
> >     is probably a bit exotic compared to common EG implementations; if a
> >     voice is
> >     in release phase and a new note-on arrives on that respective MIDI
> >     note, our
> >     EGs abort the release phase and switch back to the previous phase
> >     (i.e. back
> >     to sustain phase). Now that behavior is sometimes useful, sometimes
> >     negative,
> >     depends on the sound. So maybe I make that configurable, I am not
> >     very sure
> >     about this particular change yet.
> 
> I don't remember that one - it could be a simulated GigaStudio
> weirdness, but I don't know when it would be useful.

No, that behavior was also from the very first EG version I wrote. I think 
back then I had a piano string in mind, which would stop being dampened as 
soon as you press the piano key down again. And at that point I already knew 
this behavior aspect would deviate from common EG implementations, but I did 
not care.

CU
Christian

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxsampler-devel mailing list
Linuxsampler-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel

Reply via email to