let db = 900000, rd, f = 3;
let n = 0.844, c = 15, mx = 1;
soundFormats('mp3', "wav");
song = loadSound('dub.mp3');
for (let i = 0; i < db; i++)
nn[i] = random(0.5, 1.4);
let spectrum = fft.analyze();
let bass, lowMid, mid, highMid, treble;
bass = fft.getEnergy("bass");
lowMid = fft.getEnergy("lowMid");
mid = fft.getEnergy("mid");
treble = fft.getEnergy("treble");
Bass = map(bass, 0, 300, -500, 1500, true)/.8
Bass2= map(bass, 0, 300, 0, 255, true)/.8
LowMid = map(lowMid, 0, 100, 0, 200, true);
Mid = map(mid, 0, 300, 0, 200, true);
Treble = map(treble, 0, 300, 0, 200, true);
treeposition=random(-100,100)
background( random(100,200),0,0);
if(Bass!=-625) background( (Bass2/15) +random(-10,10))
if(Bass>1400) fill("red");
strokeWeight((Bass2/10)+random(3))
if(Bass>1400 && Bass<1470) ellipse(500, 300, Bass/1.5, Bass/1.5);
else ellipse(500, 300, 400, 400);
ellipse(500, 1500, 1700, 1700);
mx = map(Treble/5, 100, height - 200, 1, 2);
c = 20 - float(Mid / 50);
let x = 850, y = 900, u = 1;
strokeWeight((((h * h * 8) / 80) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
if(Bass<1400) as = (float(Bass/1.8 - 500) / 500)
else as = (float(Bass/1.8 - 500) / 500)+random(-5,5)
strokeWeight((((h * h * 8) / 50) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 60) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 60) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 70) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 80) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 70) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 80) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 80) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 80) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 80) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 80) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 80) + 0.1));
stroke((50 / h) - 18, 100, 2 / h);
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));
strokeWeight((((h * h * 8) / 80) + 0.1));
line(0, 0, 0, -(h * nn[rd]));
translate(0, -(h * nn[rd]));