Skip to content

Instantly share code, notes, and snippets.

@danieltroger
Created September 4, 2015 15:50
Show Gist options
  • Select an option

  • Save danieltroger/9f5f7a139f85a078a2d3 to your computer and use it in GitHub Desktop.

Select an option

Save danieltroger/9f5f7a139f85a078a2d3 to your computer and use it in GitHub Desktop.
Deobfuscated synth (synth.bitsnbites.eu/)
<!DOCTYPE HTML>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>JavaScript 4k sound synth</title>
<style type="text/css">
* { margin:0; padding:0 }
html { background:#000 }
#footer { background:#111; color:#777; font-size:12px; position:fixed; left:0; bottom:0; height:20px; width:100% }
</style>
</head><body><div id="footer"><pre id="stat"> Generating some music (which is always the same...)</pre></div><canvas id="canvas"></canvas><script type="text/javascript">
// Generated sound: https://leetfil.es/file/9130dc6e
var ctx = (function () {
var d=document, w=window, c=d.getElementById('canvas'),
ctx = c.getContext('2d');
function resize() {
c.width = w.innerWidth;
c.height = w.innerHeight - 20;
};
resize();
w.addEventListener('resize', resize, false);
return ctx;
})();
var i = document,
e = i.createElement('canvas'),
j = e.getContext('2d'),
g = new Image,
k = g.style;
k.position = 'absolute';
k.left = '-17000px';
i.body.appendChild(g);
g.onload = function() {
var a = '', b = 0, c, d;
e.width = this.offsetWidth;
e.height = this.offsetHeight;
j.drawImage(this, 0, 0);
b = 0;
d = j.getImageData(0, 0, e.width, e.height).data;
function J() {
function u(a) {
return Math.sin(a * 6.283184)
}
function p(a) {
if (u(a) < 0) return -1;
return 1
}
function q(a) {
return a % 1 - 0.5
}
function v(a) {
a = (q(a) + 0.5) * 4;
if (a < 2) return a - 1;
return 3 - a
}
function s(a) {
var b = 1.059463094;
a < 0 && (a = -a, b = 1 / b);
for (var c = 1; a > 0; --a) c *= b;
return c
}
var o = {
K: [{
v: 9,
t: 0,
u: 0,
A: 0,
w: 161,
z: 0,
D: 9,
B: 0,
C: 4,
H: 0,
F: 182,
G: 0,
s: 0,
e: 100,
h: 1818,
g: 18181,
f: 192,
k: 0,
l: 0,
n: 254,
j: 6,
i: 108,
b: 3,
m: 61,
q: 0,
p: 0,
c: 3,
o: 94,
r: 2,
I: [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
d: [{
a: [142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 138, 0, 0, 0]
}, {
a: [140, 0, 138, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 142, 0, 140, 0, 135, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0]
}, {
a: [135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 142, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 138, 0, 0, 0]
}, {
a: [123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [119, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}]
}, {
v: 8,
t: 0,
u: 0,
A: 0,
w: 0,
z: 0,
D: 8,
B: 0,
C: 0,
H: 0,
F: 0,
G: 0,
s: 19,
e: 100,
h: 0,
g: 3636,
f: 192,
k: 1,
l: 8100,
n: 156,
j: 2,
i: 22,
b: 3,
m: 43,
q: 0,
p: 0,
c: 0,
o: 0,
r: 0,
I: [0, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
d: [{
a: [135, 0, 135, 0, 0, 135, 0, 135, 135, 0, 135, 0, 0, 135, 0, 135, 135, 0, 135, 0, 0, 135, 0, 135, 135, 0, 135, 0, 0, 135, 0, 135]
}, {
a: [135, 0, 135, 0, 0, 135, 0, 135, 135, 0, 135, 0, 0, 135, 0, 135, 135, 0, 135, 0, 0, 135, 0, 135, 135, 0, 135, 0, 135, 0, 135, 135]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}]
}, {
v: 6,
t: 0,
u: 0,
A: 0,
w: 192,
z: 1,
D: 8,
B: 0,
C: 8,
H: 0,
F: 82,
G: 2,
s: 0,
e: 100,
h: 4545,
g: 2727,
f: 192,
k: 3,
l: 2700,
n: 85,
j: 6,
i: 60,
b: 6,
m: 86,
q: 0,
p: 1,
c: 7,
o: 106,
r: 0,
I: [0, 0, 0, 0, 1, 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
d: [{
a: [135, 135, 147, 135, 0, 135, 147, 135, 135, 135, 147, 135, 0, 135, 147, 135, 135, 135, 147, 135, 0, 135, 147, 135, 135, 135, 147, 135, 0, 135, 147, 135]
}, {
a: [140, 140, 152, 140, 0, 140, 152, 140, 140, 140, 152, 140, 0, 140, 152, 140, 140, 140, 152, 140, 0, 140, 152, 140, 140, 140, 152, 140, 0, 140, 152, 142]
}, {
a: [131, 131, 143, 131, 0, 131, 143, 131, 131, 131, 143, 131, 0, 131, 143, 131, 138, 138, 150, 138, 0, 138, 150, 138, 138, 138, 150, 138, 0, 138, 150, 137]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}]
}, {
v: 7,
t: 0,
u: 0,
A: 0,
w: 187,
z: 2,
D: 5,
B: 0,
C: 2,
H: 1,
F: 161,
G: 2,
s: 0,
e: 100,
h: 1818,
g: 2727,
f: 123,
k: 1,
l: 1900,
n: 162,
j: 2,
i: 153,
b: 6,
m: 61,
q: 0,
p: 1,
c: 2,
o: 196,
r: 3,
I: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
d: [{
a: [135, 135, 138, 135, 142, 135, 140, 138, 135, 135, 138, 135, 142, 135, 140, 138, 135, 135, 138, 135, 142, 135, 140, 138, 135, 135, 138, 135, 142, 135, 140, 138]
}, {
a: [143, 143, 155, 143, 0, 143, 155, 143, 143, 143, 150, 143, 147, 143, 140, 143, 138, 138, 143, 138, 143, 140, 138, 140, 138, 138, 143, 138, 142, 140, 138, 140]
}, {
a: [135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}]
}, {
v: 8,
t: 0,
u: 0,
A: 1,
w: 192,
z: 0,
D: 7,
B: 0,
C: 0,
H: 1,
F: 70,
G: 2,
s: 8,
e: 100,
h: 0,
g: 9090,
f: 164,
k: 2,
l: 5500,
n: 240,
j: 6,
i: 51,
b: 3,
m: 66,
q: 0,
p: 0,
c: 0,
o: 0,
r: 0,
I: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
d: [{
a: [135, 0, 0, 0, 0, 0, 135, 0, 0, 0, 135, 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 135, 0, 0, 0, 135, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}]
}, {
v: 7,
t: 0,
u: 0,
A: 0,
w: 192,
z: 2,
D: 8,
B: 0,
C: 6,
H: 0,
F: 184,
G: 2,
s: 21,
e: 4E4,
h: 25454,
g: 90909,
f: 77,
k: 2,
l: 7100,
n: 188,
j: 8,
i: 147,
b: 4,
m: 69,
q: 0,
p: 1,
c: 7,
o: 176,
r: 1,
I: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
d: [{
a: [135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}]
}, {
v: 8,
t: 0,
u: 0,
A: 0,
w: 0,
z: 0,
D: 8,
B: 0,
C: 0,
H: 0,
F: 0,
G: 0,
s: 148,
e: 3636,
h: 4545,
g: 39090,
f: 136,
k: 2,
l: 3100,
n: 122,
j: 5,
i: 132,
b: 0,
m: 0,
q: 0,
p: 1,
c: 5,
o: 147,
r: 0,
I: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 1, 2, 1, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
d: [{
a: [0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 162, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 135, 0, 135, 0, 0, 0, 0, 0]
}, {
a: [135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
a: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}]
}],
J: 5605,
N: 30
},
m, l;
this.L = o.K.length;
this.Q = 44100 / o.J;
this.P = function() {
var a = Math.ceil(Math.sqrt(5512500));
m = document.createElement("canvas").getContext("2d").createImageData(a, a).data;
for (var b = document.createElement("canvas").getContext("2d").createImageData(a, a).data, a = a * a * 4 - 2; a >= 0; a -= 2) b[a] = 0, b[a + 1] = 128;
l = b
};
this.O = function(a) {
var b, c, h, e, d, C, w, A, D, E, F, G, x, y, t, k, i, r, g, n, H, I, z, f = m,
B = l;
c = [u, p, q, v];
z = o.J;
a = o.K[a];
for (b = 0; b < 2205E4; b += 2) f[b] = 0, f[b + 1] = 128;
b = c[a.r];
H = c[a.z];
I = c[a.G];
for (c = d = 0; c < o.N - 1; ++c) {
C = a.I[c];
for (h = 0; h < 32; ++h) {
if (C && (e = a.d[C - 1].a[h])) {
w = a.e;
A = a.h;
D = a.g;
E = F = 0;
G = a.n / 255;
x = y = 0;
for (j = w + A + D - 1; j >= 0; --j) {
k = j + d;
i = (a.c - 8 >= 0 ? 1 << a.c - 8 : 1 / (1 << -(a.c - 8))) * k / z;
t = b(i) * a.o / 512 + 0.5;
r = 1;
j < w ? r = j / w : j >= w + A && (r -= (j - w - A) / D);
i = 0.00390625 * s(e + (a.v - 8) * 12 + a.t - 128) * (1 + 0.2 * a.u / 255);
a.q && (i += t);
a.A && (i *= r * r);
E += i;
g = H(E);
n = g * a.w / 255;
i = 0.00390625 * s(e + (a.D - 8) * 12 + a.B - 128) * (1 + 0.2 * a.C / 255);
a.H && (i *= r * r);
F += i;
g = I(F);
n += g * a.F / 255 + u(Math.random()) * a.s / 255 * r;
n *= r;
i = a.l;
a.p && (i *= t);
i = 1.5 * Math.sin(i * 3.141592 / 44100);
x += i * y;
t = G * (n - y) - x;
y += i * t;
switch (a.k) {
case 1:
n = t;
break;
case 2:
n = x;
break;
case 3:
n = y;
break;
case 4:
n = x + t
}
i = u((a.b - 8 >= 0 ? 1 << a.b - 8 : 1 / (1 << -(a.b - 8))) * k / z) * a.m / 512 + 0.5;
n *= 150 * a.f;
g = f[k * 4] + (f[k * 4 + 1] << 8) + n * (1 - i);
f[k * 4] = g & 255;
f[k * 4 + 1] = g >> 8 & 255;
g = f[k * 4 + 2] + (f[k * 4 + 3] << 8) + n * i;
f[k * 4 + 2] = g & 255;
f[k * 4 + 3] = g >> 8 & 255
}
}
d += z
}
}
c = a.j * z >> 1;
i = a.i / 255;
for (e = 0; e < 5512500 - c; ++e) b = 4 * e, k = 4 * (e + c), g = f[k] + (f[k + 1] << 8) + (f[b + 2] + (f[b + 3] << 8) - 32768) * i, f[k] = g & 255, f[k + 1] = g >> 8 & 255, g = f[k + 2] + (f[k + 3] << 8) + (f[b] + (f[b + 1] << 8) - 32768) * i, f[k + 2] = g & 255, f[k + 3] = g >> 8 & 255;
for (b = 0; b < 2205E4; b += 2) g = B[b] + (B[b + 1] << 8) + f[b] + (f[b + 1] << 8) - 32768, g = g > 65535 ? 65535 : g < 0 ? 0 : g, B[b] = g & 255, B[b + 1] = g >> 8 & 255
};
this.M = function() {
var a, b, c, h, e = l;
m = null;
h = String.fromCharCode(82, 73, 70, 70, 200, 116, 80, 1, 87, 65, 86, 69, 102, 109, 116, 32, 16, 0, 0, 0, 1, 0, 2, 0, 68, 172, 0, 0, 16, 177, 2, 0, 4, 0, 16, 0, 100, 97, 116, 97, 164, 116, 80, 1);
for (a = 0; a < 2205E4;) {
c = "";
for (b = 0; b < 128 && a < 2205E4; ++b, a += 4) c += String.fromCharCode(e[a], e[a + 1] - 128 & 255, e[a + 2], e[a + 3] - 128 & 255);
h += c
}
return new Audio("data:audio/wav;base64," + window.btoa(h));
};
this.getData = function(a) {
for (var b = Math.floor(a * 44100), c = 0, h = [], e = l; c < 1E3; c += 2) {
var d = 4 * (b + c) + 1;
h.push(a > 0 && d < e.length ? (e[d] + e[d - 1] / 256) / 256 : 0.5)
}
return h
}
}(new function() {
function u() {
var a;
if (q > p.L) a = !1;
else {
a = ctx.canvas.width;
var b = ctx.canvas.height,
c;
ctx.fillStyle = "rgb(0,0,0)";
ctx.fillRect(0, 0, a, b);
ctx.fillStyle = "rgb(25,26,20)";
ctx.fillRect(0, b * 0.43, a, b * 0.14);
for (c = 0; c <= q; ++c) ctx.fillStyle = "rgb(" + (200 - c * 16) + "," + (50 + c * 16) + ",30)", ctx.fillRect(a * (c + 0.1) / 8, b * 0.45, a * 0.1, b * 0.1);
q || (s = (new Date).getTime());
q < p.L ? p.O(q) : (v = p.M(), s = ((new Date).getTime() - s) / 1E3, v.loop = !0, v.play(), document.getElementById("stat").innerHTML = " Generation time: " + s + " s");
++q;
a = !0
}
if (!a) {
var h, e, d;
a = v.currentTime;
b = (new Date).getTime() / 1E3;
dt = 0.1;
a > 0 && (o && m + b - o - a < 9 ? (dt = b - o, m += dt) : m = a);
o = b;
a = m * p.Q;
h = !1;
if (a >= 384 && a < 768) switch (a & 31) {
case 0:
case 6:
case 10:
case 16:
case 22:
case 26:
h = !0
}
b = ctx.canvas.width;
c = ctx.canvas.height;
d = (h ? 50 : 8) * dt;
ctx.fillStyle = "rgba(" + ((h ? "20,25,35," : "0,0,0,") + (d > 1 ? 1 : d)) + ")";
ctx.fillRect(0, 0, b, c);
e = p.getData(m);
ctx.strokeStyle = "rgb(100,100,0)";
ctx.beginPath();
ctx.moveTo(0, e[0] * c);
for (d = 1; d < e.length; ++d) ctx.lineTo(d * b / (e.length - 1), e[d] * c);
ctx.stroke();
if (h) d = a & 4095, h = b * (0.5 + 0.4 * Math.sin(d * 132.6)), e = c * (0.5 + 0.4 * Math.sin(d * 93.7)), ctx.fillStyle = "rgba(100,100,100,0.5)", d = b * 0.1 * (d + 1 - a), ctx.fillRect(h - d / 2, e - d / 2, d, d);
for (d = 0; d < l.length; ++d)
if (a > l[d][0]) h = b * (0.5 + 0.4 * Math.sin(l[d][1] * m + l[d][2])), e = c * (0.5 + 0.4 * Math.cos(l[d][3] * m + l[d][4])), ctx.fillStyle = l[d][5], ctx.fillRect(h - 5, e - 5, 10, 10)
}
}
var p = new J,
q = 0,
v, s, o = null,
m = 0,
l = [
[0, 1, 0, 1.4, 0, "rgb(255,100,100)"],
[16, 1.2, 0.9, 0.87, 1.3, "rgb(100,255,100)"],
[24, 1.13, 1.9, 1.27, 3.3, "rgb(100,100,255)"],
[32, 0.81, 2.3, 1.12, 2.4, "rgb(220,220,80)"]
];
this.R = function() {
p.P();
setInterval(u, 1)
}
}).R();
};
g.src = 'data:image/png;base64,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';
</script>
</body></html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment