FYI, in Chrome on Linux, there's a glitchy crackling noise. Maybe a buffer under run or something. It happens a lot more often if you strum lots of strings quickly.
It also happens in Firefox but a lot less.
It also happens in Firefox but a lot less.
This shouldn't happen.
The main reason is the use of createScriptProcessor.
This should be replaced with AudioWorklet. Use WASM + SharedArraybuffer for calculation.
The visual of picking the strings is great, I spent a lot of time on it, I believe the vote is also a recognition of this.
Here is a similar idea (karplus) implemented with Rust + WASM, which is much better in terms of audio quality:
https://jackschaedler.github.io/karplus-stress-tester/
I also wrote a simple api to use Rust wasm audio here:
If you are interested in doing some use cases, leave a message. I am actively maintaining it recently.