message: testing being constructed with different voices
diff: import { expect } from "chai";
  import { BasicTests, warns } from "test/helper/Basic";
  import { CompareToFile } from "test/helper/CompareToFile";
  -import { InstrumentTest } from "test/helper/InstrumentTests";
  import { atTime, Offline } from "test/helper/Offline";
  import { OutputAudio } from "test/helper/OutputAudio";
  import { PolySynth } from "./PolySynth";
  import { Synth } from "./Synth";
  +import { FMSynth } from "./FMSynth";
  +import { PluckSynth } from "./PluckSynth";
  +import { MetalSynth } from "./MetalSynth";
  +import { MembraneSynth } from "./MembraneSynth";
  describe("PolySynth", () => {
  @@ -42,6 +45,25 @@ describe("PolySynth", () => {
  }, "polySynth3.wav", 0.5);
  });
  + it("can be constructed with monophonic synths", () => {
  + expect(() => {
  + const polySynth = new PolySynth(Synth);
  + polySynth.dispose();
  + }).to.not.throw(Error);
  + expect(() => {
  + const polySynth = new PolySynth(FMSynth);
  + polySynth.dispose();
  + }).to.not.throw(Error);
  + expect(() => {
  + const polySynth = new PolySynth(MetalSynth);
  + polySynth.dispose();
  + }).to.not.throw(Error);
  + expect(() => {
  + const polySynth = new PolySynth(MembraneSynth);
  + polySynth.dispose();
  + }).to.not.throw(Error);
  + });
  +
  context("Playing Notes", () => {
  it("triggerAttackRelease can take an array of durations", () => {
  