I thought you might find this fun...
Here's an example sound that uses an InputOutputCharacteristic to make an extreme AGC - meaning that everything gets amplified to pretty much full volume however quiet it is.
You pass the signal through the InputOutputCharacterstic. You also use a PeakDetector on the signal and pass its output in as an input value in the InputOutputCharacteristic that you then map to a full or nearly full level in the output values:
Here's the sound file if you want to play with it. It works well on drony sounds. WIth dynamic sounds a bit of judicious tweaking of the attack and release settings of the PeakDetector give interesting results.