setVolume(vol, _rampTime, _tFromNow) {
    if (typeof vol === 'number') {
      var rampTime = _rampTime || 0;
      var tFromNow = _tFromNow || 0;
      var now = p5sound.audiocontext.currentTime;
      var currentVol = this.output.gain.value;
      this.output.gain.cancelScheduledValues(now + tFromNow);
      this.output.gain.linearRampToValueAtTime(currentVol, now + tFromNow);
      this.output.gain.linearRampToValueAtTime(vol, now + tFromNow + rampTime);
    } else if (vol) {
      vol.connect(this.output.gain);
    } else {
      // return the Gain Node
      return this.output.gain;
    }
  }
Multiply the output volume (amplitude) of a sound file
 between 0.0 (silence) and 1.0 (full volume).
 1.0 is the maximum amplitude of a digital sound, so multiplying
 by greater than 1.0 may cause digital distortion. To
 fade, provide a <code>rampTime</code> parameter. For more
 complex fades, see the Envelope class.

 Alternately, you can pass in a signal source such as an
 oscillator to modulate the amplitude with an audio signal.

 @method  setVolume
 @for p5.SoundFile
 @param {Number|Object} volume  Volume (amplitude) between 0.0
                                    and 1.0 or modulating signal/oscillator
 @param {Number} [rampTime]  Fade for t seconds
 @param {Number} [timeFromNow]  Schedule this event to happen at
                                t seconds in the future