sketch
by mohayonao
HTML
<script src="http://mohayonao.github.io/neume.js/build/neume.min.js"></script>
<button id="start">start</button>
JavaScript
var score = [[329.6275569128699,195.99771799087463],null,null,null,null,null,[391.99543598174927],null,null,null,[293.6647679174076],null,null,[329.6275569128699,220,164.81377845643496],null,null,null,[391.99543598174927],null,null,[329.6275569128699,195.99771799087463],[493.8833012561241],null,null,[391.99543598174927],null,[329.6275569128699,261.6255653005986,220,164.81377845643496],null,null,null,null,[293.6647679174076,246.94165062806206,195.99771799087463,146.8323839587038]];
var Neume = neume(new AudioContext());
var Synth = new Neume(function($, freq) {
var out;
out = $("sin", { freq: freq });
out = $("asr", {
a: 4.78, s: 0.2, r: 46.4
}, out).release("+12").on("end", function(e) {
this.stop(e.playbackTime);
});
return out;
});
var timer = null;
$("#start").on("click", function() {
if (timer) {
timer.stop();
timer = null;
$(this).css("color", "black");
} else {
timer = new Neume.Interval(2, function(e) {
var i = e.count % score.length;
score[i] && score[i].forEach(function(freq) {
new Synth(freq).start();
});
}).start();
$(this).css("color", "red");
}
});