scale(inMin, inMax, outMin, outMax) {
    var mapOutMin, mapOutMax;
    if (arguments.length === 4) {
      mapOutMin = p5.prototype.map(0, inMin, inMax, outMin, outMax);
      mapOutMax = p5.prototype.map(1, inMin, inMax, outMin, outMax);
    } else {
      mapOutMin = arguments[0];
      mapOutMax = arguments[1];
    }
    var scale = new Scale(mapOutMin, mapOutMax);
    sigChain(this.mathOps, scale, Scale, this.oscillator, this.output);
    return this;
  }
Scale this oscillator's amplitude values to a given
 range, and return the oscillator. Calling this method
 again will override the initial scale() with new values.

 @method  scale
 @for p5.Oscillator
 @param  {Number} inMin  input range minumum
 @param  {Number} inMax  input range maximum
 @param  {Number} outMin input range minumum
 @param  {Number} outMax input range maximum
 @return {p5.Oscillator} Oscillator Returns this oscillator
                                    with scaled output