Use TurboWarp for good performance: https://turbowarp.org/1268082955/ or Forkphorus: https://forkphorus.github.io/#1268082955 What is this? See the description of the original project by @SpinningCube What I've changed: - Increased FFT size to 1024 samples - The amplitude of the sine waves now depends on their current randomized frequency - for this instead of multiplying by the window function before doing the FFT, I convolved the output of the FFT with the FT of the window function. This lets getting an amplitude for fractional frequencies - If the samle rate is changed to something that isn't 16000sample/s, that is now handled by changing the pitch effect of the sound instead of doing nearest neighbor interpolation - Added something to prevent the glitched loud sound at the start, hopefully without destroying the speaker Music is still Never Gonna Give You Up by Rick Astley