
Originally Posted by
Frank B
Left: I'd say, it's exponential - might be intended?
Right: Fluidsynth does not look very healty, too..

I dug deeper
1. had a look at mac's garage band, different instrument, but also shows similar behavior to fluidsynth
2. BTW, fluidsynth and garage band show an exponential decay behavior (linear in dB domain), the behavior of synth wavetable is linear in the amplitude domain (logarithmic in dB domain)
For decay, which is attenuation driven, physics describe an exponential decay behavior: exp(-at)
I started looking into fixing the code and ran into this comment:
Code:
// Definitions of the states generally follow the SoundFont spec, with a major exception being that all
// volume scaling is linear realtive to amplitude; this is correct with respect to the attack, but not
// the correct implementation relative to the decay and release which should be scaling linearly relative
// to centibels. Practically this means the decay and release happen too slowing intially, and too quick
// near the end
Looking to see what else I can do to the code