function mixSampleBuffers(sampleBuffer1, sampleBuffer2, negate, volumeCorrection){
    var outputSamples = new Array(sampleBuffer1);

    for(var i = 0; i<sampleBuffer1.length; i++){
        outputSamples[i] += (negate ? -sampleBuffer2[i] : sampleBuffer2[i]) / volumeCorrection;
    }
    
    return outputSamples;
}
Helper method (for Reverb) to mix two (interleaved) samplebuffers. It's possible 
to negate the second buffer while mixing and to perform a volume correction 
on the final signal.

@param {Array} sampleBuffer1 Array containing Float values or a Float32Array
@param {Array} sampleBuffer2 Array containing Float values or a Float32Array
@param {Boolean} negate When true inverts/flips the audio signal
@param {Number} volumeCorrection When you add multiple sample buffers, use this to tame your signal ;)

@returns A new Float32Array interleaved buffer.