function Reverb() {
    var _this;
    reverb_classCallCheck(this, Reverb);
    _this = _super.call(this);
    _this._initConvolverNode();

    _this.input.gain.value = 0.5;

    _this._seconds = 3;
    _this._decay = 2;
    _this._reverse = false;
    _this._buildImpulse();
    return _this;
  }
Reverb adds depth to a sound through a large number of decaying
 echoes. It creates the perception that sound is occurring in a
 physical space. The p5.Reverb has paramters for Time (how long does the
 reverb last) and decayRate (how much the sound decays with each echo)
 that can be set with the .set() or .process() methods. The p5.Convolver
 extends p5.Reverb allowing you to recreate the sound of actual physical
 spaces through convolution.

 This class extends <a href = "/reference/#/p5.Effect">p5.Effect</a>.
 Methods <a href = "/reference/#/p5.Effect/amp">amp()</a>, <a href = "/reference/#/p5.Effect/chain">chain()</a>,
 <a href = "/reference/#/p5.Effect/drywet">drywet()</a>, <a href = "/reference/#/p5.Effect/connect">connect()</a>, and
 <a href = "/reference/#/p5.Effect/disconnect">disconnect()</a> are available.

 @class p5.Reverb
 @extends p5.Effect
 @constructor
 @example
 <div><code>
 let soundFile, reverb;
 function preload() {
   soundFile = loadSound('assets/Damscray_DancingTiger.mp3');
 }

 function setup() {
   let cnv = createCanvas(100, 100);
   cnv.mousePressed(playSound);

   reverb = new p5.Reverb();
   soundFile.disconnect(); // so we'll only hear reverb...

   // connect soundFile to reverb, process w/
   // 3 second reverbTime, decayRate of 2%
   reverb.process(soundFile, 3, 2);
 }

 function draw() {
   let dryWet = constrain(map(mouseX, 0, width, 0, 1), 0, 1);
   // 1 = all reverb, 0 = no reverb
   reverb.drywet(dryWet);

   background(220);
   text('tap to play', 10, 20);
   text('dry/wet: ' + round(dryWet * 100) + '%', 10, height - 20);
 }

 function playSound() {
   soundFile.play();
 }
 </code></div>