this.URL||(c=new webkitAudioContext,['ababababacacacdbebacacdbegacacdbebacacdbebfhfhf.30,ijijkjljljijijkjljljacacdbeb0.6,2.6,0.6','0.24,-3.24,0.24,-3.24,.24,ababebmbmbababebmbmgababdbmbmbnonpcqgababebmbmbnonpcqgababebmbmbababebmbmb0.6,2.6,0.6','.408,ababebmbmg.384,0.6,2.6,0.6'].map(function(z,a){p=44100;x=Math;t=5;u=z[o='split']('');for(v in u){u[v]={a:'0.6,2.6,0.6,',b:'4.2,5.2,4.2,',c:'2.2,2.2,2.2,',d:'2.6,4.6,5.6,',e:'2.6,4.6,2.6,',f:'12.6,12.6,12.2,9.4,',g:'4.2,5.2,7.2,',h:'12.2,12.2,12.2,',i:'12.6,14.6,12.6,',j:'16.2,17.2,16.2,',k:'14.6,16.6,14.6,',l:'14.2,12.2,14.2,',m:'2.2,0.2,2.2,',n:(g='0.2,')+g+g+g+g,o:'0.2,7.2,4.10,',p:'2.2,0.2,-3.10,',q:'2.2,2.2,4.2,2.14,0.2,2.2,4.2,5.6,0.2,2.2,'}[w=u[v]]||w};u.join('')[o](',').map(function(n){n=n[o]('.');d=x.abs(n[1]/6);if(h=n[0]){f=new Float32Array(i=p*d);b=c[k='createBuffer'](1,i,p);for(;i--;f[i]=x.cos(i/p*x.pow(2,h/12-a)*3e3));b.gain=.1;b.getChannelData(0).set(f);s=c[k+'Source']();s.buffer=b;s.connect(c.destination);s.noteOn(t)}t+=d})}))
dGhpcy5VUkx8fChjPW5ldyB3ZWJraXRBdWRpb0NvbnRleHQsWydhYmFiYWJhYmFjYWNhY2RiZWJhY2FjZGJlZ2FjYWNkYmViYWNhY2RiZWJmaGZoZi4zMCxpamlqa2psamxqaWppamtqbGpsamFjYWNkYmViMC42LDIuNiwwLjYnLCcwLjI0LC0zLjI0LDAuMjQsLTMuMjQsLjI0LGFiYWJlYm1ibWJhYmFiZWJtYm1nYWJhYmRibWJtYm5vbnBjcWdhYmFiZWJtYm1ibm9ucGNxZ2FiYWJlYm1ibWJhYmFiZWJtYm1iMC42LDIuNiwwLjYnLCcuNDA4LGFiYWJlYm1ibWcuMzg0LDAuNiwyLjYsMC42J10ubWFwKGZ1bmN0aW9uKHosYSl7cD00NDEwMDt4PU1hdGg7dD01O3U9eltvPSdzcGxpdCddKCcnKTtmb3IodiBpbiB1KXt1W3ZdPXthOicwLjYsMi42LDAuNiwnLGI6JzQuMiw1LjIsNC4yLCcsYzonMi4yLDIuMiwyLjIsJyxkOicyLjYsNC42LDUuNiwnLGU6JzIuNiw0LjYsMi42LCcsZjonMTIuNiwxMi42LDEyLjIsOS40LCcsZzonNC4yLDUuMiw3LjIsJyxoOicxMi4yLDEyLjIsMTIuMiwnLGk6JzEyLjYsMTQuNiwxMi42LCcsajonMTYuMiwxNy4yLDE2LjIsJyxrOicxNC42LDE2LjYsMTQuNiwnLGw6JzE0LjIsMTIuMiwxNC4yLCcsbTonMi4yLDAuMiwyLjIsJyxuOihnPScwLjIsJykrZytnK2crZyxvOicwLjIsNy4yLDQuMTAsJyxwOicyLjIsMC4yLC0zLjEwLCcscTonMi4yLDIuMiw0LjIsMi4xNCwwLjIsMi4yLDQuMiw1LjYsMC4yLDIuMiwnfVt3PXVbdl1dfHx3fTt1LmpvaW4oJycpW29dKCcsJykubWFwKGZ1bmN0aW9uKG4pe249bltvXSgnLicpO2Q9eC5hYnMoblsxXS82KTtpZihoPW5bMF0pe2Y9bmV3IEZsb2F0MzJBcnJheShpPXAqZCk7Yj1jW2s9J2NyZWF0ZUJ1ZmZlciddKDEsaSxwKTtmb3IoO2ktLTtmW2ldPXguY29zKGkvcCp4LnBvdygyLGgvMTItYSkqM2UzKSk7Yi5nYWluPS4xO2IuZ2V0Q2hhbm5lbERhdGEoMCkuc2V0KGYpO3M9Y1trKydTb3VyY2UnXSgpO3MuYnVmZmVyPWI7cy5jb25uZWN0KGMuZGVzdGluYXRpb24pO3Mubm90ZU9uKHQpfXQrPWR9KX0pKQ==
var m = [
[// high
// intro
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
// transition
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
// part 1
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
2.6, 4.6, 5.6,
4.2, 5.2, 4.2, 2.6, 4.6, 2.6, 4.2, 5.2, 4.2,
// part 2
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
2.6, 4.6, 5.6,
4.2, 5.2, 4.2, 2.6, 4.6, 2.6, 4.2, 5.2, 7.2,
// part 3
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
2.6, 4.6, 5.6,
4.2, 5.2, 4.2, 2.6, 4.6, 2.6, 4.2, 5.2, 4.2,
// part 4
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
2.6, 4.6, 5.6,
4.2, 5.2, 4.2, 2.6, 4.6, 2.6, 4.2, 5.2, 4.2,
// part 5
12.6, 12.6, 12.2, 9.4,
12.2, 12.2, 12.2,
12.6, 12.6, 12.2, 9.4,
12.2, 12.2, 12.2,
12.6, 12.6, 12.2, 9.4,
'.30',
// part 6
12.6, 14.6, 12.6,
16.2, 17.2, 16.2,
12.6, 14.6, 12.6,
16.2, 17.2, 16.2,
14.6, 16.6, 14.6,
16.2, 17.2, 16.2, 14.2, 12.2, 14.2, 16.2, 17.2, 16.2, 14.2, 12.2, 14.2, 16.2, 17.2, 16.2,
// part 7
12.6, 14.6, 12.6,
16.2, 17.2, 16.2,
12.6, 14.6, 12.6,
16.2, 17.2, 16.2,
14.6, 16.6, 14.6,
16.2, 17.2, 16.2, 14.2, 12.2, 14.2, 16.2, 17.2, 16.2, 14.2, 12.2, 14.2, 16.2, 17.2, 16.2,
// part 8
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
0.6, 2.6, 0.6,
2.2, 2.2, 2.2,
2.6, 4.6, 5.6,
4.2, 5.2, 4.2, 2.6, 4.6, 2.6, 4.2, 5.2, 4.2,
// end
0.6, 2.6, 0.6
],
[// medium
// intro
0.24, -3.24, 0.24, -3.24,
// transition
'.24',
// part 1
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
2.6, 4.6, 2.6,
4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2,
// part 2
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
2.6, 4.6, 2.6,
4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 7.2,
// part 3
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
2.6, 4.6, 5.6,
4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2,
// part 4
0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 7.2, '4.10',
0.2, 0.2, 0.2, 0.2, 0.2, 2.2, 0.2, '-3.10',
2.2, 2.2, 2.2, 2.2, 2.2, 4.2, '2.14',
0.2, 2.2, 4.2, 5.6,
0.2, 2.2, 4.2, 5.2, 7.2,
// part 5
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
2.6, 4.6, 2.6,
4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2,
// part 6
0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 7.2, '4.10',
0.2, 0.2, 0.2, 0.2, 0.2, 2.2, 0.2, '-3.10',
2.2, 2.2, 2.2, 2.2, 2.2, 4.2, '2.14',
0.2, 2.2, 4.2, 5.6,
0.2, 2.2, 4.2, 5.2, 7.2,
// part 7
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
2.6, 4.6, 2.6,
4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2,
// part 8
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
2.6, 4.6, 2.6,
4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2,
// end
0.6, 2.6, 0.6
],
[// low
// part 1, 2, 3
'.408',
// part 4
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
0.6, 2.6, 0.6,
4.2, 5.2, 4.2,
2.6, 4.6, 2.6,
4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 4.2, 2.2, 0.2, 2.2, 4.2, 5.2, 7.2,
// part 5, 6, 7, 8
'.384',
// end
0.6, 2.6, 0.6
]
];
var context = new webkitAudioContext( );
var precision = 44100;
var M = Math;
m.forEach( function ( instrument, a ) {
var t = 5;
instrument.forEach( function ( note ) {
note = ( note + '' ).split( '.' );
var duration = M.abs( parseInt( note[ 1 ] ) / 6 );
var Hz = M.pow( 2, parseInt( note[ 0 ] ) / 12 - a ) * 440;
var i = M.round( precision * duration );
if ( Hz ) {
var frames = new Float32Array( i );
var buffer = context.createBuffer( 1, i, precision );
while ( i-- ) {
frames[ i ] = M.cos( i * M.PI * 2 / precision * Hz );
}
buffer.gain = .1;
buffer.getChannelData( 0 ).set( frames );
var source = context.createBufferSource( );
source.buffer = buffer;
source.connect( context.destination );
source.noteOn( t );
}
t += duration;
} );
} );