Hi everybody,

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. 
With our current EGs however the attack and decay phases are aborted as soon 
as a note-off arrives, so the EG immediately switches into the release phase 
too early on short notes. That's especially problematic for percussive 
instruments.

So if there are no vetoes, I am going to change that, so that even if a note-
off arrives very early, the attack, decay and decay hold phases are always 
played entirely to their stage end, and after the attack and decay phases 
completed their defined durations, the EG would then switch into release phase 
afterwards.

That will obviously change the behavior and thus the sound of existing sounds. 
But I think that change really makes sense, and probably this behavior change 
does not even have a negative impact on existing sounds.

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.

If you have an opinion on these two EG issues, let me know!

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