var AudioChannel = function(args) {
  this.context = AudioContext ? new AudioContext() : new webkitAudioContext();
  this.oscill = this.context.createOscillator();
  this.gain = this.context.createGain();

  var args = args ? args : {};

  this.frequency = args.freq ? args.freq : 220;
  this.wave = args.wave ? args.wave : "triangle";
  this.volume = args.gain ? args.gain : 0.2;
}
AudioChannel.prototype.setNodes = function() {
  this.oscill = this.context.createOscillator();
  this.gain = this.context.createGain();

  this.oscill.connect(this.gain);
  this.gain.connect(this.context.destination);

  this.oscill.frequency.value = this.frequency;
  this.oscill.type = this.wave;
  this.gain.gain.value = this.volume;
};
AudioChannel.prototype.playSong = function(song) {
  this.setNodes();
  this.oscill.start();
  var playNextNote = function(song) {
    this.oscill.frequency.value = noteToFreq(song[0].note, song[0].octave);
    if(song[1]) {
      setTimeout(playNextNote.bind(this, song.slice(1)), song[0].length);
    }
    else {
      setTimeout(function() {
        this.oscill.stop();
      }.bind(this), song[0].length);
    }
  }.bind(this);
  playNextNote(song);
};

@@ -128,39 +128,12 @@
 l = 
-this.context.createOscillator()
+null
 ;%0A  
@@ -166,24 +166,71 @@
 reateGain();
+%0A  this.gain.connect(this.context.destination);
 %0A%0A  var args
@@ -439,24 +439,72 @@
 unction() %7B%0A
+  if(this.oscill) %7B%0A    this.oscill.stop();%0A  %7D%0A
   this.oscil
@@ -551,120 +551,31 @@
 his.
-gain = this.context.createGain();%0A%0A  this.oscill.connect(this.gain);%0A  this.gain.connect(this.context.destinatio
+oscill.connect(this.gai
 n);%0A
@@ -693,16 +693,39 @@
 volume;%0A
+  this.oscill.start();%0A
 %7D;%0AAudio
@@ -774,50 +774,8 @@
 ) %7B%0A
-  this.setNodes();%0A  this.oscill.start();%0A
   va
@@ -813,31 +813,24 @@
  %7B%0A    this.
-oscill.
 frequency.va
@@ -826,22 +826,16 @@
 requency
-.value
  = noteT
@@ -871,16 +871,37 @@
 ctave);%0A
+    this.setNodes();%0A
     if(s

Update AudioChannel to create new oscillator for each note in playSong