An interesting post on the Linux Sampler mailing list is attached below.
When our ranks encountered artifacts using Linux Sampler, it wasn't when using "short" notes, was it? (Notes shorter than the attack for instance?)
In Christ, Aaron Laws
---------- Forwarded message ---------- From: Christian Schoenebeck<[hidden email]> Date: Tue, Jul 18, 2017 at 7:46 AM Subject: [Linuxsampler-devel] EGs To: [hidden email]
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
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
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!