anchor.diff:      }
   }
   
  -function intro(){
  -    intro_loop++;
  -    keyTap(3);
  -    setTimeout(function(){
  -        keyTap(15);
  -        keyTap(37);
  -        setTimeout(function(){
  -            keyTap(16);
  -            setTimeout(function(){
  -                keyTap(2);
  -                setTimeout(function(){
  -                    keyTap(1);
  -                    keyTap(15);
  -                    setTimeout(function(){
  -                        keyTap(16);
  -                        setTimeout(function(){
  -                            if(intro_loop < 6)
  -                                intro();
  -                        },250);
  -                    },400);
  -                },150);
  -            },250);
  -        },400);
  -    },150);
  -}
  -
  -function keyTap(keycode){
  +function playSong(){
  +    setupSongInterval();
  +}
  +
  +function setupSongInterval(){
  +    frame = 0;
  +    time = 0;
  +    indAt = 0;
  +    resolution = 50;
  +    intro_loop = 0;
  +    song_playing = true;
  +    startTime = new Date().getTime();
  +    
  +    setTimeout(songInterval, resolution);
  +}
  +
  +function songInterval(){
  +    var stop = false;
  +    while(songIntro[indAt].p <= frame){
  +        keyTap(songIntro[indAt].kc, songIntro[indAt].dn);
  +        indAt++;
  +        if(indAt >= songIntro.length){
  +            if(intro_loop > 6){
  +            stop = true;
  +                break;
  +            }
  +            else{
  +                indAt = 0;
  +                frame = -250;
  +                intro_loop++;
  +            }
  +        }
  +    }
  +    frame+=resolution;
  +    time+=resolution;
  +    diff = (new Date().getTime() - startTime) - time;
  +    if(!stop)
  +        setTimeout(songInterval, (resolution - diff));
  +}
  +
  +function keyTap(keycode, duration){
       $(document).trigger(jQuery.Event( 'keydown', { which: keyPairs[keycode], keyCode: keyPairs[keycode] } ));
       setTimeout(function(){
           $(document).trigger(jQuery.Event( 'keyup', { which: keyPairs[keycode], keyCode: keyPairs[keycode] } ));
  -    },200);
  +    },duration);
   }
   
   function reformat(){
  
positive.code:     });
      
      $("#play_button").click(function(){
          intro_loop = 0;
          intro();
      });
      
  }
  
negative.code:               "c5", "c8", "c9", "c10","c11","b8", "b9", "b10","b11","d1","d0","d5",
                "",   "c12","c13","c14","c15","b12","b13","b14","b15","d3","d2","d1"];
  
  pressure2 = [5,6,7,8,9,17,18,29,30,31,32,33,34,35,41,42];
  
  pressures = [pressure1, pressure4, pressure2];
                
  