message: adding back envelope
  getLevelAtTime was used for the portamento
diff: +import { Envelope } from "../component/envelope/Envelope";
  import { FrequencyClass } from "../core/type/Frequency";
  import { Cents, Frequency, NormalRange, Seconds, Time } from "../core/type/Units";
  import { optionsFromArguments } from "../core/util/Defaults";
  @@ -27,6 +28,11 @@ export abstract class Monophonic<Options extends MonophonicOptions> extends Inst
  */
  onsilence: onSilenceCallback;
  + /**
  + * The instrument's envelope
  + */
  + abstract envelope: Envelope;
  +
  /**
  * The instrument's frequency signal.
  */
  @@ -96,6 +102,17 @@ export abstract class Monophonic<Options extends MonophonicOptions> extends Inst
  */
  protected abstract _triggerEnvelopeRelease(time: Seconds): void;
  + /**
  + * Get the level of the output at the given time. Measures
  + * the envelope(s) value at the time.
  + * @param time The time to query the envelope value
  + * @return The output level between 0-1
  + */
  + getLevelAtTime(time: Time): NormalRange {
  + time = this.toSeconds(time);
  + return this.envelope.getValueAtTime(time);
  + }
  +
  /**
  * Set the note at the given time. If no time is given, the note
  * will set immediately.
  