Preventing pops/clicks when releasing certain instrument notes
Preventing pops/clicks when releasing certain instrument notes

There are two things going on here. First, the release portion
of the master gain envelope is set to a larger minimum value than
before, to prevent volume changes that are too quick. Second, the
release is implemented using an exponential decay, rather than a
linear decay, because this helps better prevent clicks when the
release time is short.

The exponential delay is set so that the gain volume will be at
99.3% of the way toward the target (0.0) when the release portion
of the envelope is up. This is achieved by setting the time
constant to the release duration / 5 (see the WebAudio docs for
`setTargetAtTime()`.

This doesn't remove all scenarios where pops/clicks can occur, but
it seems like a definate improvement.

jstrait/jssynth,jstrait/jssynth