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