Dreamybull Toilet

.

Log in to post a comment.

const glitchySynth = synth.def((phase, env, tick) => {
    return (Math.sin(phase * Math.PI * 3) + Math.random() * 0.5) * Math.exp(-tick * 0.001) * env.value;
}, { attack: 0.01, release: 0.05, env: adsr2 });

const noisySynth = synth.def((phase, env, tick) => {
    return (Math.random() - 0.5) * Math.exp(-tick * 0.1) * env.value;
}, { attack: 0.005, release: 0.05, env: adsr2 });

const lowFreq = [60, 65, 70, 75, 80]; 
const highFreq = [2000, 2200, 2400, 2600, 2800]; 

function randomSequence() {
    const freq = Math.random() > 0.5 ? lowFreq : highFreq;
    const note = freq[Math.floor(Math.random() * freq.length)];
    return note;
}

loop(() => {
    
    ditty.bpm = lerp(40, 180, Math.random()); 

    for (let i = 0; i < 50; i++) {
        glitchySynth.play(randomSequence(), { amp: Math.random() * 2, pan: Math.random() * 2 - 1 });
        sleep(60 / ditty.bpm * Math.random() * 0.5); 
    }

    for (let i = 0; i < 30; i++) {
        noisySynth.play(randomSequence(), { amp: Math.random() * 0.5, pan: Math.random() * 2 - 1 });
        sleep(60 / ditty.bpm * 0.2); 
    }

    for (let i = 0; i < 40; i++) {
        glitchySynth.play(randomSequence(), { amp: Math.random() * 4, pan: Math.random() * 2 - 1 });
        sleep(60 / ditty.bpm * 0.1); 
    }

    for (let i = 0; i < 20; i++) {
        glitchySynth.play(randomSequence(), { amp: Math.random() * 3, pan: Math.random() * 2 - 1 });
        noisySynth.play(randomSequence(), { amp: Math.random() * 1.5, pan: Math.random() * 2 - 1 });
        sleep(60 / ditty.bpm * 0.15); 
    }

    for (let i = 0; i < 10; i++) {
        glitchySynth.play(randomSequence(), { amp: Math.random() * 6, pan: Math.random() * 2 - 1 });
        noisySynth.play(randomSequence(), { amp: Math.random() * 2, pan: Math.random() * 2 - 1 });
        sleep(60 / ditty.bpm * Math.random() * 0.2); 
    }
});