Hacker News new | ask | show | jobs
by droidist2 2975 days ago
This is pretty sweet. It'd be cool to have more examples though like square wave, triangle wave, etc. and maybe some simple effects like tremolo.
2 comments

    let amp = 0;
    const maxamp = 0.5;
    const freq = 880;

    function loop(numFrames, outL, outR, sampleRate) {
        const steps = sampleRate / freq;
        const delta = maxamp/steps;
  
        for (let i = 0; i < numFrames; i++) {
            amp += delta;
            outL[i] = amp;
            outR[i] = amp;

            if (amp > maxamp) amp = 0.0; 
         }
    }