A Python-assisted conversion to Dittitoy of a CPC Soundtrakker cover of the Amiga classic by Karsten 'Obi' Obarski. The original: demozoo.org/music/164308/
PS: The wrap-over toward the end is wrong, I'll fix that later or leave this as an exercise to the inclined visitor :)
Log in to post a comment.
// Forked from "Arcane FM " by Ollerich // https://dittytoy.net/ditty/2996ac5e45 // Constants const TAU = Math.PI * 2; const sin = Math.sin; const exp = Math.exp; // Envelopes my_env = adsr.create( { attack: 0.1, decay: 0.2, release: 0.2, duration: 10 }); // Synths const square = synth.def( (phase, env, tick, options) => Math.sign(sin(phase*TAU))*env.value); const saw = synth.def( (phase, env, tick, options) => ((phase % 1)*2-1) *env.value); const sinus = synth.def( (phase, env, tick, options) => sin(phase*TAU) *env.value); const fm = synth.def( class { constructor (options) { this.phase = 0; this.t = 0 // index of modulation this.iom = options.iom ? options.iom : 13.7; this.mul = options.multiplier ? options.multiplier : 0.5; } process(note, env, tick, options) { // carrier frequency const fc = midi_to_hz(note); // modulator frequency const fm = fc * this.mul; // forward time this.t += ditty.dt; const osc = sin( TAU*this.t*fc + this.iom*sin(TAU*this.t*fm) ) * env.value; return [osc, osc]; // left, right } }); const bassdrum = synth.def( (phase, env, tick, options) => sin(phase*TAU*(tick<0.3?0.5-tick:0)) * env.value); const snare = synth.def( (phase, env, tick, options) => ( sin(phase*TAU*(Math.random(tick)))*(tick<options.noise.len?options.noise.factor*options.noise.vol-tick:0) + sin(phase*TAU*(tick<options.sin.len?0.8-tick*1:0)) * 0.4) * env.value, options={ noise: { len: 0.2, factor: 0.5, vol: 0.5 }, sin: { len: 0.2 } } ); const hihat = synth.def( (phase, env, tick, options) => ( (tick<0.05) ? (sin(phase*TAU*Math.random(tick)) * 0.5-tick*4) * env.value : 0 )); class ST128 { constructor(options) { this.synth = options.synth; this.notes = options.notes; this.max = this.notes.length; this.adsr = options.adsr ? options.adsr : { attack: 0.01, release: 0.25, duration: 0.125, amp: 1.0 }; this.speed = options.speed ? options.speed : 0.025; this.transpose = options.transpose ? options.transpose : 0; this.arps = options.arps ? options.arps : []; this.pos = 0; } process(loopCount) { const tpl = this.notes[this.pos++]; if (this.pos >= this.max) this.pos = 0; const speed = this.speed * input.speed * 4; this.pause = tpl[0]; this.note = tpl[1]; this.adsr.duration = this.pause * (speed * 0.95); if (this.note > 0) this.synth.play(this.note + this.transpose, this.adsr); sleep(this.pause * speed); } } const tracks = [ [[408, 0], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 65], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 65], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [6, 67], [12, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [6, 67], [12, 67], [798, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 65], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [12, 67], [6, 67], [30, 65], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [6, 67], [12, 67], [30, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [48, 67], [6, 67], [12, 67], [12, 67]] , [[12, 0], [24, 55], [24, 55], [24, 55], [24, 55], [24, 58], [24, 58], [48, 63], [24, 55], [24, 55], [24, 55], [24, 55], [24, 58], [78, 58], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 51], [36, 63], [12, 51], [36, 63], [12, 53], [36, 65], [12, 53], [36, 65], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 51], [36, 63], [12, 51], [36, 63], [12, 53], [36, 65], [12, 53], [36, 65], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 53], [36, 65], [12, 50], [36, 62], [12, 51], [36, 63], [12, 55], [24, 67], [24, 48], [36, 60], [12, 46], [36, 58], [12, 53], [36, 53], [12, 55], [36, 67], [12, 53], [36, 65], [12, 50], [36, 62], [12, 51], [36, 63], [12, 55], [24, 67], [24, 48], [36, 60], [12, 46], [36, 58], [12, 53], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 51], [36, 63], [12, 51], [36, 63], [12, 53], [36, 65], [12, 53], [36, 65], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 51], [36, 63], [12, 51], [36, 63], [12, 53], [36, 65], [12, 53], [36, 65], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 55], [36, 67], [12, 53], [36, 65], [12, 50], [36, 62], [12, 51], [36, 63], [12, 55], [24, 67], [24, 48], [36, 60], [12, 46], [36, 58], [12, 53], [36, 53], [12, 55], [36, 67], [12, 53], [36, 65], [12, 50], [36, 62], [12, 51], [36, 63], [12, 55], [24, 67], [24, 48], [36, 60], [12, 46], [36, 58], [12, 53], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 51], [36, 63], [12, 53], [36, 65], [12, 55], [36, 55], [12, 55], [36, 67], [12, 51], [36, 63], [12, 53], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 51], [36, 63], [12, 53], [36, 65], [12, 55], [36, 55], [12, 55], [36, 67], [12, 51], [36, 63], [12, 53], [36, 53], [12, 46], [36, 46], [12, 46], [36, 46], [12, 53], [36, 53], [12, 53], [36, 53], [12, 55], [36, 55], [12, 55], [36, 55], [12, 51], [24, 51], [24, 51], [36, 63], [12, 46], [36, 46], [12, 46], [36, 46], [12, 53], [36, 53], [12, 53], [36, 53], [12, 55], [36, 55], [12, 55], [36, 55], [12, 51], [36, 51], [18, 51], [30, 53], [12, 46], [36, 46], [12, 46], [36, 46], [12, 53], [36, 53], [12, 53], [36, 53], [12, 55], [36, 55], [12, 55], [36, 55], [12, 51], [24, 51], [24, 51], [36, 63], [12, 46], [36, 46], [12, 46], [36, 46], [12, 53], [36, 53], [12, 53], [36, 53], [12, 55], [36, 55], [12, 55], [36, 55], [12, 51], [36, 51], [18, 51], [798, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 58], [36, 70], [12, 51], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 51], [36, 63], [12, 53], [36, 65], [12, 55], [36, 55], [12, 55], [36, 67], [12, 51], [36, 63], [12, 53], [36, 53], [12, 55], [36, 67], [12, 55], [36, 67], [12, 51], [36, 63], [12, 53], [36, 65], [12, 55], [36, 55], [12, 55], [36, 67], [12, 51], [36, 63], [12, 53], [36, 53], [12, 46], [36, 46], [12, 46], [36, 46], [12, 53], [36, 53], [12, 53], [36, 53], [12, 55], [36, 55], [12, 55], [36, 55], [12, 51], [24, 51], [24, 51], [36, 63], [12, 46], [36, 46], [12, 46], [36, 46], [12, 53], [36, 53], [12, 53], [36, 53], [12, 55], [36, 55], [12, 55], [36, 55], [12, 51], [36, 51], [18, 51], [30, 53], [12, 46], [36, 46], [12, 46], [36, 46], [12, 53], [36, 53], [12, 53], [36, 53], [12, 55], [36, 55], [12, 55], [36, 55], [12, 51], [24, 51], [24, 51], [36, 63], [12, 46], [36, 46], [12, 46], [36, 46], [12, 53], [36, 53], [12, 53], [36, 53], [12, 55], [36, 55], [12, 55], [36, 55], [12, 51], [36, 51], [18, 51], [18, 53]] , [[6, 79], [0, 79], [6, 86], [0, 86], [6, 82], [0, 82], [6, 84], [0, 84], [6, 84], [0, 84], [6, 82], [0, 82], [6, 86], [0, 86], [6, 79], [0, 79], [6, 77], [6, 77], [6, 79], [0, 79], [6, 84], [0, 84], [6, 82], [6, 82], [6, 84], [12, 84], [6, 86], [0, 86], [6, 87], [0, 87], [6, 89], [0, 89], [6, 86], [0, 86], [6, 84], [0, 84], [6, 77], [6, 77], [6, 82], [6, 82], [6, 84], [12, 84], [6, 82], [0, 82], [6, 84], [6, 84], [6, 79], [0, 79], [6, 86], [0, 86], [6, 82], [0, 82], [6, 84], [0, 84], [6, 84], [0, 84], [6, 82], [0, 82], [6, 86], [0, 86], [6, 79], [0, 79], [6, 77], [6, 77], [6, 79], [0, 79], [6, 84], [0, 84], [6, 82], [6, 82], [6, 84], [6, 84], [6, 87], [0, 87], [6, 87], [0, 87], [6, 86], [0, 86], [6, 86], [0, 86], [6, 84], [0, 84], [6, 84], [0, 84], [6, 82], [0, 82], [6, 77], [0, 77], [6, 84], [0, 84], [6, 84], [0, 84], [6, 82], [0, 82], [6, 81], [0, 81], [6, 79], [0, 79], [6, 77], [0, 77], [6, 74], [0, 74], [12, 82], [6, 79], [6, 86], [6, 82], [6, 84], [6, 84], [6, 82], [6, 86], [6, 79], [12, 77], [6, 79], [6, 84], [12, 82], [18, 84], [6, 86], [6, 87], [6, 89], [6, 86], [6, 84], [12, 77], [12, 82], [18, 84], [6, 82], [12, 84], [6, 79], [6, 86], [6, 82], [6, 84], [6, 84], [6, 82], [6, 86], [6, 79], [12, 77], [6, 79], [6, 84], [12, 82], [12, 84], [6, 87], [6, 87], [6, 86], [6, 86], [6, 84], [6, 84], [6, 82], [6, 77], [6, 84], [6, 84], [6, 82], [6, 81], [6, 79], [6, 77], [12, 74], [6, 79], [6, 86], [6, 82], [6, 84], [6, 84], [6, 82], [6, 86], [6, 79], [12, 77], [6, 79], [6, 84], [12, 82], [18, 84], [6, 86], [6, 87], [6, 89], [6, 86], [6, 84], [12, 77], [12, 82], [18, 84], [6, 82], [12, 84], [6, 79], [6, 86], [6, 82], [6, 84], [6, 84], [6, 82], [6, 86], [6, 79], [12, 77], [6, 79], [6, 84], [12, 82], [12, 84], [6, 87], [6, 87], [6, 86], [6, 86], [6, 84], [6, 84], [6, 82], [6, 77], [6, 84], [6, 84], [6, 82], [6, 81], [6, 79], [6, 77], [1062, 74], [6, 67], [6, 79], [6, 69], [6, 81], [6, 70], [6, 82], [6, 72], [6, 84], [6, 74], [6, 86], [6, 75], [6, 87], [6, 77], [6, 89], [6, 79], [294, 91], [6, 67], [6, 79], [6, 69], [6, 81], [6, 70], [6, 82], [6, 72], [6, 84], [6, 74], [6, 86], [6, 75], [6, 87], [6, 77], [6, 89], [6, 79], [6, 91], [6, 82], [6, 82], [12, 79], [12, 74], [12, 70], [132, 67], [6, 72], [198, 74], [6, 82], [6, 82], [12, 79], [12, 74], [12, 70], [132, 67], [6, 72], [1254, 74], [6, 67], [6, 79], [6, 69], [6, 81], [6, 70], [6, 82], [6, 72], [6, 84], [6, 74], [6, 86], [6, 75], [6, 87], [6, 77], [6, 89], [6, 79], [294, 91], [6, 67], [6, 79], [6, 69], [6, 81], [6, 70], [6, 82], [6, 72], [6, 84], [6, 74], [6, 86], [6, 75], [6, 87], [6, 77], [6, 89], [6, 79], [6, 91], [6, 82], [6, 82], [12, 79], [12, 74], [12, 70], [132, 67], [6, 72], [198, 74], [6, 82], [6, 82], [12, 79], [12, 74], [12, 70], [132, 67], [6, 72], [2862, 74], [6, 65], [378, 62], [6, 65], [24, 62], [6, 79], [6, 86], [6, 82], [6, 84], [6, 84], [6, 82], [6, 86], [6, 79], [12, 77], [6, 79], [6, 84], [12, 82], [18, 84], [6, 86], [6, 87], [6, 89], [6, 86], [6, 84], [12, 77], [12, 82], [18, 84], [6, 82], [12, 84], [6, 79], [6, 86], [6, 82], [6, 84], [6, 84], [6, 82], [6, 86], [6, 79], [12, 77], [6, 79], [6, 84], [12, 82], [12, 84], [6, 87], [6, 87], [6, 86], [6, 86], [6, 84], [6, 84], [6, 82], [6, 77], [6, 84], [6, 84], [6, 82], [6, 81], [6, 79], [6, 77], [2670, 74], [6, 65], [378, 62], [6, 65], [6, 62]] , [[384, 0], [12, 70], [12, 69], [12, 67], [12, 65], [12, 75], [12, 74], [12, 70], [12, 65], [12, 70], [12, 72], [12, 74], [12, 79], [12, 77], [6, 72], [6, 74], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 65], [12, 63], [12, 62], [12, 67], [12, 70], [12, 72], [12, 65], [6, 62], [6, 70], [12, 65], [12, 70], [12, 69], [12, 67], [12, 65], [12, 75], [12, 74], [12, 70], [12, 65], [12, 70], [12, 72], [12, 74], [12, 79], [12, 77], [6, 72], [6, 74], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 65], [12, 63], [12, 62], [12, 67], [12, 70], [12, 72], [12, 65], [6, 62], [6, 70], [12, 65], [12, 70], [12, 69], [12, 67], [12, 65], [12, 75], [12, 74], [12, 70], [12, 65], [12, 70], [12, 72], [12, 74], [12, 79], [12, 77], [6, 72], [6, 74], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 65], [12, 63], [12, 62], [12, 67], [12, 70], [12, 72], [12, 65], [6, 62], [6, 70], [12, 65], [12, 70], [12, 69], [12, 67], [12, 65], [12, 75], [12, 74], [12, 70], [12, 65], [12, 70], [12, 72], [12, 74], [12, 79], [12, 77], [6, 72], [6, 74], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 65], [12, 63], [12, 62], [12, 67], [12, 70], [12, 72], [12, 65], [6, 62], [6, 70], [12, 65], [12, 72], [0, 87], [12, 72], [12, 72], [12, 70], [0, 87], [12, 72], [12, 72], [0, 87], [12, 72], [12, 70], [0, 86], [12, 69], [12, 69], [0, 84], [12, 69], [12, 67], [0, 89], [12, 69], [12, 69], [0, 84], [12, 69], [12, 67], [12, 70], [12, 67], [0, 82], [12, 62], [12, 67], [0, 86], [12, 70], [12, 67], [0, 82], [12, 62], [12, 67], [12, 70], [12, 67], [12, 62], [12, 67], [12, 70], [12, 67], [12, 62], [12, 67], [12, 72], [0, 87], [12, 72], [12, 72], [12, 70], [0, 87], [12, 72], [12, 72], [0, 87], [12, 72], [12, 70], [0, 86], [12, 69], [12, 69], [0, 84], [12, 69], [12, 67], [0, 89], [12, 69], [12, 69], [0, 84], [12, 69], [12, 67], [12, 70], [12, 67], [0, 82], [12, 62], [12, 67], [0, 86], [12, 70], [12, 67], [0, 82], [12, 62], [12, 67], [12, 70], [12, 67], [12, 62], [12, 67], [12, 70], [12, 67], [12, 62], [12, 67], [12, 70], [12, 69], [12, 70], [12, 67], [12, 72], [0, 86], [12, 70], [12, 72], [12, 69], [0, 84], [12, 65], [12, 62], [12, 67], [0, 82], [12, 69], [12, 70], [12, 69], [12, 70], [12, 67], [12, 70], [12, 69], [12, 70], [12, 67], [12, 65], [12, 62], [12, 60], [12, 62], [12, 63], [12, 65], [12, 67], [12, 70], [12, 69], [12, 70], [12, 72], [12, 65], [12, 70], [12, 69], [12, 70], [12, 67], [12, 72], [0, 86], [12, 70], [12, 72], [12, 69], [0, 84], [12, 65], [12, 62], [12, 67], [0, 82], [12, 69], [12, 70], [12, 69], [12, 70], [12, 67], [12, 70], [12, 69], [12, 70], [12, 67], [12, 65], [12, 62], [12, 60], [12, 62], [12, 63], [12, 65], [12, 67], [12, 70], [12, 69], [12, 70], [12, 72], [12, 65], [12, 70], [12, 69], [12, 67], [12, 65], [12, 75], [12, 74], [12, 70], [12, 65], [12, 70], [12, 72], [12, 74], [12, 79], [12, 77], [6, 72], [6, 74], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 65], [12, 63], [12, 62], [12, 67], [12, 70], [12, 72], [12, 65], [6, 62], [6, 70], [12, 65], [12, 70], [12, 69], [12, 67], [12, 65], [12, 75], [12, 74], [12, 70], [12, 65], [12, 70], [12, 72], [12, 74], [12, 79], [12, 77], [6, 72], [6, 74], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 65], [12, 63], [12, 62], [12, 67], [12, 70], [12, 72], [12, 65], [6, 62], [6, 70], [12, 65], [12, 72], [0, 87], [12, 72], [12, 72], [12, 70], [0, 87], [12, 72], [12, 72], [0, 87], [12, 72], [12, 70], [0, 86], [12, 69], [12, 69], [0, 84], [12, 69], [12, 67], [0, 89], [12, 69], [12, 69], [0, 84], [12, 69], [12, 67], [12, 70], [12, 67], [0, 82], [12, 62], [12, 67], [0, 86], [12, 70], [12, 67], [0, 82], [12, 62], [12, 67], [12, 70], [12, 67], [12, 62], [12, 67], [12, 70], [12, 67], [12, 62], [12, 67], [12, 72], [0, 87], [12, 72], [12, 72], [12, 70], [0, 87], [12, 72], [12, 72], [0, 87], [12, 72], [12, 70], [0, 86], [12, 69], [12, 69], [0, 84], [12, 69], [12, 67], [0, 89], [12, 69], [12, 69], [0, 84], [12, 69], [12, 67], [12, 70], [12, 67], [0, 82], [12, 62], [12, 67], [0, 86], [12, 70], [12, 67], [0, 82], [12, 62], [12, 67], [12, 70], [12, 67], [12, 62], [12, 67], [12, 70], [12, 67], [12, 62], [12, 67], [12, 70], [12, 69], [12, 70], [12, 67], [12, 72], [0, 86], [12, 70], [12, 72], [12, 69], [0, 84], [12, 65], [12, 62], [12, 67], [0, 82], [12, 69], [12, 70], [12, 69], [12, 70], [12, 67], [12, 70], [12, 69], [12, 70], [12, 67], [12, 65], [12, 62], [12, 60], [12, 62], [12, 63], [12, 65], [12, 67], [12, 70], [12, 69], [12, 70], [12, 72], [12, 65], [12, 70], [12, 69], [12, 70], [12, 67], [12, 72], [0, 86], [12, 70], [12, 72], [12, 69], [0, 84], [12, 65], [12, 62], [12, 67], [0, 82], [12, 69], [12, 70], [12, 69], [12, 70], [12, 67], [12, 70], [12, 69], [12, 70], [12, 67], [12, 65], [12, 62], [12, 60], [12, 62], [12, 63], [12, 65], [12, 67], [12, 70], [12, 69], [12, 70], [12, 72], [12, 65], [12, 86], [12, 79], [12, 87], [12, 89], [12, 84], [12, 77], [12, 86], [12, 77], [12, 82], [12, 75], [12, 70], [12, 82], [12, 84], [12, 77], [12, 84], [12, 89], [12, 86], [12, 79], [12, 87], [12, 89], [12, 84], [12, 77], [12, 86], [12, 77], [12, 82], [12, 75], [12, 70], [12, 82], [12, 84], [12, 77], [12, 84], [0, 70], [6, 89], [6, 72], [12, 86], [12, 79], [12, 87], [12, 89], [12, 84], [12, 77], [12, 86], [12, 77], [12, 82], [12, 75], [12, 70], [12, 82], [12, 84], [12, 77], [12, 84], [12, 89], [12, 86], [12, 79], [12, 87], [12, 89], [12, 84], [12, 77], [12, 86], [12, 77], [12, 82], [12, 75], [12, 70], [12, 82], [12, 84], [12, 77], [12, 84], [0, 70], [6, 89], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 72], [12, 70], [6, 72], [6, 74], [6, 70], [42, 72], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 75], [12, 74], [12, 70], [60, 63], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 72], [12, 70], [6, 72], [6, 74], [6, 70], [42, 72], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 75], [12, 74], [12, 70], [48, 63], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 72], [12, 70], [6, 72], [6, 74], [6, 70], [42, 72], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 75], [12, 74], [12, 70], [60, 63], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 72], [12, 70], [6, 72], [6, 74], [6, 70], [42, 72], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 75], [12, 74], [12, 70], [48, 63], [6, 70], [30, 72], [24, 75], [24, 74], [12, 79], [48, 77], [36, 72], [12, 72], [36, 74], [24, 74], [24, 70], [12, 70], [24, 75], [12, 75], [12, 74], [12, 70], [12, 58], [0, 77], [24, 72], [36, 82], [24, 75], [24, 74], [12, 79], [48, 77], [36, 72], [12, 72], [36, 74], [24, 74], [24, 70], [12, 70], [24, 75], [12, 75], [12, 74], [12, 70], [12, 58], [0, 77], [24, 72], [12, 82], [12, 70], [12, 69], [12, 67], [12, 65], [12, 75], [12, 74], [12, 70], [12, 65], [12, 70], [12, 72], [12, 74], [12, 79], [12, 77], [6, 72], [6, 74], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 69], [12, 70], [12, 65], [12, 70], [12, 65], [12, 63], [12, 62], [12, 67], [12, 70], [12, 72], [12, 65], [6, 62], [6, 70], [12, 65], [12, 86], [12, 79], [12, 87], [12, 89], [12, 84], [12, 77], [12, 86], [12, 77], [12, 82], [12, 75], [12, 70], [12, 82], [12, 84], [12, 77], [12, 84], [12, 89], [12, 86], [12, 79], [12, 87], [12, 89], [12, 84], [12, 77], [12, 86], [12, 77], [12, 82], [12, 75], [12, 70], [12, 82], [12, 84], [12, 77], [12, 84], [0, 70], [6, 89], [6, 72], [12, 86], [12, 79], [12, 87], [12, 89], [12, 84], [12, 77], [12, 86], [12, 77], [12, 82], [12, 75], [12, 70], [12, 82], [12, 84], [12, 77], [12, 84], [12, 89], [12, 86], [12, 79], [12, 87], [12, 89], [12, 84], [12, 77], [12, 86], [12, 77], [12, 82], [12, 75], [12, 70], [12, 82], [12, 84], [12, 77], [12, 84], [0, 70], [6, 89], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 72], [12, 70], [6, 72], [6, 74], [6, 70], [42, 72], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 75], [12, 74], [12, 70], [60, 63], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 72], [12, 70], [6, 72], [6, 74], [6, 70], [42, 72], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 75], [12, 74], [12, 70], [48, 63], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 72], [12, 70], [6, 72], [6, 74], [6, 70], [42, 72], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 75], [12, 74], [12, 70], [60, 63], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 72], [12, 70], [6, 72], [6, 74], [6, 70], [42, 72], [6, 70], [6, 72], [6, 74], [6, 74], [12, 72], [12, 74], [6, 72], [12, 74], [6, 74], [12, 72], [12, 74], [12, 70], [12, 75], [12, 74], [12, 70], [48, 63], [6, 70], [30, 72], [24, 75], [24, 74], [12, 79], [48, 77], [36, 72], [12, 72], [36, 74], [24, 74], [24, 70], [12, 70], [24, 75], [12, 75], [12, 74], [12, 70], [12, 58], [0, 77], [24, 72], [36, 82], [24, 75], [24, 74], [12, 79], [48, 77], [36, 72], [12, 72], [36, 74], [24, 74], [24, 70], [12, 70], [24, 75], [12, 75], [12, 74], [12, 70], [12, 58], [0, 77], [24, 72], [24, 82]] , [[1872, 0], [6, 67], [6, 67], [6, 69], [6, 69], [6, 70], [6, 70], [6, 72], [1074, 72], [12, 82], [12, 82], [12, 82], [6, 84], [342, 86], [12, 82], [12, 82], [12, 82], [6, 84], [762, 86], [6, 67], [6, 67], [6, 69], [6, 69], [6, 70], [6, 70], [6, 72], [1074, 72], [12, 82], [12, 82], [12, 82], [6, 84], [342, 86], [12, 82], [12, 82], [12, 82], [6, 84], [1182, 86], [6, 70], [762, 72], [6, 70], [654, 72], [12, 82], [24, 87], [12, 87], [12, 86], [24, 82], [12, 70], [0, 77], [12, 77], [276, 82], [12, 82], [24, 87], [12, 87], [12, 86], [24, 82], [12, 70], [0, 77], [12, 77], [1536, 82], [6, 70], [762, 72], [6, 70], [654, 72], [12, 82], [24, 87], [12, 87], [12, 86], [24, 82], [12, 70], [0, 77], [12, 77], [276, 82], [12, 82], [24, 87], [12, 87], [12, 86], [24, 82], [12, 70], [0, 77], [12, 77], [12, 82]] , [[1152, 0], [12, 82], [12, 81], [12, 79], [6, 77], [18, 79], [12, 82], [12, 84], [12, 86], [12, 77], [12, 82], [12, 86], [30, 84], [6, 79], [6, 91], [6, 89], [6, 91], [6, 89], [12, 91], [12, 86], [12, 84], [12, 82], [12, 79], [12, 82], [12, 84], [6, 86], [6, 77], [6, 87], [6, 87], [12, 86], [12, 82], [60, 84], [12, 79], [12, 86], [12, 82], [12, 79], [6, 74], [6, 77], [12, 79], [6, 84], [6, 82], [6, 84], [6, 86], [6, 89], [6, 89], [12, 87], [12, 86], [6, 82], [18, 84], [6, 82], [6, 86], [6, 82], [6, 77], [6, 79], [6, 77], [12, 74], [12, 86], [12, 84], [12, 82], [12, 79], [12, 81], [12, 82], [12, 84], [12, 86], [12, 87], [12, 89], [60, 84], [24, 79], [12, 77], [24, 79], [24, 82], [24, 77], [24, 74], [48, 72], [12, 74], [12, 82], [24, 86], [156, 79], [24, 79], [12, 77], [24, 79], [24, 82], [24, 77], [24, 74], [48, 72], [12, 74], [12, 82], [24, 86], [924, 79], [12, 82], [12, 81], [12, 79], [6, 77], [18, 79], [12, 82], [12, 84], [12, 86], [12, 77], [12, 82], [12, 86], [30, 84], [6, 79], [6, 91], [6, 89], [6, 91], [6, 89], [12, 91], [12, 86], [12, 84], [12, 82], [12, 79], [12, 82], [12, 84], [6, 86], [6, 77], [6, 87], [6, 87], [12, 86], [12, 82], [60, 84], [12, 79], [12, 86], [12, 82], [12, 79], [6, 74], [6, 77], [12, 79], [6, 84], [6, 82], [6, 84], [6, 86], [6, 89], [6, 89], [12, 87], [12, 86], [6, 82], [18, 84], [6, 82], [6, 86], [6, 82], [6, 77], [6, 79], [6, 77], [12, 74], [12, 86], [12, 84], [12, 82], [12, 79], [12, 81], [12, 82], [12, 84], [12, 86], [12, 87], [12, 89], [60, 84], [24, 79], [12, 77], [24, 79], [24, 82], [24, 77], [24, 74], [48, 72], [12, 74], [12, 82], [24, 86], [156, 79], [24, 79], [12, 77], [24, 79], [24, 82], [24, 77], [24, 74], [48, 72], [12, 74], [12, 82], [24, 86], [24, 79]] , [[1488, 0], [6, 91], [12, 94], [6, 91], [12, 96], [2268, 98], [6, 91], [12, 94], [6, 91], [12, 96], [1932, 98], [36, 70], [12, 69], [36, 70], [12, 69], [36, 67], [12, 62], [36, 72], [12, 74], [84, 70], [36, 77], [12, 75], [12, 74], [24, 70], [24, 72], [36, 70], [12, 69], [36, 70], [12, 69], [36, 67], [12, 62], [36, 72], [12, 74], [84, 70], [36, 77], [12, 75], [12, 74], [24, 70], [24, 72], [96, 86], [96, 84], [36, 86], [36, 84], [24, 82], [48, 75], [48, 72], [72, 74], [12, 75], [84, 77], [12, 79], [12, 81], [24, 82], [24, 84], [24, 86], [24, 82], [96, 75], [96, 86], [96, 84], [36, 86], [36, 84], [24, 82], [48, 75], [48, 72], [72, 74], [12, 75], [84, 77], [12, 79], [12, 81], [24, 82], [24, 84], [24, 86], [24, 82], [96, 75], [0, 70], [36, 65], [60, 63], [84, 72], [12, 67], [96, 70], [0, 67], [96, 51], [0, 70], [36, 65], [60, 63], [84, 72], [12, 67], [96, 70], [0, 67], [480, 51], [36, 70], [12, 69], [36, 70], [12, 69], [36, 67], [12, 62], [36, 72], [12, 74], [84, 70], [36, 77], [12, 75], [12, 74], [24, 70], [24, 72], [36, 70], [12, 69], [36, 70], [12, 69], [36, 67], [12, 62], [36, 72], [12, 74], [84, 70], [36, 77], [12, 75], [12, 74], [24, 70], [24, 72], [96, 86], [96, 84], [36, 86], [36, 84], [24, 82], [48, 75], [48, 72], [72, 74], [12, 75], [84, 77], [12, 79], [12, 81], [24, 82], [24, 84], [24, 86], [24, 82], [96, 75], [96, 86], [96, 84], [36, 86], [36, 84], [24, 82], [48, 75], [48, 72], [72, 74], [12, 75], [84, 77], [12, 79], [12, 81], [24, 82], [24, 84], [24, 86], [24, 82], [96, 75], [0, 70], [36, 65], [60, 63], [84, 72], [12, 67], [96, 70], [0, 67], [96, 51], [0, 70], [36, 65], [60, 63], [84, 72], [12, 67], [96, 70], [0, 67], [0, 51]] , [[24, 55], [24, 67], [24, 55], [24, 67], [24, 58], [24, 70], [24, 51], [12, 53], [12, 65], [24, 55], [24, 67], [24, 55], [24, 67], [24, 58], [24, 70], [12, 51], [12, 63], [12, 53], [18, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [24, 63], [6, 65], [12, 53], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [42, 63], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [24, 63], [6, 65], [12, 53], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [42, 63], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [24, 63], [6, 65], [12, 53], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [42, 63], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [24, 63], [6, 65], [12, 53], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [42, 63], [6, 51], [24, 63], [6, 51], [12, 63], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [24, 65], [6, 53], [12, 65], [6, 53], [24, 65], [6, 53], [12, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [42, 67], [6, 51], [24, 63], [6, 51], [12, 63], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [24, 65], [6, 53], [12, 65], [6, 53], [24, 65], [6, 53], [12, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [42, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 53], [24, 65], [6, 53], [12, 65], [6, 50], [24, 62], [6, 50], [12, 62], [6, 51], [42, 63], [6, 55], [24, 67], [6, 55], [18, 67], [6, 60], [18, 48], [6, 48], [12, 60], [6, 46], [24, 58], [6, 46], [12, 58], [6, 53], [42, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 53], [24, 65], [6, 53], [12, 65], [6, 50], [24, 62], [6, 50], [12, 62], [6, 51], [42, 63], [6, 55], [24, 67], [6, 55], [18, 67], [6, 60], [18, 48], [6, 48], [12, 60], [6, 46], [24, 58], [6, 46], [12, 58], [6, 53], [42, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [24, 63], [6, 65], [12, 53], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [42, 63], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [24, 63], [6, 65], [12, 53], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [42, 63], [6, 51], [24, 63], [6, 51], [12, 63], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [24, 65], [6, 53], [12, 65], [6, 53], [24, 65], [6, 53], [12, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [42, 67], [6, 51], [24, 63], [6, 51], [12, 63], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [24, 65], [6, 53], [12, 65], [6, 53], [24, 65], [6, 53], [12, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [42, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 53], [24, 65], [6, 53], [12, 65], [6, 50], [24, 62], [6, 50], [12, 62], [6, 51], [42, 63], [6, 55], [24, 67], [6, 55], [18, 67], [6, 60], [18, 48], [6, 48], [12, 60], [6, 46], [24, 58], [6, 46], [12, 58], [6, 53], [42, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 53], [24, 65], [6, 53], [12, 65], [6, 50], [24, 62], [6, 50], [12, 62], [6, 51], [42, 63], [6, 55], [24, 67], [6, 55], [18, 67], [6, 60], [18, 48], [6, 48], [12, 60], [6, 46], [24, 58], [6, 46], [12, 58], [6, 53], [42, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [24, 65], [6, 53], [12, 65], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [42, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [24, 65], [6, 53], [12, 65], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [42, 65], [6, 46], [24, 58], [6, 58], [12, 46], [6, 46], [24, 58], [6, 58], [12, 46], [6, 53], [24, 65], [6, 65], [12, 53], [6, 53], [24, 65], [6, 65], [12, 53], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 63], [18, 51], [6, 63], [18, 51], [6, 53], [12, 65], [6, 46], [24, 58], [6, 58], [12, 46], [6, 46], [24, 58], [6, 58], [12, 46], [6, 53], [24, 65], [6, 65], [12, 53], [6, 53], [24, 65], [6, 65], [12, 53], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 63], [12, 51], [6, 51], [42, 63], [6, 46], [24, 58], [6, 58], [12, 46], [6, 46], [24, 58], [6, 58], [12, 46], [6, 53], [24, 65], [6, 65], [12, 53], [6, 53], [24, 65], [6, 65], [12, 53], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 63], [18, 51], [6, 63], [18, 51], [6, 53], [12, 65], [6, 46], [24, 58], [6, 58], [12, 46], [6, 46], [24, 58], [6, 58], [12, 46], [6, 53], [24, 65], [6, 65], [12, 53], [6, 53], [24, 65], [6, 65], [12, 53], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 63], [12, 51], [6, 51], [810, 63], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [24, 63], [6, 65], [12, 53], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 55], [12, 67], [6, 58], [24, 70], [6, 58], [12, 70], [6, 51], [42, 63], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [24, 65], [6, 53], [12, 65], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [42, 65], [6, 55], [24, 67], [6, 55], [12, 67], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [24, 65], [6, 53], [12, 65], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 51], [12, 63], [6, 53], [42, 65], [6, 46], [24, 58], [6, 58], [12, 46], [6, 46], [24, 58], [6, 58], [12, 46], [6, 53], [24, 65], [6, 65], [12, 53], [6, 53], [24, 65], [6, 65], [12, 53], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 63], [18, 51], [6, 63], [18, 51], [6, 53], [12, 65], [6, 46], [24, 58], [6, 58], [12, 46], [6, 46], [24, 58], [6, 58], [12, 46], [6, 53], [24, 65], [6, 65], [12, 53], [6, 53], [24, 65], [6, 65], [12, 53], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 63], [12, 51], [6, 51], [42, 63], [6, 46], [24, 58], [6, 58], [12, 46], [6, 46], [24, 58], [6, 58], [12, 46], [6, 53], [24, 65], [6, 65], [12, 53], [6, 53], [24, 65], [6, 65], [12, 53], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 63], [18, 51], [6, 63], [18, 51], [6, 53], [12, 65], [6, 46], [24, 58], [6, 58], [12, 46], [6, 46], [24, 58], [6, 58], [12, 46], [6, 53], [24, 65], [6, 65], [12, 53], [6, 53], [24, 65], [6, 65], [12, 53], [6, 55], [24, 67], [6, 67], [12, 55], [6, 55], [24, 67], [6, 53], [12, 65], [6, 51], [24, 63], [6, 63], [12, 51], [6, 51], [6, 63]] , [[384, 0], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [816, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70], [48, 70]] , [[8436, 0], [6, 67], [378, 67], [6, 67], [3066, 67], [6, 67], [378, 67], [6, 67], [6, 67]] , [[8064, 0], [24, 62], [48, 62], [24, 63], [48, 63], [24, 53], [24, 53], [24, 67], [60, 67], [36, 67], [72, 51], [24, 62], [48, 62], [24, 63], [48, 63], [24, 53], [24, 53], [24, 67], [60, 67], [36, 67], [2760, 51], [24, 62], [48, 62], [24, 63], [48, 63], [24, 53], [24, 53], [24, 67], [60, 67], [36, 67], [72, 51], [24, 62], [48, 62], [24, 63], [48, 63], [24, 53], [24, 53], [24, 67], [60, 67], [36, 67], [36, 51]] , ]; const song = [ { name: 'Drum 1', synth: snare, notes: tracks[0], adsr: { attack: 0.01, decay: 0.5, sustain: 0.0, amp: 0.9 } },{ name: 'Dingding', synth: sinus, notes: tracks[1], adsr: { attack: 0.01, decay: 0.5, sustain: 0.0, amp: 0.5 } },{ name: 'Piano', synth: saw, notes: tracks[2], adsr: { attack: 0.01, decay: .4, sustain: 0.0, amp: 0.3 }, },{ name: 'Vibrato1', synth: fm, iom: 7.23, notes: tracks[3], transpose: -12, adsr: { attack: 0.01, decay: 0.3, sustain: 0.0, amp: 0.4 } },{ name: 'Wave', synth: saw, notes: tracks[4], adsr: { attack: 0.01, decay: 0.2, sustain: 0.0, amp: 0.9 } },{ name: 'Vibrato2', synth: saw, notes: tracks[5], adsr: { attack: 0.01, decay: 0.5, sustain: 0.0, amp: 0.5 } },{ name: 'Flute1', synth: saw, notes: tracks[6], adsr: { attack: 0.01, decay: 0.1, sustain: 0.0, amp: 0.9 } },{ name: 'Klick', synth: hihat, notes: tracks[7], adsr: { attack: 0.01, decay: 0.1, sustain: 0, amp: 0.9 } },{ name: 'Bassdrum', synth: bassdrum, notes: tracks[8], adsr: { attack: 0.01, decay: 0.2, sustain: 0, amp: 0.9 } },{ name: 'Drum2', synth: snare, notes: tracks[9], adsr: { attack: 0.01, decay: 0.01, sustain: 0, amp: 0.9 } },{ name: 'Zisch', synth: saw, notes: tracks[10], adsr: { attack: 0.01, decay: 0.5, sustain: 0.0, amp: 0.9 } } ]; input.speed = 0.4; // Play it, Sam! ditty.bpm = 120; for (let track of song) { loop(ST128, track); }